GNU C编译器

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 mode\n”);
#else
	printf(“running in no debug mode\n”);
#endif
for(k=0;k<count;k++)
	sum=sum+k;
printf(“the sum is%d\n”,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值