gcc编译调试信息
A. 在使用gcc编译c语言源程序时,如何使目标代码中包含调试信息
-g 生成调试信息
使用-g选项,可以在目标代码中包含调试信息。
B. (Linux)gcc进行优化编译的参数是什么
将file.c文件编译产生可执行文件myprog(-o选项),并且在编译的时候,生成调试信息(-g信息)。让gdb调试器可以调试该程序。
gcc是编译器程序名字
-o是可执行文件名字输出参数
-g是插入调试信息参数
当然是调试可执行文件myprog
C. 如何设置gcc as-needed编译选项
Debug选项:在gcc编译源代码时指定-g选项可以产生带有调试信息的目标代码,gcc可以为多个不同平台上帝不同调试器提供调试信息,默认gcc产生的调试信息是为gdb使用的,可以使用-gformat指定要生成的调试信息的格式以提供给其他平台的其他调试器使用.常用的格式有-ggdb:生成gdb专用的调试信息,使用最适合的格式(DWARF2,stabs等)会有一些gdb专用的扩展,可能造成其他调试器无法运行.-gstabs:使用stabs格式,不包含gdb扩展,stabs常用于BSD系统的DBX调试器.-gcoff:产生COFF格式的调试信息,常用于SystemV下的SDB调试器;-gxcoff:产生XCOFF格式的调试信息,用于IBM的RS/6000下的DBX调试器;-gdwarf-2:产生DWARFversion2的格式的调试信息,常用于IRIXX6上的DBX调试器.GCC会使用DWARFversion3的一些特性.可以指定调试信息的等级:在指定的调试格式后面加上等级:如:-ggdb2等,0代表不产生调试信息.在使用-gdwarf-2时因为最早的格式为-gdwarf2会造成混乱,所以要额外使用一个-glevel来指定调试信息的等级,其他格式选项也可以另外指定等级.gcc可以使用-p选项指定生成信息以供porf使用.
D. gcc 编译带调试信息会影响性能吗
gcc编译加-d加入调试信息,会尽可能加载所有库的符号表,调用函数会尽可能调用debug模式(如果有),去掉所有编译优化,所以肯定是有点影响性能的
E. 嵌入式软件中GCC编译,汇编,链接,调试的作用
GCC:是一套由GNU工程开发的支持多种编程语言的编译器。将程序代码编译成机器语言。
编译:1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制
语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一
个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查
和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称
为源程序分析,分析过程中发现有语法错误,给出提示信息。
汇编:把汇编语言翻译成机器语言的过程称为汇编,在汇编语言中,用助记符(Memoni)代替操作
码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制
码,就把机器语言变成了汇编语言
连接:用来把要执行的程序与库文件或其他已经翻译好的子程序(能完成一种独立功能的程序
模块)连接在一起,形成机器能执行的程序。
调试:编好程序后,用各种手段进行查错和排错的过程。