编译器
文章平均质量分 76
05jin
嵌入式linux,stm32
展开
-
gdb调试器等级
在默认情况下,gcc在编译时不会把调试符号插入到最终生成的二进制代码(机器代码)中,因为这样会急剧增加可执行程序的大小。如果需要在编译时生成调试符号的信息,则可以采用-g或-ggdb参数。-g默认指-g2。gcc在产生调试信息时,同样采用了分级的思路(-g1,-g2,-g3),默认的级别是-g2,此时产生的调试信息包括扩展的符号表、行号、局部或外部变量信息。级别-g3包含级别-g2的信息,另外还有源代码中定义的宏。级别-g1不包含局部变量和与行号有关的调试信息,只能用来回溯跟踪和堆栈转储。回溯跟踪指的是原创 2021-10-11 16:38:44 · 503 阅读 · 0 评论 -
gcc 编译 选项
常用编译选项GCc and g++分别是gnu的c & c++编译器 GCc/g++在执行编译工作的时候,总共需要4步1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器eGCs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]GCc 命令的常用选项选项 解释-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,例如 asm 或 t转载 2021-10-11 16:11:45 · 1739 阅读 · 0 评论 -
GCC编译优化和调试选项
在开启编译优化的开关时,GCC编译器的目的是:优化程序的性能和减少代码的大小,尽管会以牺牲编译时间和程序的可调试能力为代价。 对于不同的优化级别开启的对应优化开关可以通过gcc -Q -O2 --help=optimizers来查看对应的开启优化列表。1. GCC优化选项-O0 默认的优化选项,减少编译时间和生成完整的调试信息。 -O/-O1 这两个都是开启level 1的编译优化。开启编译优化会导致更长的编译时间,对于大函数还会消耗更多的内存空间。level1的编译优化下,编译器会尝试减少代转载 2021-10-11 15:17:23 · 8111 阅读 · 0 评论 -
c编译器救星,搞懂GCC c编译器
对c编译器关注较多的朋友,都知道目前市场上主要流通3大c编译器。本文中,主要介绍GCC c编译器,讲解内容为该c编译器的入门必备知识。如果你对GCC的入门知识不够了解,那本文无疑是你的救星!!!在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前 Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Objec转载 2021-10-11 14:29:47 · 230 阅读 · 0 评论