概述
GNU C编译器
GNU C编译链接工具
1.编译器:gcc
gcc命令
语法:gcc [选项] 目标文件 源文件
功能:将C语言编译为目标代码或可执行文件
程序5-1:
//exam5-1.c
#include<stdio.h>
int count=20;
int main(void)
{
int k;
int sum=0;
#ifdef DEBUG
printf(“running in debug moden”);
#else
printf(“running in no debug moden”);
#endif
for(k=0;k<count;k++)
sum=sum+k;
printf(“the sum is%dn”,sum);
}
$ gcc -S exam5-1.c #生成汇编代码
$gcc -c exam5-1.c #生成目标代码exam5-1.o
$gcc -Wall exam5-1.c -o exam5-1 #编译时打开告警信息开关,生成可执行文件exam5-1
$gcc -o exam5-1 exam5-1.o #将目标文件exam5-1.o链接为可执行文件exam5-1
$gcc -g -o exam5-1 exam5-1.c #生成包含调试信息的可执行文件exam5-1
$gcc test.c -i/inc -o test #将源文件test.c编译并链接为可执行的目标代码test
$gcc -D DEBUG -o exam5-1 exam5-1.c #使宏定义DEBUG生效
2.汇编工具:as
as 命令
语法
as[选项] 汇编文件
功能
将汇编语言源代码汇编为目标代码
例:
$as -o test.o test.s #将汇编语言源代码test.s汇编为目标代码test.o
汇编器as可以用gcc -S代替
3.链接器:ld
ld 命令
语法
ld[选项] 目标文件列表
功能
将若干目标文件和函数库链接到一起,重定位符号引用和数据。
实例:
1、显示链接命令文件
$ld —verbose #查看默认链接脚本
2、对于gcc -o test test.c
$gcc -c test.c
$ld -o test /usr/lib/crt1.o/usr/lib/crti.o test.o -lc
3、指定链接库
$ld -o test test.o -lxxx
库的命名规则为libxxx.a,-l 指定库名时使用的格式为-lxxx
4、制定搜索路径
$ld -L./lib -o test test.o
5、指定链接命令文件
$ld -T linkcmds -o test test.o
6、指定输出映射文件
$ld -Map map.txt -o test test.o
最后
以上就是紧张鼠标为你收集整理的GNU C编译器GNU C编译器的全部内容,希望文章能够帮你解决GNU C编译器GNU C编译器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复