首先我们的目录下有两个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系统概览 ##### 1.1 Unix的版本 Unix操作系统有着丰富的历史背景和发展历程。自20世纪70年代诞生以来,Unix经历了多个版本的演进,形成了不同的分支,主要包括两大...
【C语言程序设计入门】 C语言程序设计是计算机科学中的基础课程,主要目的是让学习者理解和掌握C语言的编程基础。本章主要介绍了C语言的发展历程、特点,以及结构化程序设计的基本概念。 1. **C语言的发展及特点**...
Linux 操作系统的发展历程可以分为三个阶段:第一个阶段是 UNIX 的诞生和发展,第二个阶段是 GNU 计划的发起和 POSIX 标准的制定,第三个阶段是 Linux 的诞生和发展。 C 语言是 Ritchie 和 Kernighan 共同开发的,...
在C语言中,`main`函数是程序的入口点,`int main()`声明了一个返回整型值的主函数。`printf`函数是用于输出的函数,它接受格式化的字符串并将其打印到标准输出,如屏幕。在示例程序中,`#include <stdio.h>`是...
本书是专为在UNIX平台下用C语言编制程序的人写的。是以POSIX为标准,主要以C语言为基础,详细介绍了UNIX平台下编写各种应用程序的范例和方法。全书分四个部分,共十五章。本书范例丰富,且具有代表性,如Socket编程...
在实际操作中,例如在VC++开发环境下,能够创建并运行简单的C语言程序是基础技能之一。 本章的学习目标不仅限于理论知识,还包括实践能力的培养,如模仿编写C程序和使用开发环境。通过这一章的学习,学习者将开启...
在深入探讨UNIX下C开发的知识点之前,先要理解为何UNIX环境对于C语言开发者如此重要。UNIX系统以其稳定性、高效性和强大的系统编程接口闻名,是许多资深程序员的首选平台。C语言作为UNIX系统的"母语",在UNIX环境中...
### 《C语言程序设计》教案知识点概览 #### 一、C语言简介与特点 - **起源与发展**:C语言是由AT&T贝尔实验室的Dennis Ritchie在1972年发明的一种通用编程语言。它最初是为UNIX操作系统开发的,并在此基础上不断...
在Unix环境编程的第一章,我们通常会接触到操作系统的基础概念,以及如何在Unix系统下编写程序。这一章的内容是学习Unix编程的基石,涵盖了进程管理、文件I/O、标准输入输出和错误处理等核心主题。 首先,Unix是一...
该标题指向的是一本关于C语言程序设计基础的教材的前四章。请注意,由于没有具体的内容可以用来校验,我将尽可能地覆盖C语言编程的基础知识点,而不会涉及特定教材内容的细节。 知识点一:C语言概述 C语言是一种...
"C语言程序设计(第五版)-谭浩强.pptx" 本资源的标题是"C语言程序设计(第五版)-谭浩强.pptx”,是关于C语言程序设计的...11. C语言的例子:该资源还提供了一个简单的C语言程序的例子,用于输出"This is a C program."。
本知识点将详细介绍如何编写第一个C++程序,以及如何使用Cygwin环境进行C++编程。 ### 第一个C++程序 编写第一个C++程序实际上是学习编程的开始。一个典型的C++程序通常包含以下几个核心部分: 1. **预处理指令**...
在UNIX操作系统中,C语言是核心开发语言之一,它的强大功能和灵活性使得它成为系统级编程的首选。本文将深入探讨UNIX下C语言编程的基本概念、关键知识点,并结合实例进行解析。 1. **C语言基础** - **数据类型**:...
在"第1章 C语言程序设计概述"中,我们首先接触到计算机与程序设计的概念。计算机语言是人与计算机交流的工具,而计算机程序是用一系列指令编写的脚本,用于指示计算机执行特定任务。C语言作为高级语言,它不依赖于...
C语言程序设计是计算机科学的基础课程,主要涵盖了如何使用C语言进行有效的程序开发。本章“C程序设计概述”旨在引导初学者...理解这些基本概念是学习C语言程序设计的第一步,为后续深入学习和实际编程打下坚实基础。
《UNIX环境高级编程》的CHM英文第二版和清晰PDF中文第一版分别提供了英文和中文阅读的选择,满足不同语言需求的读者。源代码部分则允许读者实际操作,通过编写和运行示例代码来巩固理论知识。 总而言之,无论你是...
学习C语言的关键概念,如变量、数据类型、控制结构、函数、指针以及内存管理,是构建坚实基础的第一步。 在UNIX系统中,头文件和标准库是C编程的重要组成部分。例如,`stdio.h`提供了输入/输出功能,`stdlib.h`包含...
【C语言程序设计(第三版)】是由教育领域专家撰写的一本书,旨在教授读者如何使用C语言进行程序设计。该书特别强调了流程图在理解算法过程中的作用,指出流程图能够清晰地展示程序的执行步骤,而注释框则是为了辅助...
首先,第一章介绍了C语言的历史背景。C语言起源于1970年代,由贝尔实验室的D.M.Ritchie在B语言的基础上发展而来。B语言因其简洁和接近硬件的特性被用于编写UNIX操作系统,但存在数据无类型的缺点。Ritchie改进了这些...