我在EXE中有一个FuncA()。从EXE内部和DLL内部调用FuncA()。因此,我为FuncA()编写了一个回调函数,以便DLL可以对其进行调用。因此,我需要导出FuncA(),以便可以从DLL内部获取函数地址。
declspec(dllexport)void FuncA(){return; } // declspec(dllexport)将能够获得函数地址。
然而,
由于FuncA()也是从DLL和EXE内部调用的,
我的问题是EXE中的funcA()声明。该声明将由EXE中的函数使用。
void FuncA(); //如果以这种方式编写,则会出现以下错误:
错误C2375:'FuncA':重新定义;不同的联系
和,
declspec(dllimport)void FuncA(); //如果以这种方式编写,则会收到以下警告,程序将挂起。
警告LNK4049:导入了本地定义的符号_FuncA
如何编写正确的声明?
注意:Windows,Visual Studio 2008,Standard-C
最佳答案
关于c - 如何声明将在各个位置调用的导出函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5228832/