`

Linux下的HelloWorld

阅读更多
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程序实验

    基于linux的HelloWorld程序实验

    linux编程Hello world

    $vim hello.c &gt;&gt;&gt;&gt; 进入emacs 编辑器环境 #include &lt;stdio.h&gt; int main() { printf("Hello world!\n"); return 0; }

    linux环境下用makefile编译简单的helloworld程序

    在这个“linux环境下用makefile编译简单的helloworld程序”的主题中,我们将深入理解如何创建并使用`Makefile`来编译一个基本的C或C++程序,例如“helloworld”。 首先,`helloworld`程序是一个经典的入门示例,...

    Linux学习系列二:运行Hello World .pdf

    本文是“Linux学习系列”的第二篇,旨在深入探讨如何在Linux环境下运行一个经典的入门程序——“Hello World”。第一篇文章《Linux学习系列一:开发环境搭建》受到了广泛关注,激发了许多读者的兴趣。本篇将继续沿着...

    OpenWrt之helloworld程序

    在编译完成后,`helloworld`程序会被安装到OpenWrt的文件系统中,通常位于`/usr/bin`目录下,这样就可以通过命令行运行它了。运行时,程序会输出经典的“Hello, World!”,验证编译和安装的成功。 总之,OpenWrt的...

    arm-linux 简单helloworld

    嵌入式 linux 底层helloworld 驱动程序

    openwrt可用helloworld程序

    2. 编写源代码:在`src`目录下创建一个名为`helloworld.c`的C语言源文件,内容如下: ```c #include int main() { printf("Hello, World!\n"); return 0; } ``` 3. 配置Makefile:`Makefile`应包含以下内容,...

    深入淺出 Hello World

    【深入淺出 Hello World】这篇文章主要探讨了编程领域中最基础且经典的示例——"Hello World"程序在Linux系统中的运行机制。"Hello World"程序是一个简单的输出“Hello World!”的程序,通常用于教学和演示语言的...

    Linux Hello World 驱动

    "Linux Hello World 驱动"是一个简单的示例,用于帮助初学者理解驱动开发的基本过程。这个教程将涵盖如何编写、编译、安装、卸载以及查看一个基本的Linux驱动。 首先,我们从编写"Hello World"驱动开始。在Linux...

    linux 第一个HelloWorld驱动带测试源码.rar

    "linux 第一个HelloWorld驱动带测试源码.rar" 提供了一个简单的入门级示例,帮助初学者熟悉Linux内核驱动的开发过程。这个压缩包包含了创建、编译和测试一个基本驱动程序的所有必要文件。 首先,"HelloWorld"驱动...

    Linux模块程序-helloworld

    一个Linux模块程序编程的简单例子---helloworld

    深入淺出Hello World ( HackingHelloWorld-PartI)

    ### 深入淺出Hello World —— Hacking HelloWorld (Part I) #### 概述 在《深入淺出Hello World》这一系列文章中,作者Jim Huang(黃敬群/"jserv")通过深入剖析经典的“Hello World”程序,旨在帮助读者理解在...

    Ubuntu下驱动开发HelloWorld_linux_Ubuntu!_ubuntu驱动开发_armrb9_

    Ubuntu下驱动开发HelloWorld

    深入浅出Hello World理解Linux上运作Hello World的种种机制

    《深入浅出Hello World理解Linux上运作Hello World的种种机制》 在计算机科学的世界里,"Hello, World!" 是每一个初学者接触编程的第一步。它简单到几乎无需解释,但背后却蕴含着操作系统如何管理程序运行的丰富...

    androidNDK helloworld

    这个"androidNDK helloworld"资源就是一个入门级别的示例,旨在帮助初学者理解如何在Android项目中集成和使用NDK。下面将详细讲解Android NDK的基础知识以及如何创建并运行一个简单的"Hello, World!"程序。 首先,...

    JNI入门之HelloWorld(一)

    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目录、生成...

    hello world _android

    在Android开发领域,"Hello World"程序是每个初学者入门时的第一个项目,它标志着开发者向Android编程世界的迈进。"hello world _android"这个标题暗示我们将深入探讨如何在Android环境中创建并运行一个简单的"Hello...

    Java JNI HelloWorld.rar

    编译`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

    "Linux驱动开发之旅(一)--helloworld"是一个针对初学者的教程,旨在帮助新手理解驱动开发的基本步骤和关键点。在这个教程中,我们将创建一个简单的字符设备驱动,它的主要功能就是向用户空间输出"Hello, World!...

    linux下hello的汇编程序

    本主题将深入探讨在Linux环境下编写和运行一个简单的"hello world"汇编程序。 标题“linux下hello的汇编程序”表明我们将关注的是如何在Linux系统中使用汇编语言来创建一个输出"hello world"的程序。汇编程序通常以...

Global site tag (gtag.js) - Google Analytics