Linux對C程式的除錯過程 gcc的編譯過程

2021-08-07 05:48:49 字數 880 閱讀 3998

一、gcc對c程式的編譯命令為:

gcc 源檔名 -o 目標檔名

1、預處理:將.c檔案生成.i檔案。

.c-->.i命令為:

gcc a.c -o a.i -e

2、編譯:將.i檔案生成.s檔案。

.i-->.s命令為:

gcc a.i -o a.s -e

3、彙編:將.s檔案生成.o檔案。

.s-->.o命令為:

gcc a.s -o a.o -c

.o-->(可執行檔案):

gcc a.o -o a

二、下面寫乙個例子程式來具體看一下步驟:

/**示例:test.c**/

#include #define max 3

int main(void)

三、圖示:

1、執行gcc test.c -o test.i -e命令生成test.i檔案,再用cat test.i命令檢視,如下:

可見這一步只是將程式中的max替換成了巨集定義中定義的數3,這是乙個預處理的步驟。

2、執行gcc test.i -o test.s -s命令生成彙編源程式:

assembler source就是彙編源程式的意思。

有趣的除錯過程

有人說,程式設計師寫 的能力一定要強,如果寫 不行,錯誤百出,那他除錯能力一定要強。總之,兩個優勢中至少要占有乙個,否則寫 又爛,自己又改正不了,豈不是糟糕至極。本人不才,寫 經常丟東拉西,每次檢查自己的程式,幾乎都能發現新的bug。在驚喜不斷的同時,也鍛鍊了我臨危不懼的神經。開始我很害怕發現程式的...

關於程式除錯過程的回顧與總結

正式參加程式設計除錯開始於2013年10月左右,從開始查詢源 到自己程式設計完成一些諸如com,socket通訊等等一些工作,到今天為止我才發現自己在程式設計除錯根本就沒有入門。可悲可嘆。哈哈,也幸虧是今天我重新開啟了一條新的陽光大道。現在我想對問題做一理論層次的總結,不談具體工作。當然這是給自己看...

利用IDA對dex檔案進行動態除錯過程

0x01.除錯的過程。1 首先androidmanifest.xml裡面 android debuggable true 2 將classes.dex拖入ida中。3 選擇debugger debugger options set specific options,在package name和act...