在 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 调试程序系列文章

相关文章
相关标签/搜索