将库链接进来生成可执行文件,可执行文件没有统一的后缀名。如果 GCC 编译时没有 使用 -o 选项明确给出输出文件名,则系统自动生成一个 a.out 的可执行文件。 gcc filename.o-ofilename 3.2 方法二: 单步完成编译 gcc filename.c-ofilename 3.3 运行 ./filename 3.4 GCC 总体选项列表 二、GDB 调试器 1....
GCC编译工作的四个阶段:预编译(Preprocessing)、编译(Compilation)、汇编 (Assembly)、连接(Linking)。 语法格式:gcc [参数] 源文件-o指定生成的输出文件名-E预处理(展开宏、头文件,删除注释、空行)-S编译(…
GCC参数详解 GDB调试 1.编译:gcc -o xxx xxx.c 2.生成可调试文件:gcc -o xxx -g xxx.c 3.调试程序:gdb xxx 4.执行程序: run 直接运行程序到结束或者断点处 5.设置断点:break line(行数)或函数名或者条件表达式 break 6 在第6行设置断点 break Swap 在Swap函数入口设置断点 break 6 if i == 10 ...
-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的 选项 解析 g 该选项可以利用操作系统的“原生格式(native format)”生成调试信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息 ggdb 使GCC为GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其他的调试器来进行调试了 (如 ddx)...
一、使用GCC编译C程序 1.1 准备工作 1.2 编译源代码 1.3 gcc常用选项 1.31 只生成目标文件:-c 1.32 指定生成可执行文件名称:-o 1.33 代码优化:-O 1.34 显示警告信息:-Wall 1.35 将警告视为错误:-Werror 1.36 指定C语言标准:-std 1.37 添加包含文件目录:-I 1.38 库文件目录:-L 1.39 指定链接库:-l ◐...
简介:阅读本文可能需要一些基础,比如:C语言基础、Linux基础操作、vim、防火墙等。篇幅有限,本文讲的“比较浅显”。通过本文你将学会:gcc编译gdb调试 2.22 运行时表达式计算 在调试过程中,可能需要计算一些表达式的值,以便更好地理解程序状态。GDB提供了print或p命令来评估表达式。例如,p variable将显示变量的值,而p fu...
GCC参数详解 GDB调试 1.编译:gcc -o xxx xxx.c 2.生成可调试文件:gcc -o xxx -g xxx.c 3.调试程序:gdb xxx 4.执行程序: run 直接运行程序到结束或者断点处 5.设置断点:break line(行数)或函数名或者条件表达式 break 6 在第6行设置断点
arm-linux-gnueabihf-gcc gdbtest.c-o gdbtest-g//编译测试程序,注意-g 选项 编译后会产生 gdbtest 文件 调试命令: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 gdb xxx 会出现一个 (gdb)的指示符,等待你输入命令,可用的命令如下: 当然不止这些,还有很多,常用的就这几个。
编译:在这个阶段,GCC会检查源代码的语法错误,并将其转换为中间代码。 汇编:将中间代码转换为机器语言,也就是汇编语言。 链接:最后一步是将汇编语言的目标文件链接成可执行文件。🔍 GDB调试器: GDB(GNU调试器)是用于调试程序的工具。它允许开发者查看程序的内部状态,设置断点,单步执行代码等。通过GDB,开发者可以...
gcc分步编译 1、编写简单例子 #include <stdio.h> int main(void) { printf("Hello!\n"); return 0; } 1. 2. 3. 4. 5. 6. 7. 2、预处理生成hello.i eastmoon@eastmoon-virtual-machine:~/work/guoqian/1/1.2$gcc -E hello.c -o hello.i ...