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环境下用makefile编译简单的helloworld程序”的主题中,我们将深入理解如何创建并使用`Makefile`来编译一个基本的C或C++程序,例如“helloworld”。 首先,`helloworld`程序是一个经典的入门示例,...
本文是“Linux学习系列”的第二篇,旨在深入探讨如何在Linux环境下运行一个经典的入门程序——“Hello World”。第一篇文章《Linux学习系列一:开发环境搭建》受到了广泛关注,激发了许多读者的兴趣。本篇将继续沿着...
在编译完成后,`helloworld`程序会被安装到OpenWrt的文件系统中,通常位于`/usr/bin`目录下,这样就可以通过命令行运行它了。运行时,程序会输出经典的“Hello, World!”,验证编译和安装的成功。 总之,OpenWrt的...
嵌入式 linux 底层helloworld 驱动程序
2. 编写源代码:在`src`目录下创建一个名为`helloworld.c`的C语言源文件,内容如下: ```c #include int main() { printf("Hello, World!\n"); return 0; } ``` 3. 配置Makefile:`Makefile`应包含以下内容,...
【深入淺出 Hello World】这篇文章主要探讨了编程领域中最基础且经典的示例——"Hello World"程序在Linux系统中的运行机制。"Hello World"程序是一个简单的输出“Hello World!”的程序,通常用于教学和演示语言的...
"Linux Hello World 驱动"是一个简单的示例,用于帮助初学者理解驱动开发的基本过程。这个教程将涵盖如何编写、编译、安装、卸载以及查看一个基本的Linux驱动。 首先,我们从编写"Hello World"驱动开始。在Linux...
"linux 第一个HelloWorld驱动带测试源码.rar" 提供了一个简单的入门级示例,帮助初学者熟悉Linux内核驱动的开发过程。这个压缩包包含了创建、编译和测试一个基本驱动程序的所有必要文件。 首先,"HelloWorld"驱动...
一个Linux模块程序编程的简单例子---helloworld
### 深入淺出Hello World —— Hacking HelloWorld (Part I) #### 概述 在《深入淺出Hello World》这一系列文章中,作者Jim Huang(黃敬群/"jserv")通过深入剖析经典的“Hello World”程序,旨在帮助读者理解在...
Ubuntu下驱动开发HelloWorld
《深入浅出Hello World理解Linux上运作Hello World的种种机制》 在计算机科学的世界里,"Hello, World!" 是每一个初学者接触编程的第一步。它简单到几乎无需解释,但背后却蕴含着操作系统如何管理程序运行的丰富...
这个"androidNDK helloworld"资源就是一个入门级别的示例,旨在帮助初学者理解如何在Android项目中集成和使用NDK。下面将详细讲解Android NDK的基础知识以及如何创建并运行一个简单的"Hello, World!"程序。 首先,...
gcc -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -fPIC -shared -o libhelloworld.so com_helloworld_HelloWorld.c ``` 这里使用了多个编译选项,包括指定JDK的include目录、生成...
在Android开发领域,"Hello World"程序是每个初学者入门时的第一个项目,它标志着开发者向Android编程世界的迈进。"hello world _android"这个标题暗示我们将深入探讨如何在Android环境中创建并运行一个简单的"Hello...
编译`HelloWorld.c`成动态链接库`hello.dll`(在Windows上),在Linux或macOS上可能是`libhello.so`。这通常通过`gcc`或`g++`完成,并链接到JNI库: ```bash gcc -shared -o hello.dll HelloWorld.c -I/usr/lib/jvm...
"Linux驱动开发之旅(一)--helloworld"是一个针对初学者的教程,旨在帮助新手理解驱动开发的基本步骤和关键点。在这个教程中,我们将创建一个简单的字符设备驱动,它的主要功能就是向用户空间输出"Hello, World!...
本主题将深入探讨在Linux环境下编写和运行一个简单的"hello world"汇编程序。 标题“linux下hello的汇编程序”表明我们将关注的是如何在Linux系统中使用汇编语言来创建一个输出"hello world"的程序。汇编程序通常以...