GCC的使用

GCC

下篇博客将介绍Makefile的使用,在此之前需要了解一下GCC的一些基本用法。

建立如下的demo.c文件

#include <stdio.h>
int main(void)
{
       printf("hello world\n");  
}

使用gcc来编译该文件,会生成a.out的可执行文件

gcc demo.c

可以使用-o选项来指定输出的文件名

执行如下命令会生成hello可执行文件

gcc demo.c -o hello

我们可以把编译过程分为3个部分:预处理、汇编+编译、链接

使用-E选项进行预处理

gcc -E demo.c -o hello.c

查看hello.c文件,可以看见头文件被全部包含进来了,预处理会把带#的代码(如#include、#define、#ifndef等)进行处理


使用-c选项可以进行汇编+编译,生成.o文件

我们将建立3个文件进行测试

首先是add.h文件,它只包含了函数的声明

int add(int,int);

然后使add.c文件,它包含了add函数的实现

int add(int a,int b)
{
     return (a+b);
}

然后是我们的测试函数test.c,它包含了头文件add.h

#include "add.h"
#include <stdio.h>
int main(void)
{
     printf("1+1=%d\n",add(1,1));
}

使用-c选项将两个文件进行汇编+编译

gcc -c add.c -o add.o
gcc -c test.c -o test.o

使用下面命令对两个.o文件进行链接,生成可执行文件

gcc test.o add.o -o test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值