2Ni*_*meo 5 c++ dll cross-platform
我有一个应用程序,我已设法在Windows和Linux之间保持合理的跨平台.Cmake和Boost在这方面的努力是有帮助的.
现在是链接到为Windows编写的.dll的时候了.如果我可以推迟动态链接库的转换,那将是一件好事.其他Windows应用程序连接到此库,如下所示:
HINSTANCE dll;
dll = LoadLibraryA(filename);
//...
libFuncPtr = (libFuncPtr)GetProcAddress(dll, "libFunc");
Run Code Online (Sandbox Code Playgroud)
我想知道这些函数是否有通用类似物,或者是时候开始放入我的系统特定预处理程序指令了?当前的开发优先级是Windows,据了解,必须有一个用于Linux构建的库的Linux端口才能工作,但我希望尽可能保持调用代码的通用性.
开始删除系统特定的预处理程序指令.
你可以写一个中介接口,提供类似的功能LoadLib(),LoadSym()等等,调用aproppriate原生API.换句话说,当编译Windows时LoadLib()将使用LoadLibraryA()和将在Linux上使用dlopen().
这将让您从主代码中隐藏代码的这个丑陋部分,使其更具可读性.
| 归档时间: |
|
| 查看次数: |
3394 次 |
| 最近记录: |