Linux中程式編譯

2021-10-09 22:21:38 字數 700 閱讀 6815

arm-linux-gnueabihf-gcc

eg:arm-linux-gnueabihf-gcc -g -c led.s -o led.o

//-g選項是產生除錯資訊,gdb除錯能夠利用這些資訊進行除錯

//-c選項是編譯原始檔,但是不產生連線

//-o是指定編譯產生的檔案名字,即指定編譯後產生led.o檔案

arm-linux-gnueabihf-ld就是將眾多的.o檔案鏈結到乙個指定的鏈結位置

arm-linux-guneabihf-ld -ttext 0x87800000 led.o -o led.elf

//-text就是指定鏈結位置

//-o選型指定鏈結生成的elf檔名,這裡我們命名為led.elf

arm-linux-guneabihf-objcopy -o binary -s -g led.elf led.bin

//-o指定以什麼格式輸出,即指定以二進位制輸出

//-s表示不要複製原始檔中的重定位資訊和符號資訊

//-g表示不複製原始檔中的除錯資訊

arm-linux-guneabihf-objdump -d led.elf > led.dis

//-d表示反彙編所有的段,反彙編完成以後會出現led.dis檔案

Linux中程式的執行原理

linux中程式的執行原理 在linux的開發環境中,c語言程式的執行環境如圖1 3所示。作為unix作業系統的一種,linux的作業系統提供了一系列的介面,這些介面被稱為系統呼叫 system call 在unix的理念中,系統呼叫 提供的是機制,而不是策略 c語言的庫函式通過呼叫系統呼叫來實現,...

Linux中程式後台執行命令

1.讓命令後台執行 2.輸出重定向 3.2 1 將標準出錯重定向到標準輸出 4.nohup 退出終端後,程式依然後台執行 5.jobs 檢視後台執行的程序 6.fg 把後台執行的命令 7.ctrl z 暫停某個程序 8.bg 繼續執行後台暫停的程序 9.kill 終止程序 python 列印1 30...

windows和linux中程式棧空間

一般來說,我們所用的記憶體有棧和堆之分,其它的我們很少控制,棧的速度快,但是空間小 不靈活 而堆的空間幾乎可以滿足任何要求 靈活,但是相對的速度要慢了很多,並且在vc中堆是人為控制的,new了就要delete,否則很容易產生記憶體洩露等問題。系統 棧的位元組數 bits digits 以兆為單位的值...