码迷,mamicode.com
首页 > 系统相关 > 详细

在Linux下运转C言语程序

时间:2016-08-27 23:53:11      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:include   ubuntu   update   源文件   touch   

市情上罕见的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言语程序

标签:include   ubuntu   update   源文件   touch   

原文地址:http://12009725.blog.51cto.com/11999725/1843289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!