Linux环境下gcc的运行程序编译

   Linux环境下的可运行程序的文件的后缀会.elf,它跟Windows环境下的.exe文件是一样的,都是系统可运行的程序文件,但是在Windows环境下所有的编译工作都由像VS这样的编译器给完成了,不需要程序开发人员自己手动再进行文件的编译。但是在Linux环境下,代码是需要程序开发人员自行进行编译生成系统可执行程序文件的。
  接下来以一个简单的hello world的c语言程序进行编译示例简介,通过命令来实现代码的编译从而生成可执行文件。
  1.将我们写好的hello world代码使用filezilla将文件传入Linux虚拟机中
  2.使用xshell或者直接在本机打开命令窗口后使用find + 文件名命令查找是否成功传入文件。(一般非特别要求的情况下不建议直接使用本机进行操作。)
接下来开始进行编译:
  1.gcc -E -o hello.i hello.c
该命令是将.c文件进行预编译操作,使.c文件生成.i文件,这个过程叫做预编译过程
  2.gcc -S -o hello.s hello.i
该命令是将生成的.i文件生成汇编文件,也就是.s文件,这个过程叫做汇编过程
  3.gcc -c -o hello.o hello.s
该命令是将生成的.s文件生成.o文件,这个过程叫做编译过程
  4.gcc -o hello.elf hello.o
该命令是将生成的.o文件生成可执行的.elf文件,这个过程叫做链接过程。
  总结:预编译---->汇编---->编译过程---->链接过程
  上边的命令步骤就完成了对一个.c文件的可执行编译,使用pwd+文件名命令可以查看到编译好的文件的路径,然后输入相关路劲就可以进行运行,这个叫绝对路径的运行方式。也可以使用相对路径的方式来进行运行操作具体的操作命令就是__ ./文件名 __。
  也可以直接对.o文件进行chmod命令,具体的命令是 chmod +X hello.o。

如有错误还请指出,讲的不好多多见谅!谢谢小伙伴们!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值