得到二进制文件 -g 编译时添加调试文件,用于gdb调试 -Wall 显示所有警告信息 -D 向程序中“动态注册宏定义 -l 指定动态库库名 -L 指定动态库路径 GDB调试 使用gdb调试之前,要求对文件进行编译时增加-g参数,加了这个参数后会生成的编译文件会大一些,这是因为增加了gdb调试内容。 基础指令:gdb ./ a.out list...
1.2CPU 的 GNU 编译器 1.3用于 CPU 和 GPU 的 NVIDIA HPC-SDK 1.4其他的 2个定制 2.1HDF5 ...
通过在终端中运行 "gcc -g -o " 命令,你可以编译一个 C 源文件,并生成一个带有调试信息的可执行文件。请将 "" 替换为你的源文件名,将 "" 替换为你想要生成的可执行文件名。 例如,如果你有一个名为 "main.c" 的源文件,想要生成一个名为 "my_program" 的可执行文件,可以使用以下命令: gcc -g ma...
GDB调试: 1. gcc -g main.c -o main 在用gcc时候,加上-g表示在生成的目标文件中加入源代码信息以便调试 2. l, list 从第一行开始列出源代码 3. start, 开始执行程序,第一行break 4. n, next下一行 5. s, step进入函数 6. bt, backtrace查看函数栈 7. i locals, 用info命令查看局部变量 8. f...
例如无论命令行指定那些编译参数,必须打开调试开关“-g”,我们的Makefile对“CFLAGS”应该这样写: override CFLAGS += -g 无论通过命令行指定那些编译选项,“-g”参数始终存在。 对于使用“define”定义的变量我们同样也可以使用“override”进行声明。例如: ...
debug 编译是一种编译方式,用于在编译过程中添加调试信息,以便于开发者在运行程序时能够追踪代码的执行过程,找出程序中的错误和问题。 3.Makefile 中的 debug 编译 在Makefile 中,要进行 debug 编译,需要使用一定的指令和规则。通常,需要使用“CFLAGS”变量来指定编译器选项,其中包括添加调试信息的选项,例如“-g”...
-g 只是编译器,在编译的时候,产生调试信息。 makefile2: CC = gcc CFLAGS = -g -Wall -O main:main.o $(CC) main.o -o main main.o:main.c $(CC) $(CFLAGS) -c main.c clean: rm -rf main.o main 终端执行命令make -f makefile2,可以看到: b.宏定义符号 宏定义符号含义 那么,上面的mak...
-g 编译带调试信息的可执行文件 # -g 选项告诉 GCC 产生能被 GNU 调试器GDB使用的调试信息, 已调试程序 # 产生带调试信息的可执行文件test g++ -g test.cpp -O[n] 优化源代码 ## 所谓优化, 例如省略掉代码中从未使用过的变量,直接将常量表达式用结果值代替等等,这些操作会缩减目标文件所包含的代码量,提高...
在make命令行也可以用=或:=定义变量,如果这次编译我想加调试选项-g,但我不想每次编译都加-g选项,可以在命令行定义CFLAGS变量,而不必修改Makefile编译完了再改回来: $makeCFLAGS=-g cc-g-c-omain.omain.c cc-g-c-ostack.ostack.c cc-g-c-omaze.omaze.c ...
Makefile中的CFLAGS,LDFLAGS,LIBS CFLAGS:C编译器选项,⽽CXXFLAGS表⽰C++编译器的选项 1. CFLAGS参数 选项说明 -c⽤于把源码编译成.o对象⽂件,不进⾏链接过程 -o⽤于连接⽣成可执⾏⽂件,在其后可以指定输出⽂件的名称 -g⽤于在⽣成的⽬标可执⾏⽂件中,添加调试信息,可以使...