在DLL中导出另一静态库中的函数
来源:互联网 发布:ubuntu怎么使用putty 编辑:程序博客网 时间:2024/06/10 01:26
开发环境:
win7_x64、VS2013
应用场景:
动态库A依赖动态库B,而动态库B又使用了静态库C;有些情况下,我们需要将C从B里面导出,然后提供给A使用。
正文:
Step1:
1、新建测试静态库TestStatic
2、添加TestA.h、TestA.cpp、TestB.h和Testb.cpp文件
3、添加以下代码导出TestA类和testB函数
TestA.h
#pragma once#if defined _Use_Static_Export_#define _Static_Export_ _declspec(dllexport)#elif defined _Use_Static_Import#define _Static_Export_ _declspec(dllimport)#else#define _Static_Export_#endifclass TestA {public: _Static_Export_ TestA(); _Static_Export_ ~TestA(); _Static_Export_ int test(); _Static_Export_ void testb();};
TestA.cpp
#include "TestA.h"TestA::TestA() { int i = 10; }TestA::~TestA() { int i = 10; }int TestA::test() { return 10; }void TestA::testb() {}
TestB.h
#pragma once#if defined _Use_Static_Export_ #ifndef _Static_Export_ #define _Static_Export_ __declspec(dllexport) #endif#elif defined _Use_Static_Import #ifndef _Static_Export_ #define _Static_Export_ __declspec(dllimport) #endif#else #ifndef _Static_Export_ #define _Static_Export_ #endif#endifnamespace Test { _Static_Export_ void testB();}
TestB.cpp
#include "TestB.h"namespace Test { void testB() {}}
Step2:新建测试动态库TestDll
1、在TestDll.cpp文件中添加以下代码,从当前DLL中导出TestA类和test函数
TestDll.cpp
#define _Use_Static_Export_#include "./../TestStatic/TestA.h"#include "./../TestStatic/TestB.h"void dll_export(){ TestA a; Test::testB();}
Step3:编译项目TestStatic和项目TestDll,在生成的TestDll.dll中可利用DEPENDS.EXE工具查看导出函数
0 0
- 在DLL中导出另一静态库中的函数
- 在dos窗口中导出dll文件中的函数以及变量的方法
- 从 DLL(动态库)或Lib(静态库)中导出模板函数
- C#静态调用C++Dll导出函数,并在C++Dll中回调C#函数
- 在C++中调用DLL中的函数——静态调用和动态调用
- 在应用层使用ntdll.dll中的未导出函数
- 导出所有DLL中的函数
- 在C++中调用DLL中的函数
- 在C++中调用DLL中的函数
- 在C++中调用DLL中的函数
- 在C++中调用DLL中的函数
- 在C++中调用DLL中的函数
- 在C++中调用DLL中的函数
- 在C++中调用DLL中的函数
- VS中使用dumpbin命令查询dll中的导出函数
- 在C#中动态调用native dll的导出函数
- 在DLL编程中,导出函数为什么需要extern "C"
- 在DLL编程中,导出函数为什么需要extern "C"
- Android基础知识_Activity SingleTask模式示例
- Linux系统编程——vfork() 函数详解
- Linux下select应用
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理图 1.Tomcat 的总体结构
- 关于使用google earth 截取数据与ground truth 制作
- 在DLL中导出另一静态库中的函数
- xml解析与保存
- 大型商贸系统(进货管理)技术解析(二)自营进仓单录入
- nsurl
- 由普利姆算法想到一个游戏之后
- web.xml文件详解
- 我的第一个博客
- LeetCode:Same Tree
- android---xml---include用法(导入另一个XML文件到本布局中)