当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 多个文件函数互相引用的编译操作

Unix/Linux
Linux网管123---组态XWindow系统-1.使用X-Configurator
Linux网管123---安装及硬体组态-8.下载及安装RedHat更新程式
Linux网管123---安装及硬体组态-7.从LILO启动
Linux网管123---安装及硬体组态-1.建立一张安装磁片
Linux程式设计-11.ShellScript(bash)--(2)教学例
Linux程式设计-11.ShellScript(bash)--(1)简介
简单配置linux下的网络邻居samba
如何使用 Linux 系统下的编辑器系列教程(1)
如何将.tif\.rgb\.gif......的图片转换成.xpm的格式?
请问linux下如何查看打开的文件数?谢谢如bsd下面的pstat -T
Redhat 8.0运行一段时间就死机高手帮忙啊(重发)
filesystem type unknown
LINUX与UNIX SHELL编程指南 下载
LINUX应用程序开发指南 下载
各位大哥,请告诉我linux下的文件目录的颜色代表什么?
安装最新中文OpenOffice.org 1.1 RC3
关于redhat 9.0 打开进程打开最大文件数
如何在shell脚本程序中获取日期值?
关于dd命令的求助!!!
如何恢复grub?

Unix/Linux 中的 多个文件函数互相引用的编译操作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 78 ::
收藏到网摘: n/a

在写程序的时候,会经常遇到文件a.c会调用b.c中的某一个函数func(),那么该如何来进行操作呢?答案是:合理的利用Makefile,而不是include,否则会报undefind symbol to _func().下面是详细的操作过程。
/*b.c*/
#include
int p=3;
int func(int i)
{return p*i;}
int setp(int i)
/*a.c*/
#include
extern int p;
extern int func(int i);
extern int setp(int i);//告诉系统这些函数在其他的文件当中
int main(int argc,char *argv[])
{
setp(4);
printf("%d",func(4));
}
/*Makefile*/
all: a
gcc -o a.o b.o
Then run make, run the programme, you will get result 16