Linux下编写C程序( GCC )
GCC跟Turbo C的处理过程大同小异,其由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。所以,基本上可以这么说,用过Turbo C的,很容易就会习惯GCC了。
好了,现在我们来写个简单的程序吧。首先是安装GCC,如果你使用的是Ubuntu,则在终端中输入以下命令来安装GCC。
sudo apt-get install gcc
安装好GCC就可以写程序了?别急,现在GCC什么文件都还不能编译呢。还记得在Turbo C上我们不是还要设置头文件的路径吗?是的,我们需要安装这些头文件,这就是build- essential软件包。安装好这个包,系统就会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1- dev等一些必须的软件和头文件的库。我们可以在终端中输入下面命令来安装:
sudo apt-get install build-essential
好了,环境搭建完毕,就让我们开始动手写程序吧。首先来个最经典的hello world热热身。用 gedit 或者 vi 写下这个程序,并保存为hello.c。
#include <stdio.h>
int main()
{
printf( “Hello world!\n” );
return 0;
}
将文件保存为hello.c后,在终端中使用敲入以下命令来使用GCC对程序进行编译。
gcc hello.c -o hello
编译通过后,我们会在当前目录中看到hello文件,这就是编译后生成的可执行文件。好了,我们来运行一下它,来跟world打个招呼。
./hello
我们可以看到在终端中输出了”Hello world!”,这就说明我们的程序运行成功了。
最后,需要特别说明的是GCC中对于文件后缀的规定有点特殊,特别是C++源代码文件的后缀不是cpp,而是cc或cxx。
.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。
好了,发挥想象力尽情写程序吧!
转载于:https://blog.51cto.com/stevens/174797
Linux下编写C程序( GCC )相关推荐
- linux 编写完程序吗,linux下编写C++程序
注:本文写的内容全部在ubuntu12.04下完成. 要在linux下写C++程序,要懂的一点编译的知识.下面介绍一下. 源代码->预处理器(负责将代码补充)->汇编程序(生成汇编语言)- ...
- 在Linux下编写C++程序,使用gcc编译c++出错
问题 /usr/bin/ld: /tmp/ccMSWoFl.o: in function __static_initialization_and_destruction_0(int, int)': f ...
- 在Linux下编写C程序,怎么检查程序是否有内存泄漏?
From: http://bbs.chinaunix.net/thread-908769-1-1.html 如题. ------------------------------- 找到了! http ...
- linux 程序播放音频,linux下编写C++程序播放音频
linq实现数组转符号分割的字符串(备忘) fitemidstr = string.Join(",", detailpre1.Select(i => i.Key.ToStri ...
- Linux运行911,韦东山-Linux下编写GT911触摸驱动 - 百问网嵌入式问答社区
源码在最下面 问题一:资源获取Gt911数据手册 在韦老师给的资料里,路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121 ...
- Linux下C语言程序编写及执行和分步骤编译链接C源代码
实验一:Linux下C语言程序编写及执行 //hello.c #include <stdio.h> int main(){int x = 1;int y = 2;int sum = x + ...
- linux应用程序的编写实验原理,操作系统实验 1.在linux下编写一个应用程序 联合开发网 - pudn.com...
操作系统实验 所属分类:Linux/Unix编程 开发工具:C/C++ 文件大小:1KB 下载次数:3 上传日期:2019-05-01 20:34:21 上 传 者:烟雨南风起 说明: 1.在lin ...
- linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt
[2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...
- spdlog linux编译出错,Linux下编写Makefile引入第三方库
Linux下编写Makefile引入第三方库 前言:一直在使用CmakaList 生成Makefile文件,其实很少去写Makefile,但是最近帮朋友处理了一个Makefile引入第三方库的问题,就 ...
- Linux下编写C语言
刚入门计算机的小伙伴们,肯定接触的语言是C/C++,在Unix内核下编程,如windows需要安装相应的编程软件,比较经典的是Microsoft Visual Studio 6.0,我就不多赘述了,下 ...
最新文章
- linux 查看剪贴板历史,Clipboard History Manager插件,查看浏览器剪贴板历史记录
- flask 快速入门链接
- Android Prelink
- python怎么学最快-怎么快速自学python
- abstract类_走进C# abstract,了解抽象类与接口的异同
- Elasticsearch 集群中增加专用master节点
- windows怎么打开python_windows怎么打开Python
- 【OpenCV】OpenCV函数精讲之 -- 教你如何使用离散傅里叶变换
- Docker入门之四搭建私有仓库
- python所有软件-太牛逼!一款软件几乎可以操作所有的数据库!
- 函数2——*args/**kwargs、作用域、函数的嵌套、关键字globa和nonlocal、函数的注释...
- db9口rs485引脚接收和发送定义
- android ios开发难度对比,ios VS android:这不就是简洁与复杂最明显的对比
- 英文字母pc是什么意思,互联网的pc指的是什么
- 多个PDF怎么一起打印?教你两种打印方法
- java中逗号运算符的含义_逗号运算符什么时候有用?
- 【linux性能优化】定位分析狂打日志的问题
- Windows: Ctrl,Alt, Shift等快捷键的含义
- js function后面小括号
- 谷歌账户在别的网上登过_如何在Google帐户之间转移联系人
热门文章
- python hbase_python 操作 hbase
- java分子分母题,JAVA黄金分割点练习题
- ubuntu中如何查看系统信息(uname)
- Best of Best系列(1)——CVPR
- 实现对接顺丰业务的订单管理系统
- 服务站: WCF 消息传递基础 -- MSDN Magazine, April 2007
- .nett Core之路由配置
- Python3 pygal 与 pygal_maps_world 绘制世界地图
- openoffice转换pdf 异常问题查找处理 errorCode 525
- 深入理解Yii2.0(yii学习的经典博客)