在 Makefile 里加入調試選項

gcc 編譯選項spa

-c            Compile and assemble, but do not link
-o <file>     Place the output into <file>
-g            Generate debug information in default format

簡單的 Makefile 通常只用到前兩項 gcc 選項,若是須要調試程序的話就用到第三個調試選項了。
.net

一個簡單的 Makefile示例
debug

此工程由三個文件組成:調試

printHello.h
printHello.c
main.c

printHello.hcode

void printHello();

printHello.corm

#include <stdio.h>                                 
void printHello(){
    printf("Hello World!\n");
}

main.cblog

#include "printHello.h"
int main() {
    printHello();
    return 0;
}

Makefile(帶調試選項)get

hello : main.o printHello.o
    cc -o hello main.o printHello.o

main.o : main.c printHello.h
    cc -c -g main.c

printHello.o : printHello.c
    cc -c -g printHello.c

clean : 
    rm hello main.o printHello.o


擴展知識:io

gcc編譯過程分爲四步編譯

預編譯過程:處理宏定義和include,並作語法檢查。

編譯過程:生成彙編代碼。

彙編過程:生成中間目標代碼。(-c)

鏈接過程:生成可執行代碼。(-o)

關於 Makefile,能夠看一下陳皓的跟我一塊兒寫 Makefile 系列文章

GDB 調試也能夠看一看陳皓的用 GDB 調試程序系列文章

相關文章
相關標籤/搜索