如果一切正常的话, 在 GCC 里你能使 -g 和 -O (发生优化代码)联用. 这一点很是有用因为你能在与最终产物尽可能相近的环境下调试你的代码. 在你同时使用这两个选项时你必需清楚你所写的某些代码已经在优化时被 GCC 作了窜改. 关于调试 C 措施的更多信息请看下一节"用 gdb 调试 C 措施" . -pg 选项报告 GCC 在你的措施里插手特别的代码。
covered by the GNU General Public License, Linux编程工具C编译器和C编程工具介绍 Builder开发者在线 来源: 51cto 2012年09月04日 要害词: 本文摘要 Linux的刊行版中包括了许多软件开发工具. 它们中的许多是用于 C 和 C++应用措施开发的. 本文介绍了在 Linux 下能用于 C 应用措施开发和调试的工具. 本文的主旨是介绍如安在 Linux 下使用 C 编译器和其他 C 编程工具, 而非C 语言编程的教程. Builder开发者在线动静 Linux的刊行版中包括了许多软件开发工具. 它们中的许多是用于 C 和 C++应用措施开发的. 本文介绍了在 Linux 下能用于 C 应用措施开发和调试的工具. 本文的主旨是介绍如安在 Linux 下使用 C 编译器和其他 C 编程工具, 你将输入下面的呼吁: gcc -o count count.c Linux编程工具GCC 同样有指定编译器处理惩罚几多的编译选项. -c 选项报告 GCC 仅把源代码编译为方针代码而跳过汇编和连接的步调. 这个选项使用的很是频繁因为它使得编译多个 C 措施时速度更快并且更易于打点. 缺省时 GCC 成立的方针代码文件有一个 .o 的扩展名. -S 编译选项报告 GCC 在为 C 代码发生了汇编语言文件后遏制编译. GCC 发生的汇编语言文件的缺省扩展名是 .s . -E 选项指示编译器仅对输入文件进行预处理惩罚. 当这个选项被使用时, 将一个叫 count.c 的 C 措施编译为名叫 count 的可执行文件, 下面的呼吁将在当前目录下发生一个叫 a.out 的文件: gcc test.c 你能用 -o 编译选项来为将发生的可执行文件指定一个文件名来取代 a.out. 例如, 而非C 语言编程的教程. Linux编程工具GNU C 编译器 Linux编程工具GNU C 编译器(GCC)是一个全成果的 ANSI C 兼容编译器. 如果你熟悉其他操纵系统或硬件平台上的一种 C 编译器, 你必需使你的措施在编译时包括调试信息. 调试信息包括你措施里的每个变量的类型和在可执行文件里的地点映射以及源代码的行号. gdb 操作这些信息使源代码和机器码相关联. 在编译时用 -g 选项打开调试选项. gdb 根基呼吁 gdb 支持许多的呼吁使你能实现差此外成果. 这些呼吁从简单的文件装入到答允你检查所调用的仓库内容的庞大呼吁, 并且就象大大都 Linux 呼吁一样你不能在一个单独的连字符后跟一组选项. 例如, 下面的两个呼吁是差此外: gcc -p -g test.c gcc -pg test.c 第一条呼吁报告 GCC 编译 test.c 时为 prof 呼吁成立分解(profile)信息并且把调试信息插手到可执行的文件里. 第二条呼吁只报告 GCC 为 gprof 呼吁成立分解信息. 当你不消任何选项编译一个措施时, 你能直接指定想要调试的措施. 这将报告gdb 装入名为 fname 的可执行文件. 你也可以用 gdb 去检查一个因措施异常终止而发生的 core 文件。