免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

linux源碼編譯命令 linux 命令源碼

linux 怎么編譯c的源程序的?gcc,編譯命令是什么?

編譯方法:格式 gcc [option] [sourcefilename]常用的選項最簡單的是:gcc hello.c默認的情況下將生成a.out的可執行性文件,

我們提供的服務有:成都網站設計、網站建設、微信公眾號開發、網站優化、網站認證、桃源ssl等。為1000+企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的桃源網站制作公司

只需要在終端上輸入./a.out就可以看到執行的結果,如果你想指定生成目標文件的名字那么你可以加上 -o選項,命令如下:gcc -o hello hello.c

命令:gcc -c hello hello.c

擴展資料:

gcc命令的基本用法

gcc[options]?[filenames] ?

其中,filenames為文件名;options為編譯選項。

當不使用任何編譯選項編譯hello.c時,gcc將會自動編譯產生一個a.out的可執行文件:

[root@localhost?c]#?ls ?

hello.c ?

[root@localhost?c]#?gcc?hello.c ?

[root@localhost?c]#?ls ?

a.out??hello.c?

執行:

[root@localhost?c]#?./a.out ?

Hello,?World!?

使用-o編譯選擇,可以為編譯后的文件指定一個名字:

[root@localhost?c]#?ls ?

a.out??hello.c ?

[root@localhost?c]#?gcc?hello.c?-o?hello ?

[root@localhost?c]#?ls ?

a.out??hello??hello.c ?

執行:

[root@localhost?c]#?./hello ?

Hello,?World!?

注意:使用-o選項時,-o后面必須跟一個文件名,即:-o outfile。

為了便于描述后面的選項,刪除hello和a.out可執行文件。

如何編譯Linux操作系統的源代碼?

1. 檢測/usr/src/linux/include/linux/version.h是否存在,以判斷是否以安裝內核源碼,而如果只將內核源碼包解壓,并不存在version.h這個文件,所以需要做如下步驟:

在內核源碼目錄下(/usr/src/linux)

1)make include/linux/version.h 生成version.h文件

2)make include/asm 創建

如果從下載的源碼包,使用下列命令安裝:

cd /usr/src 進入/usr/src目錄中,將源碼包放置在這里。

tar jxvf linux-2.6.18.tar.bz2 解壓源碼包,會生成linux-2.6.9目錄

ln -s /usr/src/linux-2.6.18 /usr/src/linux 編譯內核建議做個軟鏈接。

并且要確保/lib/modules/2.6.18/下的build,source目錄

正確指向/usr/src/linux-2.6.18的:

[root@localhost modules]#ls -l /lib/modules/2.6.18

lrwxrwxrwx 1 root root 21 2008-07-03 14:28 build - /usr/src/linux-2.6.18/

lrwxrwxrwx 1 root root 21 2008-07-03 14:28 source - /usr/src/linux-2.6.18/

做完這些,我去安裝NVIDIA驅動,結果編譯時出錯。

將內核源碼編譯一次,不安裝,就可以正常編譯了

2.4.x內核不知是否如此,如果編譯NVIDIA過程中出現錯誤,就先編譯一下內核

方法很簡單:

從/boot目錄下復制config-2.6.10到/usr/src/linux下

命名為.config

對于2.6.x內核使用下列命令編譯:

cd /usr/src/linux 進入源碼目錄

make 編譯內核及模塊

注意:不要去make install 只要編譯就可以了。

2.4.x使用下列命令編譯內核,同樣,只編譯不安裝。

cd /usr/src/linux

make dep 建立依賴關系(不知道是否有必要,做下沒壞處)

make bzImage 編譯內核

make modules 編譯模塊

通常發行版中/boot中應該有當前內核的配置文件,如上面的config-2.6.9

如果沒有的話,可以通過下列命令創建出.config

[root@localhost linux]# cd /usr/src/linux

[root@localhost linux]#make menuconfig 字符界面配置內核

[root@NEWLFS linux]#make xconfig 圖形界面配置內核

這兩種方法任選其一,喜歡的話,可以自己配置一下。

或者直接使用默認值,保存退出即可。這樣編譯時間會長一些。

make menuconfig: 假如是在圖形界面中的終端運行,要保證

該終端窗口為全屏,才不會出錯。

如何編譯linux源代碼

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

1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。

2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之后會在當前目錄下生成.config配置文件,以后的編譯會根據這個來有選擇的編譯。

3、編譯,依次執行make、make bzImage、make modules、make modules

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

網頁題目:linux源碼編譯命令 linux 命令源碼
文章起源:http://m.newbst.com/article28/ddcoicp.html

成都網站建設公司_創新互聯,為您提供做網站、關鍵詞優化、網站排名、網站設計、建站公司、響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設