怎么用centos7运行c语言程序_在Linux下运行C语言程序

本文介绍了如何在Fedora 21 Workstation系统上使用GCC编译C语言程序,包括预处理、编译、汇编、链接的步骤,并提到了Linux下可执行文件的特点以及权限设置。
摘要由CSDN通过智能技术生成

市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核、桌面环境和各种常用的必备工具,国内使用较多的是Ubuntu(乌班图)、CentOS、Fedora。

我以Fedora 21 workstation 系统 为例来讲述如何编译C程序。

顺便介绍一下Fedora 21 Workstation的特点:Fedora基于Red Hat Linux,在Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux(Red Hat企业版Linux,RHEL)则取代Red Hat Linux在商业应用的领域。

1 #include

2 #include

3 intmain()4 {5 printf("Hello,Linux.\n");6 exit(0);7 }

GCC

Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具。本教程毫不犹豫地使用GCC来编译C程序。

保存文件后退出,打开终端并 cd 到当前目录,输入下面的命令:

gcc test.c -o test

可以直接将C代码编译链接为可执行文件。

可以看到在当前目录下多出一个文件 test,这就是可执行文件。不像Windows,Linux不以文件后缀来区分可执行文件,Linux下的可执行文件后缀理论上是可以任意更改的。

当然,也可以分步编译:

1) 预处理

gcc -E test.c -o test.i

在当前目录下会多出一个预处理结果文件 test.i,打开 test.i 可以看到,在 test.c 的基础上把stdio.h和stdlib.h的内容插进去了。

2) 编译为汇编代码

gcc -S test.i -o test.s

其中-S参数是在编译完成后退出,-o为指定文件名。

3) 汇编为目标文件

gcc -c test.s -o test.o

.o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是由于还没有链接,结构会稍有不同。

3) 链接并生成可执行文件

gcc test.o -o test

如果有多个源文件,可以这样来编译:

gcc -c test1.c -o test1.o

gcc -c test2.c -o test2.o

gcc test1.o test2.o -o test

注意:如果不指定文件名,GCC会生成名为a.out的文件,.out文件只是为了区分编译后的文件,Linux下并没有标准的可执行文件后缀名,一般可执行文件都没有后缀名。

编译后生成的test文件就是程序了,运行它:

./test

如果没有运行权限,可以使用su命令来增加权限(注意要在Linux的分区下):

chmod +x test

对于程序的检错,我们可以用-pedantic、-Wall、-Werror选项:

-pedantic选项能够帮助程序员发现一些不符合 ANSI/ISO C标准的代码(并不是全部);

-Wall可以让gcc显示警告信息;

-Werror可以让gcc在编译中遇到错误时停止继续。

这3个选项都是非常有用的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值