在Linux中将C的源文件转换为可执行文件的详细过程

1、首先在LInux中用文本编辑器编辑两个.c文件并保存,如下图所示
其中main.c的源代码为

/* main.c */
/* $begin main */
int sum(int *a, int n);

int array[2] = {1, 2};

int main() 
{
    int val = sum(array, 2);
    return val;
}
/* $end main */

sum.c的源代码为

/* sum.c */
/* $begin sum */
int sum(int *a, int n)
{
    int i, s = 0;
    
    for (i = 0; i < n; i++) { 
        s += a[i];
    }
    return s;
}        
/* $end sum */

2、在该目录下打开终端,然后分别输入命令gcc -E main.c -o main.i和gcc -E sum.c -o sum.i即可的到两个经过C预处理器(cpp)预处理过后的文件,分别为main.i和sum.i(此时还是可识别的文本文件),如图所示在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、继续输入命令gcc -S main.i -o main.s和gcc -S sum.i -o sum.s即可得到两个.s文件,这是两个经过了汇编器的文件,已经被翻译成了ASCII汇编语言文件(还是可以打开的文本文件),如图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、在终端输入命令as -o main.o main.s和as -o sum.o sum.s即可得到两个.o文件,这是两个经过汇编器处理的可重定位文件,是二进制文件,无法打开了,如图所示
在这里插入图片描述
5、最后在终端输入ld -o a main.o sum.o 即可运行链接器将两个.o文件链接在一起,形成一个可执行文件,然后在输入./a即可运行这个可执行文件

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值