導航:首頁 > 源碼編譯 > 編譯目錄中的源碼

編譯目錄中的源碼

發布時間:2022-07-13 08:04:16

1. 求解java多目錄源碼用javac怎麼編譯

寫到一半學校斷網,重新手打、、、=_=
以下是我原來寫好的部分:
其實我原來也不會,但是看了樓主的問題,我摸索了一下。
首先我在終端里輸入javac,彈出了幾個參數選項的解釋,其中有一個:
-classpath <路徑>
所以我猜它應該是可以添加搜索路徑之類的參數。
我寫了兩個java文件,放在兩個路徑下,其中有主函數的文件為:
package com.test;

import com2.test2.*;

public class testMult {

public static void main(String args[]) {

Mult m = new Mult();

m.a = "asd";

System.out.println(m.a);

}

}
可見我import了一個com2.test2的包,下面是這個包里的Java文件:
package com2.test2;

public class Mult {

public String a;

}
然後我在終端輸入了:
javac -classpath /Users/wulin/Documents/workspace/TestMultiDir/src /Users/wulin/Documents/workspace/TestMultiDir/src/com/test/testMult.java
然後編譯成功了。
其中值得注意的是classpath添加的路徑是包所在的目錄,在這里也就是com2所在的目錄 /Users/wulin/Documents/workspace/TestMultiDir/src
我用的系統是mac os,所以樓主如果用的是windows,那麼路徑分隔的符號可能要注意一下。

2. 如何單獨編譯安卓系統源碼指定模塊

android源碼目錄下的build/envsetup.sh文件,描述編譯的命令

- m: Makes from the top of the tree.

- mm: Builds all of the moles in the current directory.

- mmm: Builds all of the moles in the supplied directories.

要想使用這些命令,首先需要在android源碼根目錄執行. build/envsetup.sh 腳本設置環境

m:編譯所有的模塊

mm:編譯當前目錄下的模塊,當前目錄下要有Android.mk文件

mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件

下面舉個例子說明,假設我要編譯android下的\hardware\libhardware_legacy\power模塊,當前目錄為源碼根目錄,方法如下:

1、. build/envsetup.sh

2、mmm hardware/libhardware_legacy/power/

編譯完後 運行 make snod

會重新將你改過的模塊打入到system.img中

3. 如何編譯linux操作系統的源代碼

首先uname
-r看一下你當前的linux內核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname
-r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核
make
menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make
bzImage、make
moles、make
moles
4、安裝,make
install
5、.創建系統啟動映像,到
/boot
目錄下,執行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於
/boot/grub/grub.cfg
文件的設置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改
set
default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make
menuconfig這一步,改好後就萬事ok了。
最後再用uname
-r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?

4. 如何編譯一個現有的源碼[C++, VS2010]

你打開工程,然後對工程右鍵生成,在工程目錄下會生成一個debug或者release文件夾,該文件夾下面就有exe可執行文件

5. 自己可以編譯安卓源碼嗎

用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:

sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」

其中[email protected]為你自己的郵箱.

簡要說明

android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.

源碼下載

由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)

repo工具下載及安裝

通過執行以下命令實現repo工具的下載和安裝

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:

我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:


這里寫圖片描述

執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.

錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.

    結束吧

    到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    6. 如何編譯linux源代碼

    首先uname -r看一下你當前的linux內核版本

    1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
    2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
    3、編譯,依次執行make、make bzImage、make moles、make moles
    4、安裝,make install
    5、.創建系統啟動映像,到 /boot 目錄下,執行 mkinitramfs -o initrd.img-2.6.36 2.6.36
    6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於 /boot/grub/grub.cfg 文件的設置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
    menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
    linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
    initrd/boot/initrd.img-3.2.0-35-generic
    }
    當然你也可以修改 set default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。

    重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好後就萬事ok了。

    最後再用uname -r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?

    7. Linux中源碼編譯安裝程序包括哪些基本步驟

    第一步:創建編譯腳本
    進入到源碼目錄 執行 ./configure --prefix=/.../.....(--prefix=後面是想要安裝到的目錄)
    第二部:編譯
    執行 make
    第三部:安裝
    執行 make install
    當然上面這幾部都是最基本的步驟,如果想優化編譯,要在./configure 後面加參數,或者configure之後手動修改Makefile文件 如O2(優化等級) FLAGS 等編譯參數的修改。
    --------------------------------------------------------------------------------------------------------------
    以上都是源碼包的編譯
    如果是自己寫的C代碼 直接 用gcc編譯即可。
    例如 編譯test.c
    執行 gcc -o test test.c即可將test.c編譯為可執行的文件 test

    自己打出來的 要採納啊!

    8. 如何看已經編譯好的java程序的源碼

    web-inf目錄下有class文件夾(得到工作空間去看)

    9. 如何編譯和調試android源碼中platform/system/core下的代碼

    首先在Android源代碼目錄下的build目錄下,有個腳本文件envsetup.sh,執行這個腳本文件後,就可以獲得一些有用的工具:
    USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
    注意,這是一個source命令,執行之後,就會有一些額外的命令可以使用:
    - croot: Changes directory to the top of the tree.
    - m: Makes from the top of the tree.
    - mm: Builds all of the moles in the current directory.
    - mmm: Builds all of the moles in the supplied directories.
    - cgrep: Greps on all local C/C++ files.
    - jgrep: Greps on all local Java files.
    - resgrep: Greps on all local res/*.xml files.
    - godir: Go to the directory containing a file.
    這些命令的具體用法,可以在命令的後面加-help來查看,這里我們只關注mmm命令,也就是可以用它來編譯指定目錄的所有模塊,通常這個目錄只包含一個模塊。

    10. android如何把apk的工程代碼放到源碼目錄下編譯

    啥平台的,是原生的還是高通的還是mtk的?反正都類似,你需要一個Android.mk然後源碼需要整體new過。然後編譯的時候編譯到Android.mk所在目錄就可以了。反正我現在接觸mtk平台的,new代碼方法如下:1、首先到XXXXXX/L23_XXXXXXX_AN5.1_MT6735_65C_L1.MP3.V1.8.9_150503/android_mtk_6753_mp目錄下,使用如下命令./TmakeGionee
    BFL7506A
    -p
    packages/apps/XXXXX(XXXXXX就是你apk代碼所存放的並且與Android.mk同級的目錄)。

    閱讀全文

    與編譯目錄中的源碼相關的資料

    熱點內容
    噴油螺桿製冷壓縮機 瀏覽:577
    python員工信息登記表 瀏覽:375
    高中美術pdf 瀏覽:159
    java實現排列 瀏覽:511
    javavector的用法 瀏覽:980
    osi實現加密的三層 瀏覽:230
    大眾寶來原廠中控如何安裝app 瀏覽:912
    linux內核根文件系統 瀏覽:241
    3d的命令面板不見了 瀏覽:524
    武漢理工大學伺服器ip地址 瀏覽:147
    亞馬遜雲伺服器登錄 瀏覽:523
    安卓手機如何進行文件處理 瀏覽:70
    mysql執行系統命令 瀏覽:929
    php支持curlhttps 瀏覽:142
    新預演算法責任 瀏覽:443
    伺服器如何處理5萬人同時在線 瀏覽:249
    哈夫曼編碼數據壓縮 瀏覽:424
    鎖定伺服器是什麼意思 瀏覽:383
    場景檢測演算法 瀏覽:616
    解壓手機軟體觸屏 瀏覽:348