实验报告栏目五-2、练习题(10分) 说明gcc编译过程中“-g”选项的作用。 相关知识点: 试题来源: 解析 参见教材P68,3.4.1,gdb使用流程。 gcc编译过程中采用选项“-g”,说明在最后编译生成的可执行文件中包含标准调试信息。 简单来说,就是可以用gdb 调试工具对该可执行文件进行调试。
-g是一个编译选项,即在源代码编译的过程中起作用,让gcc把更多调试信息(也就包括符号信息)收集起来并将存放到最终的可执行文件内。 相比-g选项,-rdynamic却是一个连接选项,它将指示连接器把所有符号(而不仅仅只是程序已使用到的外部符号,但不包括静态符号,比如被static修饰的函数)都添加到动态符号表(即.dynsym表...
gcc提供了一些选项参数能够让编译器停在某个过程(如编译过程),比如 -c选项表示只走到“汇编”这一步...
2. gcc-g的功能:gcc-g的主要功能是将C语言的源代码转换为机器语言,生成可执行文件。它还包括一些调试和优化选项,帮助开发者创建高效且稳定的程序。此外,它还支持多种标准库和运行时环境,使得开发者能够更方便地编写和测试代码。3. gcc-g的重要性:gcc-g作为开源编译器,对软件开发具有重大意义。
"-c"(只编译不链接)这个选项的作用是编译源代码,但不会生成可执行文件,仅保留目标文件,这对于需要单独编译模块或库非常有用。它会停止在链接阶段,只完成编译部分。综上,"-g"、"-o"和"-c"是GCC编译器中的关键选项,分别用于调试支持、指定输出文件名和单独编译。理解并合理运用这些选项可以更...
加选项-g是为了能够调试。不加可以运行,但不能调试
只对g起作用,使用这个选项,g将对不带参数的函数,都认为是没有显式的对参数 的个数和类型说明,而不是没有参数. 而gcc无论是否使用这个参数,都将对没有带参数的函数,认为城没有显式说明的类型 -fthis-is-varialble 就是向传统c看齐,可以使用this当一般变量使用. ...
GCC 允许你同时使用 -g 和 -O 选项。代码在优化后可能会产生令人惊奇的结果:一些你声明的变量可能已经不存在了;控制流可能走到了你未曾想象到的位置;一些语句可能不会被执行,因为其计算结果是常量,或者其结果早已经被获得;一些语句可能在不同的地方被执行,因为其被移出了当前循环。
-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的 -g 该选项可以利用操作系统的“原生格式(native format)”生成调试 信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息 -ggdb 使 GCC 为 GDB 生成专用的更为丰富的调试信息,...