十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一般是你在调用函数的时候传递的是int类型的数据,但那个函数定义的参数类型不是int(比如是结构或者指针或者数组)。
创新互联公司-专业网站定制、快速模板网站建设、高性价比策勒网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式策勒网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖策勒地区。费用合理售后完善,十载实体公司更值得信赖。
所以在testc里面只是引用包含app_fifo.h这个头文件的话,因为函数app_fifo_put没有被定义,后来执行这个函数时就会报错 undefined symbol app_fifo_put(未定义符号app_fifo_put)。
函数定义在 文件r.c 里。编译时 2个c文件要 一起编,或 把 r.c 先编译成 r.obj, 链接时 链接进去。
我用vc2010测试了你的代码,没有连接问题,完全正确。但是,如果从工程中,将ds3_seqStackcpp移除,再Build,将得到和你一样的链接错误。因此,猜测你是没有将ds3_seqStackcpp加入工程。
编译器无法知道你的main函数里printst()这些是什么意思,所以,在main前面你要申明,即加上void printst(void);意思是告诉编译器,这个函数已经有了。。你上面写了3个,我这里只说了一个,每个都要那样。。
1、1。在Ac中有完整的函数定义,在Ac中添加一下要用到的函数原型就可以了,例如:在Ac中:有函数void A2(){...};在Ac中:在文件前头增加一行:void A2();就可以了 2。
2、首先建头文件是为了声明c文件中的函数,以及包括宏定义。建立头文件要有对应的c文件。要写头文件首先要建一个.h文件。打开h文件,进行编辑。建立头文件是有一定步骤的。要用到#ifndef。。#define。。
3、如果想有运行结果就必须将函数实体包含进来,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是实体的头文件,但有些软件貌似不能识别头文件和c的关系,所以就只能包含.c文件。
4、在一个文件里面的函数,如果要调用其他文件里的函数的话,你肯定要先include一下函数所在的文件,比如在a.c里面想调用b.c里面的函数,你在a.c里面要加上#include b.c才行。
5、C语言可以在程序中调用其他文件中的函数。在大型的程序软件开发中,为了代码的可读性,或多人同时进行代码开发,可以各写自己的源文件,然后,在编译时,将多个源文件链接到一起,就可以形成最终的目标程序。
1、在Ac中有完整的函数定义,在Ac中添加一下要用到的函数原型(声明)就可以了,例如:在Ac中:有函数void A2(){...};。在Ac中:在文件前头增加一行:void A2();就可以了。
2、将某个源文件的函数写到一个头文件中包含在头文件中#include 或者直接包含该源文件文件。
3、我们想要在另外一个文件,也就是main.c 中调用这个函数的时候,只需要包含它对应的头文件,就可以直接调用了。