为调试编译代码(Compiling Code for Debugging) 为了使 gdb 正常事情, 请参考 GCC 的指南页, 而且最好只有当你完全理解这些选项将会对编译后的代码发生什么样的效果时再去使用. 这些选项的详细描述, GCC 将会成立(假定编译乐成)一个名为 a.out 的可执行文件. 例如, 另有一些初级选项用于发生更快的代码. 这些选项很是的非凡, 但一些主要的选项将会频繁用到. 许多的 GCC 选项包罗一个以上的字符. 因此你必需为每个选项指定各自的连字符, 在呼吁行上键入 man gcc . 调试和分解选项 GCC 支持数种调试和分解选项. 在这些选项里你会最常用到的是 -g 和 -pg 选项. -g 选项报告 GCC 发生能被 GNU 调试器使用的调试信息以便调试你的措施. GCC 提供了一个许多其他 C 编译器里没有的特性, 你将能很快地把握 GCC. 本节将介绍如何使用 GCC 和一些 GCC 编译器最常用的选项. Linux编程工具使用 GCC 凡是后跟一些选项和文件名来使用 GCC 编译器. gcc 呼吁的根基用法如下: gcc [options] [filenames] 呼吁行选项指定的操纵将在呼吁行上每个给出的文件上执行. 下一小节将叙述一些你会最常用到的选项. Linux编程工具GCC 选项 GCC 有凌驾100个的编译选项可用. 这些选项中的很多你可能永远都不会用到。www-36ab-com
如果一切正常的话, 在 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 文件。 (责任编辑:admin) |