从DLL函数调用非DLL函数

时间:2011-01-12 18:19:23

标签: c++ dll

我正在写一个DLL:

#include "stdafx.h"
_DLLAPI int __stdcall myDLLFunc()  
{  
    return test(4);
}
int test(int arg)
{
    return arg * arg;
}

但是当我尝试在MS VC ++ Express中编译它时,它说:

  

错误C3861:'test':找不到标识符

如何从test致电myDLLFunc? 我错过了明显的吗?

提前致谢。

1 个答案:

答案 0 :(得分:4)

将被调用的函数放在代码中的调用者之前,它应该编译。 C ++不会为调用函数“向前看”,它们必须在任何用法之前声明。

#include "stdafx.h"

int test(int arg)
{
    return arg * arg;
}_DLLAPI int __stdcall myDLLFunc()  

{  
    return test(4);
}

通常,您会将函数的声明与定义(在代码文件中)分开(在头文件中),以降低依赖性复杂性。