GCC
从概念上来讲,GCC并不同于gcc。GCC是一个编译器组合,包括gcc、g++、as等等。
一、gcc
1》gcc识别的文件类型
*方法一:
gcc -E file.c -o file.i 预编译,即导入头文件。
gcc -S file.i -o file.S 编译,生成汇编文件。
gcc -c file.S -o file.o 汇编,生成二进制文件。
-ansi 不符合标准c的错误信息
-pedantic 输出所有不符合标准c的错误
-Wall 输出所有的gcc编译器提供的有用的错误信息
-w 关闭错误提示
-Werror 警告转为错误提示。
实际中,一般采用“-pedantic -Wall”,即结合使用。如gcc file.c -o file -Wall -pedantic
4>gcc优化
一般用于大程序,由于可能会改变程序,所以,优化一般是在程序所有工作都完成之后,才考虑使用。
首先应该声明的是,在使用gdb调试程序的时候,待调试程序要求已经编译通过,而且要求编译程序
的时候在后面加上 -g标示符。如 gcc hello.c -o hello -g ,否则不能进入调试。
1》进入调试
gdb file
2》常用gdb调试指令
和在集成环境中调试类似,只不过在此由命令执行,见图,略。
包括:
查看文件
设置断点
查看断点情况
运行代码
查看变量值
单步运行
从概念上来讲,GCC并不同于gcc。GCC是一个编译器组合,包括gcc、g++、as等等。
一、gcc
1》gcc识别的文件类型
见图。
*方法一:
gcc -E file.c -o file.i 预编译,即导入头文件。
gcc -S file.i -o file.S 编译,生成汇编文件。
gcc -c file.S -o file.o 汇编,生成二进制文件。
gcc file.o -o hello 链接,与库文件链接,生成可执行文件file
*方法二:gcc file.c -o file 直接从源文件生成可执行文件file
实际中,一般使用第二种方法。
-ansi 不符合标准c的错误信息
-pedantic 输出所有不符合标准c的错误
-Wall 输出所有的gcc编译器提供的有用的错误信息
-w 关闭错误提示
-Werror 警告转为错误提示。
实际中,一般采用“-pedantic -Wall”,即结合使用。如gcc file.c -o file -Wall -pedantic
4>gcc优化
一般用于大程序,由于可能会改变程序,所以,优化一般是在程序所有工作都完成之后,才考虑使用。
在此略,见图。
首先应该声明的是,在使用gdb调试程序的时候,待调试程序要求已经编译通过,而且要求编译程序
的时候在后面加上 -g标示符。如 gcc hello.c -o hello -g ,否则不能进入调试。
1》进入调试
gdb file
2》常用gdb调试指令
和在集成环境中调试类似,只不过在此由命令执行,见图,略。
包括:
查看文件
设置断点
查看断点情况
运行代码
查看变量值
单步运行
恢复程序运