首先我们的目录下有两个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语言编制程序的人写的。是以POSIX为标准,主要以C语言为基础,详细介绍了UNIX平台下编写各种应用程序的范例和方法。全书分四个部分,共十五章。本书范例丰富,且具有代表性,如Socket编程...
1983年,在ACM图林奖颁奖大会上,杰出的计算机科学家、UNIX的鼻祖、C语言的创始人之一,图林大奖得主:Ken Thompson 上台的第一句话便是:“我是一个程序员,在我的1040表(美国报税表)上,我自豪地写上了我的职业...
本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按...
原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的...
原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的...
《UNIX网络编程 卷1:套接字联网API(第2版)》是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/...
此书是专为在UNIX平台下用C语言编制程序的人而写的.全书分为四个部分.第一部分介绍了UNIX常用的系统调用;第二部分介绍了基于SOCKET的网络编程技术;第三部分介绍了基于Motif的X Windows应用程序编写;第四部分介绍了在...
本书是由C语言的设计者Brian W....全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的...
全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。《C程序设计语言》的讲述深入浅出,...
以UNIX第7版中的C语言编译程序为基础,1978年,Brian W.Kernighan和Dennis M.Ritchie 合著了影响深远的名著The C Programming Language,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它是实际上第一个...
原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。原著第2版根据1987年制定的ANSI...
Unix操作系统自1969年问世以来,至今已有20年的历史,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。目前这个操作系统已经广泛移植在微型计算机,小型计算机,工作站,...
C语言是国际上广泛流行的高级语言。 C语言是在B语言的基础上发展...B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。
我们现在见到的大量论述C语言程序设计的教材和专著均以 此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经...
B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。 1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言...
原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。原著第2版根据1987年制定的ANSI...
本书说明Unix 系统的程序设计界面—系统调用界面和标准C 提供的很多函数。这些对 编写在Unix 系统中运行的程序是非常有帮助的。 与大多数操作系统一样,Unix 对程序运行提供了大量的服务—打开文件、读文件、启 动...
本课程主要讲述在Unix/Linux...第一章 UNIX系统基础 第二章 程序、进程和线程 第三章 UNIX IO 第四章 UNIX文件系统 第五章 进程间通信 第六章 管道 第七章 高级进程间通信 第八章 精灵进程 目前有八章PPT,之后持续更新
本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按...