我需要在另一个动态链接库(Visual C++ )中加载一个动态链接库,这样我就可以在第二个动态链接库中使用嵌入在第一个动态链接库中的类。我有这两个库的代码,因为我创建了两个dll,但我从来没有动态加载过库,所以我不确定这是如何完成的……
此外,我想使这个多平台,我已经编译为.dll和.so,所以这将是一个伟大的平台无关的方法来做this...otherwise,我可以使用宏,以包括windows或linux特定的代码。
致以最良好的问候和万分感谢
假设我使用MS visual studio 2005/2008开发了一个动态链接库,例如1.dll,然后我在加载时(使用头文件和.lib文件)将此动态链接库链接到控制台应用程序,然后在动态链接库中,如果我在运行时分配内存,那么谁将堆(空闲存储)分配给动态链接库。
据我所知,DLL使用进程的地址空间来存储数据、代码和堆栈。
我已经创建了一个C++应用程序接口,目前只能在特定版本的Visual Studio (2008)上工作。基本上,我有一个C++动态链接库(以及这个动态链接库所依赖的其他库)都是用Visual Studio2008编译的。这对我们的用户来说将是一个大问题,因为他们将运行较新版本的Visual Studio。我需要找出一种方法来创建一个独立于平台的C++应用程序接口。我听说这样做的一种方法是用C语言包装所有的接口方法。这是解决这个问题的正确方法吗?我该如何用C语言包装C++代码,这样用户就不会被绑定到特定版本的Visual Studio (同时也能够支持Linux环境)?