`
tomotoboy
  • 浏览: 162503 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

unix下第一个C程序

阅读更多
首先我们的目录下有两个C程序,功能很简单就是求一个整数的阶乘
/home/l/g/tomotoboy/c >ls
factorial.c  main.c


factorial.c
int factorial(int n)
{
 if(n<=1)
return 1;
else
return factorial(n-1)*n;
}

main.c
#include <stdio.h>
#include  <unistd.h>
int main(int argc, char **argv)
{
int n;
if (argc < 2)
{
printf ("Usage: %s n\n", argv [0]);
return -1;
}
else
{
n = atoi (argv[1]);
printf ("Factorial of %d is %d.\n", n, factorial (n));
}
return 0;
}


编译main.c,factorial.c
/home/l/g/tomotoboy/c >gcc -c main.c factorial.c
/home/l/g/tomotoboy/c >ls
factorial.c  factorial.o      main.c       main.o

我们看见多了两个文件:main.o,factorial.o,是我们编译之后产生的目标文件。
接着我们通过链接来生成可执行文件main
/home/l/g/tomotoboy/c >gcc -o main main.o factorial.o
/home/l/g/tomotoboy/c >ls
factorial.c  factorial.o     main         main.c       main.o

为什么输出文件main后面要跟main.o,还有factorial.o呢?这里需要做些解释:
  • main.o是包含main函数的主体程序的目标文件。
  • factorial.o是main.o所调用的函数factorial(int n)的实现文件的目标程序,在链接的时候必须详细给出。
同时,我们发现又多了一个文件main,它就是我们最终的可执行文件,执行一下看看结果:
/home/l/g/tomotoboy/c >main 9
Factorial of 9 is 362880.

这样一来我们的第一C程序从编译到运行的过程就算完成了。


分享到:
评论

相关推荐

    unix平台下c语言高级编程指南

    本书是专为在UNIX平台下用C语言编制程序的人写的。是以POSIX为标准,主要以C语言为基础,详细介绍了UNIX平台下编写各种应用程序的范例和方法。全书分四个部分,共十五章。本书范例丰富,且具有代表性,如Socket编程...

    C程序设计语言 北航软件所 晏海华编写

    1983年,在ACM图林奖颁奖大会上,杰出的计算机科学家、UNIX的鼻祖、C语言的创始人之一,图林大奖得主:Ken Thompson 上台的第一句话便是:“我是一个程序员,在我的1040表(美国报税表)上,我自豪地写上了我的职业...

    UNIX环境高级编程第一版pdf+code

    本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按...

    《C程序设计语言》(The C Programming Language)(Dennis M.Ritchie & Brian W.Kernighan)第2版·新版[PDF]

    原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的...

    C程序设计语言(第二版,中文版) K&R

    原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的...

    UNIX网络编程(第1卷)-源码

    《UNIX网络编程 卷1:套接字联网API(第2版)》是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/...

    UNIX平台下C语言高级编程指南

    此书是专为在UNIX平台下用C语言编制程序的人而写的.全书分为四个部分.第一部分介绍了UNIX常用的系统调用;第二部分介绍了基于SOCKET的网络编程技术;第三部分介绍了基于Motif的X Windows应用程序编写;第四部分介绍了在...

    C语言程序设计第二版

    本书是由C语言的设计者Brian W....全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。

    《C程序设计语言》(The C Programming Language)(Dennis M.Ritchie & Brian W.Kernighan)第2版·新版[chm]

    原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的...

    C程序设计语言(第2版_新版).rar

    全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。《C程序设计语言》的讲述深入浅出,...

    C语言第五版 第1章

    以UNIX第7版中的C语言编译程序为基础,1978年,Brian W.Kernighan和Dennis M.Ritchie 合著了影响深远的名著The C Programming Language,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它是实际上第一个...

    C程序设计语言(第2版·新版)非扫描版&详细书签版.pdf

    原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。原著第2版根据1987年制定的ANSI...

    UNIX操作系统概述

    Unix操作系统自1969年问世以来,至今已有20年的历史,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。目前这个操作系统已经广泛移植在微型计算机,小型计算机,工作站,...

    C语言程序设计(第三版)-谭浩强

    C语言是国际上广泛流行的高级语言。 C语言是在B语言的基础上发展...B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。

    C程序设计语言[第2版].pdf

    我们现在见到的大量论述C语言程序设计的教材和专著均以 此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经...

    c语言程序设计PPT

    B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。 1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言...

    c程序设计语言 第2版 PDF 非扫描(清晰)

    原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。原著第2版根据1987年制定的ANSI...

    unix环境高级编程1-7章

    本书说明Unix 系统的程序设计界面—系统调用界面和标准C 提供的很多函数。这些对 编写在Unix 系统中运行的程序是非常有帮助的。 与大多数操作系统一样,Unix 对程序运行提供了大量的服务—打开文件、读文件、启 动...

    Unix系统编程(程序设计语言+系统调用)

    本课程主要讲述在Unix/Linux...第一章 UNIX系统基础 第二章 程序、进程和线程 第三章 UNIX IO 第四章 UNIX文件系统 第五章 进程间通信 第六章 管道 第七章 高级进程间通信 第八章 精灵进程 目前有八章PPT,之后持续更新

    UNIX环境高级编程第二版

    本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按...

Global site tag (gtag.js) - Google Analytics