use*_*117 3 c++ dll namespaces export function
我很确定这不可能从我读过的内容中尝试过.虽然为了方便代码的连续性,我想在这里问一下.
是否可以将函数与其命名空间容器一起导出?
例如:
namespace Continuity
{
int Foo(void);
}
Run Code Online (Sandbox Code Playgroud)
标准用法是: Continuity::Foo();
我希望能够导出此函数以在DLL中使用,但是我想将其保留在命名空间结构中,以便我可以在DLL中使用相同的用法.
您询问:
是否可以导出函数及其命名空间容器示例:
对的,这是可能的.
使用:
namespace Continuity
{
DLL_EXPORT int Foo(void);
}
Run Code Online (Sandbox Code Playgroud)
其中DLL_EXPORT被#defined至任一__declspec(dllexport)或__declspec(dllimport)适当.
在构建DLL的项目中,您将需要:
#define DLL_EXPORT __declspec(dllexport)
Run Code Online (Sandbox Code Playgroud)
在使用DLL的项目中,您将需要:
#define DLL_EXPORT __declspec(dllimport)
Run Code Online (Sandbox Code Playgroud)