Linux C编程,非原创,一个笔记。
首先需要一个C的开发环境。在Linux下,一个完整的C开发环境包括以下三个组成:
1、函数库: glibc
要构架一个完整的C开发环境,Glibc是必不可少的,它是Linux下C的主要函数库。Glibc有两种安装方式:
A.安装成测试用的函数库
在编译程序时用不同的选项来试用新的函数库
B.安装成主要的C函数库
所有新编译程序均用的函数库
Glibc2含几个附加包:LinuxThreads、locale和crypt,通常它们的文件名随版本不同而类似于下列文件名:
glibc-2.06.tar.gz
glibc-linuxthreads-2.0.6.tar.gz
glibc-localedate-2.0.6.tar.gz
glibc-crypt-2.0.6.tar.gz
2、编译器:gcc
gcc(GNU CCompiler)是GNU推出的功能强大、性能优越的多平台编译器,gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,以下是gcc支持编译的一些源文件的后缀及其解释:
.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。
3、系统头文件:glibc_header
缺少了系统头文件的话,很多用到系统功能的C程序将无法编译。
假如用户在安装过程中少装了这些包,就会无法编译C源程序。初学者有时候选择自己定制软件包来安装,结果遗漏了这些包,导致无法编译源程序,不少人就只好重新安装一遍Linux。其实并不需要这样做,虽然从tar包来安装Linux的C开发环境对于初学者来说比较难,但是我们还是可以通过rpm包来迅速安装Linux的C开发环境的。下面以Red Hat 7.3为例,介绍如何安装Linux的C开发环境,如果是更高版本的Red Hat也可以参考,只是要注意软件版本的不同。
由于gcc包需要依赖binutils和cpp包,另外make包也是在编译中常用的,所以一共需要8个包来完成安装,它们是:
cpp-2.96-110.i386.rpm
binutils-2.11.93.0.2-11.i386.rpm
glibc-2.2.5-34.i386.rpm
glibc-kernheaders-2.4-7.14.i386.rpm
glibc-common-2.2.5-34
glibc-devel-2.2.5-34.i386.rpm
gcc-2.96-110.i386.rpm
make-3.79.1-8.i386.rpm
其次我们可以写一个HelloWorld测试。
vi或者Vim,在Home目录下建一个自己测试文件夹:
1、首先写程序代码(C):
#include <stdio.h>
int main()
{
printf("Hello World C!\n");
return 0;
}
保存成helloworld.c
2、编译
#gcc -o HelloWorld HelloWorld.c
3、运行
#./ HelloWorld
显示结果:
Hello World C!
文章来源:
1、http://www.yuanma.org/data/2007/0222/article_2331.htm
2、http://www.cnblogs.com/lzcarl/archive/2005/11/08/271902.html
分享到:
相关推荐
基于linux的HelloWorld程序实验
$vim hello.c >>>> 进入emacs 编辑器环境 #include <stdio.h> int main() { printf("Hello world!\n"); return 0; }
嵌入式 linux 底层helloworld 驱动程序
一个Linux模块程序编程的简单例子---helloworld
linux驱动开发入门的helloworld,包括代码和解析及参考资料
linux 第一个HelloWorld驱动带测试源码,帮助大家入门。
Linux Hello World 驱动 (编译,安装,卸载,查看)
台湾黃敬群教授通过简单的hello world在linux运行过程,层层揭示进程在linux系统上运行机制
该资源包含了一个ndk实现的helloworld,简单易懂。
linux环境下用makefile编译简单的helloworld程序,里面有详细的编译步骤,有写makefile文件时需要注意的一些细节,读者只需按照说明,按部就班地执行就可以成功,欢迎下载!
LINUX学习。
Ubuntu下驱动开发HelloWorld
以helloworld模块在linux-2.4内核下的编写,编译,连接和运行例,简单介绍下linux-2.4下内核模块的编写。
深入浅出hello world。从一个简单的hello,world程序开始,经过预处理、编译、汇编、链接、加载各个步骤详细介绍程序从编辑到执行的...深入的讲解了linux下程序的编译过程,并且讲解了linux kernel系统调用的相关知识。
02.Hello world的回忆 03.秘密一:main函数的原型 (1-3) 04.秘密二:main函数的返回值 (1-3) 05.秘密三:被隐藏的细节 (1-4) 06.秘密四:printf不见了(1-4) 07.秘密五:链接了哪些共享库 (1-3) 08.秘密六:调用共享...
Maven Hello world 程序 及 资源包
android 的hello world 源码
理解Linux上運作Hello World的種種機制
本文档是最基本的Linux设备驱动程序hello world的技术文档,hello world很简单,但如果没有高手指导,或者你的开发板提供的资料做得不够好,那是足够让你花上一个星期也不一定能够搞出来的。本文档是针对Linux设备...
深入淺出 Hello World Jim Huang 黃敬群 理解Linux上運作Hello World的種種機制