个人工具
登录
查看“Gcchowto”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Gcchowto”的源代码
来自Ubuntu中文
←
Gcchowto
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 编译多个源文件 == 一个源程序可以分成几个文件。这样便于编辑与理解,尤其是程序非常大的时候。这也使各部分独立编译成为可能。 下面的例子中我们将程序 ''Hello World'' 分割成 3 个文件:‘hello.c’,‘hello_fn.c’和头文件‘hello.h’。 这是第一个文件,即主程序‘hello.c’: <source lang="c"> #include "hello.h" int main(void) { hello ("world"); return 0; } </source> 在先前例子的‘hello.c’中,我们调用的是库函数 '''printf''',本例中我们用一个定义在文件‘hello_fn.c’中的函数 '''hello''' 取代它。 主程序中包含有头文件‘hello.h’,该头文件包含函数 '''hello''' 的声明。我们不需要在‘hello.c’文件中包含系统头文件‘stdio.h’来声明函数 '''printf''',因为‘hello.c’没有直接调用 '''printf'''。 这是第二个文件‘hello.h’,文件‘hello.h’中的声明只用了一行就指定了函数 '''hello''' 的原型。 <source lang="c"> void hello (const char * name); </source> 函数 '''hello''' 的定义在第三个文件‘hello_fn.c’中: <source lang="c"> #include <stdio.h> #include "hello.h" void hello (const char * name) { printf ("Hello, %s!\n", name); } </source> 语句 '''#include "FILE.h"''' 与 '''#include <FILE.h>''' 有所不同:前者在搜索系统头文件目录之前将先在当前目录中搜索文件‘FILE.h’,后者只搜索系统头文件而不查看当前目录。 要用''gcc''编译以上源文件,使用下面的命令: $ gcc -Wall hello.c hello_fn.c -o newhello 本例中,我们使用选项 '''-o''' 为可执行文件指定了一个不同的名字 '''newhello'''。注意到头文件‘hello.h’并未在命令行中指定。源文件中的的 '''#include "hello.h"''' 指示符使得编译器自动将其包含到合适的位置。 要运行本程序,输入可执行文件的路径名: $ ./newhello Hello, world! 源程序各部分被编译为单一的可执行文件,它与我们先前的例子产生的结果相同。 点击[http://ubuntu:ubuntuftp@ftp.ubuntu.org.cn/home/dbzhang800/wiki/gcchowto2.avi 此处]下载本节的操作视频
返回至
Gcchowto
。