首页 > 代码库 > 在Linux下运转C言语程序
在Linux下运转C言语程序
市情上罕见的Linux多是刊行版本,典型的Linux刊行版包括了Linux内核、桌面情况和各类常用的必备工具,国际运用较多的是Ubuntu(乌班图)、CentOS、Deepin(深度Linux)。本教程以Deepin为例来讲述若何编译C程序。
Gedit
Gedit是一个复杂适用的文本编纂器,具有美丽的界面,支撑语法高亮,比 Vim 更易上手。本教程将Gedit作为C代码编纂器。
Gedit的装置:
sudo apt-add-repository ppa:ubuntu-on-rails/ppa //添加ubuntu的软件源 sudo apt-get update //更新软件列表 sudo apt-get install gedit-gmate //装置
在以后目次下创立一个C源文件并翻开:
touch test.c gedit test.c
可以看到gedit的窗口,输出:
#include<stdio.h> #include<stdlib.h> int main() { printf("Hello,Linux.\n"); exit(0); }
gedit 窗口截图
留意:Gedit支撑多种言语的高亮显示,普通状况下可以主动辨认言语,假如辨认毛病,请在“编纂->高亮形式“下选择C。
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
假如没有运转权限,可以运用sudo敕令来添加权限(留意要在Linux的分区下):
sudo cdmod test 777
关于程序的检错,我们可以用-pedantic、-Wall、-Werror选项:
-pedantic选项可以协助程序员发现一些不契合 ANSI/ISO C规范的代码(并不是全体);
-Wall可以让gcc显示正告信息;
-Werror可以让gcc在编译中碰到毛病时中止持续。
这3个选项多是十分有效的。
本文出自 “11999725” 博客,请务必保留此出处http://12009725.blog.51cto.com/11999725/1843289
在Linux下运转C言语程序