C语言中如何引用其它C源文件中的函数?
A1.C 和 A2.c
我把一个自字义函数写在A2.c里面,然后在A1.c里面调用它
1,A1.c要怎样调用?
2,A2.c里面要怎样写?只写一个自定义函数就可以了吗? 展开
在源文件A1.c中调用A2.c 中的函数有两种方法:
1、在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:
在A2.c中:有函数void A2(){...};。
在A1.c中:在文件前头增加一行:void A2();就可以了。
2、把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了。
以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。
其实函数默认是外部的,只要在其他文件中声明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件调用。
扩展资料:
1、一个.h文件要 对应有一个.c文件,这样链接器就可以调用这个文件里的函数。比如a.h 和 a.c。
2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.c往往会include对应的.h。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。
3、再在其他的main.c文件开头添加#include "a.h"。
1。在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:
在A2.c中:有函数void A2(){...};
在A1.c中:在文件前头增加一行:void A2();就可以了
2。把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了
以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。
其实函数默认是外部的,只要在其他文件中声明就能使用; 但是注意如果在前面加上static , 就只能在本文件中使用了, 不能再被其他的文件调用。
1。在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型就可以了,例如:
在A2.c中:有函数void A2(){...};
在A1.c中:在文件前头增加一行:void A2();就可以了
2。把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了
以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。
1.需要在 使用此函数的源文件 中 包含被使用函数所在的源文件,并且保证被使用函数所在的源文件在工程的源文件目录中。
比如说要在a.c中使用func()函数,func()函数在func.c中定义,源文件路径为“d:/project/path/”,那么就需要在a.c中加上#include"func.c",并且将func.c拷贝到“d:/project/path/"下。
2.使用extern进行声明,表示函数在其他文件中定义了。
比如说要在a.c中使用func()函数,func()函数在func.c中定义,原型是原型是int func(int mu),在a.c的前面加上extern int func(int mu) ,并且将func.c放在a.c相同的路径下即可。
应该可以吧