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呢?这里需要做些解释:
[list]
[*]main.o是包含main函数的主体程序的目标文件。
[*]factorial.o是main.o所调用的函数factorial(int n)的实现文件的目标程序,在链接的时候必须详细给出。
[/list]同时,我们发现又多了一个文件main,它就是我们最终的可执行文件,执行一下看看结果:
/home/l/g/tomotoboy/c >main 9
Factorial of 9 is 362880.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值