linux gg命令(linux gg)
gcc工具鏈?zhǔn)歉陕锏模?/h2>
GNU/Linux系統(tǒng)上常用的編譯工具是GCC。
GCC實(shí)質(zhì)上不是一個(gè)單獨(dú)的程序,而是多個(gè)程序的集合,因此通常稱(chēng)為工具鏈。
(1)Binutils: 一組用于編譯、鏈接、匯編和其他調(diào)試目的的程序,包括ar, as, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, strip等。
(2)gcc : gnu的編譯器集合,Linux環(huán)境正點(diǎn)認(rèn)的C語(yǔ)言編譯器。
(3)glibc: gnu的C語(yǔ)言標(biāo)準(zhǔn)函數(shù)庫(kù)。該庫(kù)實(shí)現(xiàn)Linux系統(tǒng)函數(shù),例如open、read等,也實(shí)現(xiàn)標(biāo)準(zhǔn)C語(yǔ)言庫(kù),如printf等。幾乎所有應(yīng)用程序都需要與glibc鏈接。
linux代碼有幾個(gè)g?
Linux用來(lái)支持各種體系結(jié)構(gòu)的源代碼包含大約4500個(gè)C語(yǔ)言程序,存放在270個(gè)左右的子目錄下,總共大約包含200萬(wàn)行代碼,大概占用58MB磁盤(pán)空間。
Linux用來(lái)支持各種體系結(jié)構(gòu)的源代碼包含大約4500個(gè)C語(yǔ)言程序,存放在270個(gè)左右的子目錄下,總共大約包含200萬(wàn)行代碼,大概占用58MB磁盤(pán)空間。
Linux的bg和fg命令?
bg(將作業(yè)放置于后臺(tái)執(zhí)行)(在前臺(tái)執(zhí)行時(shí)間過(guò)長(zhǎng),則可以按ctrl+z,暫停進(jìn)程,用bg放其至后臺(tái))
bg 作業(yè)IDfg(把作業(yè)放置前臺(tái)執(zhí)行)jobs(查看后臺(tái)作業(yè))
linux下gcc編程,段錯(cuò)誤(核心已轉(zhuǎn)儲(chǔ)) 大神救我,折磨我一天了?
在的所在.c文件的目錄中在終端里面敲1. ulimit -c unlimited2. 在用gcc編譯時(shí),在最后加上-g3. 運(yùn)行一次錯(cuò)誤代碼,出現(xiàn)段錯(cuò)誤后, 目錄中有一個(gè)core文件4. 運(yùn)行:gdb ./a.out core會(huì)自動(dòng)幫你找出可能出錯(cuò)的代碼,出現(xiàn)段錯(cuò)誤一般都是越界了
Linux內(nèi)核版本號(hào)的規(guī)則?
Linux內(nèi)核版本有兩種:穩(wěn)定版和開(kāi)發(fā)版 ,Linux內(nèi)核版本號(hào)由3個(gè)數(shù)字組成:r.x.y
r:目前發(fā)布的內(nèi)核主版本。
x:偶數(shù)表示穩(wěn)定版本;奇數(shù)表示開(kāi)發(fā)中版本。
y:錯(cuò)誤修補(bǔ)的次數(shù)。
內(nèi)核版本號(hào)每位都代表什么 ?
以版本號(hào)為例: 2.6.9-5.ELsmp ,
r: 2 , 主版本號(hào)
x: 6 , 次版本號(hào),表示穩(wěn)定版本
y: 9 , 修訂版本號(hào) , 表示修改的次數(shù)
頭兩個(gè)數(shù)字合在一齊可以描述內(nèi)核系列。如穩(wěn)定版的2.6.0,它是2.6版內(nèi)核系列。
5: 表示這個(gè)當(dāng)前版本的第5次微調(diào)patch , 而ELsmp指出了當(dāng)前內(nèi)核是為ELsmp特別調(diào)校的
EL : Enterprise Linux ; smp : 表示支持多處理器 , 表示該內(nèi)核版本支持多處理器
知識(shí)延伸
一般的有三種
1 smp
2 bigmem
3 一般的內(nèi)核
Red Hat Linux開(kāi)機(jī)的時(shí)候,GRUB的啟動(dòng)菜單會(huì)有兩個(gè)選項(xiàng),分別是
Red Hat Enterprise Linux ES (版本號(hào).ELsmp)
Red Hat Enterprise Linux ES-up (版本號(hào).EL)
這兩個(gè)分別是代表什么含義呢?
其實(shí)這個(gè)就是系統(tǒng)開(kāi)機(jī)時(shí)由GRUB引導(dǎo)啟動(dòng) - 單處理器 與 對(duì)稱(chēng)多處理器啟動(dòng)核心文件的區(qū)別。
Red Hat Enterprise Linux ES (版本號(hào).ELsmp) multiple processor (symmetric multiprocessing )
Red Hat Enterprise Linux ES-up (版本號(hào).EL) uniprocessor
下面就把SUSE與Red Hat啟動(dòng)菜單內(nèi)可選擇的選項(xiàng),列舉出來(lái)
SUSE
版本號(hào)-default: SUSE Linux kernel for uniprocessor machines 默認(rèn)選項(xiàng),支持單處理器機(jī)器
版本號(hào)-smp: SUSE Linux kernel that supports symmetric multiprocessing and up to 4 GB of RAM
支持4GB內(nèi)存的對(duì)稱(chēng)多處理器機(jī)器
版本號(hào)-bigsmp: SUSE Linux kernel supports symmetric multiprocessing and up to 64 GB
支持64GB內(nèi)存的對(duì)稱(chēng)多處理器機(jī)器
Red Hat Linux
版本號(hào).EL: Red Hat Linux kernel for uniprocessor machines 支持單處理器機(jī)器
版本號(hào).ELhugemem: Red Hat Linux kernel that supports up to 64 GB of RAM
支持64GB內(nèi)存的對(duì)稱(chēng)多處理器機(jī)器
版本號(hào).ELsmp: Red Hat Linux kernel that supports symmetric multiprocessing 對(duì)稱(chēng)多處理器機(jī)器,支持4G內(nèi)存
有些情況下你需要支持1和2特性,那么你可以:重新編譯一下內(nèi)核,在處理器及內(nèi)存選擇項(xiàng)上選擇與你配置相對(duì)應(yīng)的選項(xiàng)即可。
如何下載對(duì)應(yīng)內(nèi)核版本的源代碼 ?
一般情況下,可以直接到官網(wǎng):http://www.kernel.org下載,
缺點(diǎn)是:對(duì)于任何內(nèi)核做過(guò)特殊優(yōu)化調(diào)校的發(fā)行版是不合適的,尤其是fedora ubuntu 這一類(lèi)的,畢竟他們?cè)趦?nèi)核中打了大量的補(bǔ)丁,做了很多優(yōu)化,如果直接使用官方源碼 ,你就無(wú)法享受到這些東西 ,內(nèi)核不是越新越好的 越合適越好
因此最好到發(fā)行商的官網(wǎng)去下載,因?yàn)楣俜揭呀?jīng)提供了編譯好的源碼rpm包。
如何使用對(duì)應(yīng)的內(nèi)核源碼包 ?
以fedora官方提供的內(nèi)核源碼: kernel-2.6.23.9-85.fc8.src.rpm 為例
首先,安裝源碼
# rpm -ivh kernel-2.6.23.9-85.fc8.src.rpm
然后,轉(zhuǎn)換源碼
轉(zhuǎn)換之前,請(qǐng)確保/usr/src/目錄下有redhat目錄(一般/usr/src/是空目錄)。
# rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel.spec
這樣會(huì)將源碼放置在/usr/src/redhat/BUILD/kernel-2.6.23/。
這里有兩個(gè)有用的文件夾:.
linux-2.6.23.ARCH——這個(gè)是kernel.org 提供的包經(jīng)過(guò)Fedora 補(bǔ)丁和升級(jí)得到的。也就是 2.6.23.9-85.fc8 這個(gè) 打過(guò)補(bǔ)丁的內(nèi)核
ARCH 與uname-m 的輸出結(jié)果一致,通常為i686。如果你想得到不同的輸出,你可以使用
“--target=”這個(gè)選項(xiàng)來(lái)進(jìn)行指定。
vanilla——這個(gè)是標(biāo)準(zhǔn)的、由kernel.org 提供的沒(méi)有經(jīng)過(guò)補(bǔ)丁和升級(jí)的源碼。
總結(jié)
以上是生活随笔為你收集整理的linux gg命令(linux gg)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓模拟器刷机教程(安卓模拟器刷机)
- 下一篇: 删除linux文件命令(删除linux