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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux中如何编译C程序,使之成为可执行文件?如何调试?相关的知识,希望对你有一定的参考价值。

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
参考技术A 编译:gcc -o xxx xxx.c
调试:gcc -o xxx -g xxx.c
gdb xxx
run
break line(行数)或函数名
info 查看断点
n 下一步
print +变量 打印变量值
q 退出调试
c 继续执行到下一个断点本回答被提问者采纳
参考技术B 用 man 命令 查看 gcc ,gdb 的说明,里面有详细的介绍 参考技术C gcc -o your_program your_program.c
调试可使用gdb,网上有很多资料

以上是关于在linux中如何编译C程序,使之成为可执行文件?如何调试?的主要内容,如果未能解决你的问题,请参考以下文章

Linux环境下如何编译和执行c程序

怎样交叉编译QT程序使之能在目标板上运行!?

c语言如何把c程序编译成可执行的exe文件

如何将在windows下写的程序编译成linux下的可执行程序文件?

交叉编译-如何编译Android平台的可执行程序

Linux进程下的编译