Makefile编译helloworld

GCC从源码到可执行文件的步骤

第一步、预处理阶段:处理源码中的预处理语句(总是以#打头,如#include、#if #elif #end #error、#pragma pack|comment等);
gcc -E test.c -o test.i 或 gcc -E test.c

第二步、编译阶段:通过词法分析和语法分析,确认所有指令都符合语法规则后,将其转换成功能等效的汇编语言代码;
gcc -S test.i -o test.s

第三步、汇编阶段:使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为.o的目标文件中。
gcc -c test.s -o test.o

第四步、链接阶段:将各个模块之间相互作用的部分都处理好,使得各个模块之间能够正确地衔接。
gcc test.o -o test

写一个简单的helloworld:
创建hello.c

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

编写Makefile:

hello:hello.c
	aarch64-linux-gnu-gcc  hello.c -o hello

.PHONY:clean
clean:
	-rm hello

把Makefile文件放在hello.c同目录下
cd到hello.c目录make

make

结果:

anmengyuan@ubuntu16-04:~/anmengyuan$ make
aarch64-linux-gnu-gcc  hello.c -o hello

生成hello文件

root@s32v234evb:/mnt# ./hello
hello world

完成!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值