在linux中如何编译C程序,使之成为可执行文件?如何调试?

2024-12-18 19:07:11
推荐回答(4个)
回答1:

Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。 -c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。 -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢.
例子:
gcc -o test test.c
结果生成可执行文件test

回答2:

编译:gcc -o xxx xxx.c
调试:gcc -o xxx -g xxx.c
gdb xxx
run
break line(行数)或函数名
info 查看断点
n 下一步
print +变量 打印变量值
q 退出调试
c 继续执行到下一个断点

回答3:

用 man 命令 查看 gcc ,gdb 的说明,里面有详细的介绍

回答4:

gcc -o your_program your_program.c
调试可使用gdb,网上有很多资料