我是靠谱客的博主 靓丽荔枝,最近开发中收集的这篇文章主要介绍Linux的源码到目标程序的过程1.基本概念2.gcc与g++3.makefile,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.基本概念

首先,从源码到目标程序有几个过程,第一,预处理,预处理指令的执行和宏展开,第二预编译,第三,编译,语法检测,程序优化,生成目标程序.o二进制文件,第四,链接,将多个目标程序.o和库链接成一个可执行程序文件。

2.gcc与g++

C语言的源程序文件  *.c  编译工具 gcc
C++语言的源程序文件 *.cpp 编译工具 g++

g++可用于.c也可用于.cpp。

gcc -E  *.c用于预处理,gcc -E *.c > test.txt 可在test.txt中查看预处理后的代码,例如

#define PI 3.14
int main()
{
     PI*PI;
     return 0;
 
}

经过预处理后,可在test.txt中看到

int main()
{
     3.14*3.14;
     return 0;
}

仅编译 :gcc -c *.c -o *.o

编译成汇编:gcc -S *.c -o *.s

链接:gcc 1.o,2.o -o *.exe

3.makefile

假设有a.c,b.c,d.c对应a.o,b.o,d.o,现在将3个.o文件链接在一起生成c.exe有两种方法

第一种

//目标    依赖
c.exe:a.o b.o d.o 
    gcc a.o b.o d.o -o c.exe
a.o:a.c
    gcc -c a.c -o

最后

以上就是靓丽荔枝为你收集整理的Linux的源码到目标程序的过程1.基本概念2.gcc与g++3.makefile的全部内容,希望文章能够帮你解决Linux的源码到目标程序的过程1.基本概念2.gcc与g++3.makefile所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部