導航:首頁 > 源碼編譯 > 編譯系統透視源碼

編譯系統透視源碼

發布時間:2022-08-28 05:13:10

1. linux上如何編譯praat源碼,編譯後是windows版程序

我的操作系統是 debian sarge,其中已經有 mingw32 編譯器,只需安裝:

apt-get install mingw32這會安裝好 mingw32 交叉編譯系統,用 i586-mingw32msvc-gcc 即可為 Windows 編譯程序。

在編譯 wxWidgets 的 Windows 版本之前,需要安裝 DirectX 的頭文件。大概是由於版權之類的原因,在 Debian
的 mingw32 中並未包含 DirectX 的頭文件,只包含了 DirectX 的庫,因此需要自己安裝。如果不安裝,在編譯
wxWidgets 的時候會有警告,並且系統不會產生 wxDisplay 這個類。安裝並不復雜,只要從網路上找到相關的頭文件和庫文件,並解壓
/usr/i586-mingw32msvc 目錄中即可。

然後就可以編譯 wxWidgets 了,下載並解壓源碼後,用如下命令可以編譯:

./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --prefix=~/Workshop/mingw32 --enable-monolithic --disable-shared
make; make install-strip
make -C contrib; make -C contrib install-strip

編譯完成後,進入 samples 目錄,隨便找一個常式 make 一下,便可產生 exe 文件了。要執行這個文件,需要
mingwm10.dll 這個文件,在 Debian 中,此文件位於 /usr/share/doc/mingw32-runtime
目錄中,把它復制到當前目錄,便可用 wine 執行了。如果沒有問題,也可以把這個文件仍到 Wine 的 C:\Windows\system32
目錄中。

2. 如何編譯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內核版本。是不是你剛下的那個呢!有沒有成就感?

3. 如何評價《編譯系統透視:圖解編譯原理》一書

本書是編譯原理領域的鴻篇巨著,中文版尚未出版,英文版權已經輸出到了美國。本書的出版將在世界范圍內產生重要影響。從以下多個角度講,本書都具有重要的里程碑意義:
● 它第一次讓編譯原理不再像是一門高深晦澀的「數學課」,而是一個可以調試、可以接觸、可以真切感受的理論體系。本書用1140 余幅信息量巨大的運行時結構圖和視頻動畫取代了同類書中復雜枯燥的數學公式,更加立體和直觀,生動地將編譯後的執行程序在內存中的運行時結構圖展現了出來。
● 它第一次將 GCC 源代碼、編譯原理、運行時結構、編譯系統原理(包含匯編與鏈接)的內在關系、邏輯與原理梳理清楚了,並將它們結合成一個整體,真正能夠讓讀者透徹掌握編譯器如何運行、如何設計,以及為什麼要這么設計。
● 它是第一本系統解讀著名商用編譯器 GCC 核心源代碼的著作。 GCC 源代碼一共有 600 萬行,為了便於講解和閱讀,本書進行了取捨和裁剪,講解了與編譯本質相關的、最核心的 60 萬行代碼。

4. 如何學習MTK 編譯android系統的framework層源碼,需要看一些什麼文檔,最近在公司需要學習、

mtk有個叫makeMtk的腳本文件,直接執行就行,後面參數加上自己要編譯的模塊,比如./makeMtk -t mm frameworks/base/core/res

5. 如何編譯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內核版本。是不是你剛下的那個呢!有沒有成就感?

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

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中

7. 源碼怎麼使用

可以用記事本打開的好多行英文的,用編程語言寫好的軟體源程序經過編譯成目標程序,才能運行。一般目標程序不能再修改了。電腦上安裝的軟體都是目標程序。源程序不可能直接運行的。提倡軟體開源的人士認為應該提供源程序給用戶,讓用戶自己修改,有利於軟體行業的發展。反對的人覺得這樣不利於保護版權。



(7)編譯系統透視源碼擴展閱讀

源代碼主要有以下2種作用:

1、生成目標代碼,即計算機可以識別的代碼。

2、對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。

因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。

8. 能利用反編譯查出源碼嗎

可以,不過前提是看有沒有混淆,或者加固,套殼,如果是軟體開發的那種源碼,得看開發的人有沒有分享源碼呢
一般來說單獨反編譯是看到部分源碼,基本上只能單獨修改或者修訂部分內容。

9. 如何編譯android手機源碼

編譯android系統源碼准備工作:
下載android源碼
在windows上用gitbash ,git clone 下載代碼
在linux上這樣下載
創建~/bin目錄,用來存放repo程序,如下:

$ cd ~
$ mkdir bin
初始化repo
repo是android對git的一個封裝,簡化了一些git的操作。
創建工程目錄:
$ mkdir android
$ cd android
下載repo腳本並使其可執行:
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
repo初始化:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在此過程中需要輸入名字和email地址。初始化成功後,會顯示:
repo initialized in /android
在~/android下會有一個.repo的隱藏目錄。
5)同步源代碼
$ repo sync
這一步要很久很久。
安裝linux系統,推薦ubuntu,圖形界面
安裝編譯需要的支持包
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
安裝java6.0
$ sudo apt-get install sun-java6-jdk
配置java環境
sudo gedit ~/.bashrc

末尾加上

JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
sudo source ~/.bashrc
是環境變數生效

編譯android源碼,並得到~/android/out目錄

$ cd ~/andoird
$ make
這一過程很久。
這就編譯結束了

閱讀全文

與編譯系統透視源碼相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:389
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:993
鄉關何處pdf 瀏覽:85
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:432
pdf快速看圖破解版 瀏覽:295