外部函数的调用问题

owldestiny 2010-10-18 09:37:41
main.c

#include "fun1.h"

int main()
{
fun1();
}


fun1.h

void fun1();


#include "fun1.h"
void fun1()
{

}

这样会报undefined fun1()的错误,应该怎么写合适呢,请高手指点一下
...全文
113 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
alan1985 2010-10-18
  • 打赏
  • 举报
回复
在func1定义的前面加extern “C”试试
owldestiny 2010-10-18
  • 打赏
  • 举报
回复
我用的不是VC是做QNX程序开发的,所以在VC下面通过的在这里过不去
owldestiny 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 shenchenman 的回复:]
弱弱的问下,3个文件是在一个工程下么。。
[/Quote]
在一个工程下面
owldestiny 2010-10-18
  • 打赏
  • 举报
回复
知道是为什么了......................

这个是C程序

fun1.cpp是c++的源程序文件................
改成fun1.c就可以了
多谢各位
shenchenman 2010-10-18
  • 打赏
  • 举报
回复
弱弱的问下,3个文件是在一个工程下么。。
owldestiny 2010-10-18
  • 打赏
  • 举报
回复
..........为啥我这就是有问题....
try325 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 owldestiny 的回复:]

引用楼主 owldestiny 的回复:
main.c

C/C++ code

#include "fun1.h"

int main()
{
fun1();
}



fun1.h

C/C++ code

void fun1();



fun1.cpp
C/C++ code

#include "fun1.h"
void fun1()
……
[/Quote]
分开三个文件,没问题的,
owldestiny 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 owldestiny 的回复:]
main.c

C/C++ code

#include "fun1.h"

int main()
{
fun1();
}



fun1.h

C/C++ code

void fun1();



fun1.cpp
C/C++ code

#include "fun1.h"
void fun1()
{

}


这样会报undefined fun1……
[/Quote]
最后一个是fun1.cpp,忘记写了
try325 2010-10-18
  • 打赏
  • 举报
回复
这样定义看不出错误啊
vc6中编译没问题,warning也没有
owldestiny 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiakan008 的回复:]
#ifndef FUN_H
#define FUN_H
void fun1();
#endif
试试?
[/Quote]
试过了,不行啊
是不是跟编译器有关
BT六眼飞鱼 2010-10-18
  • 打赏
  • 举报
回复
#ifndef FUN_H
#define FUN_H
void fun1();
#endif
试试?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧