Boost 1.61新增了一个DLL库,跟Qt中的QLibrary类似,提供了跨平台的动态库链接库加载、调用等功能。
http://www.boost.org/users/history/version_1_61_0.html

编写一个Test.dll,导出方法Add

  1. INT WINAPI Add(INT x, INT y)
  2. {
  3. return x + y;
  4. }

加载、检查导出方法是否存在、调用方法、卸载应该是最常用的功能了。

    1. int main()
    2. {
    3. auto libPath = "D:\\Test.dll";
    4. boost::dll::shared_library lib(libPath);
    5. lib.has("add");  // false。符号名称是大小写敏感的
    6. if (lib.has("Add"))
    7. {
    8. auto& symbol = lib.get<int __stdcall(int, int)>("Add");
    9. std::cout << symbol(5, 10) << std::endl;
    10. }
    11. boost::dll::shared_library lib2;
    12. lib2.load(libPath);
    13. if (lib2.is_loaded())
    14. {
    15. auto& symbol = lib.get<int __stdcall(int, int)>("Add");
    16. std::cout << symbol(3, 5) << std::endl;
    17. lib2.unload();
    18. }
    19. system("pause");
    20. return 0;
    21. }

http://blog.csdn.net/aqtata/article/details/51780423

最新文章

  1. 动画总结(UIView的动画)
  2. writel(readl(&amp;pwm_timer-&gt;tcfg0) | 0xff, &amp;pwm_timer-&gt;tcfg0);
  3. UVa 458 - The Decoder
  4. canvas模仿微信抢红包功能
  5. Distinctive Image Features from Scale-Invariant
  6. python计算文件的行数和读取某一行内容的实现方法
  7. mysql 使用说明-2
  8. Swift - 使用HTML5进行iOS开发(将HTML5打包成iOS应用)
  9. 红眼技术博客 » redis连接池红眼技术博客 » redis连接池
  10. mybatis springmvc调用oracle存储过程,返回记录集
  11. 【Egret】2D 使用中的一些疑难解决技巧!
  12. 解决Win10系统本地主机,网络受限占用CPU过高的问题
  13. JVM-高效并发
  14. TCP 握手和挥手图解(有限状态机)
  15. MySQL索引操作
  16. linux系统编程之进程(七):system()函数使用
  17. 关于AutoMapper和WCF的一些认识
  18. 300万大奖:欢迎参加美团联合主办的全球AI挑战赛
  19. GoLang中flag标签使用
  20. redis 配置和使用(C++)

热门文章

  1. 手机端自适应布局demo
  2. 在CentOS系统上将deb包转换为rpm包
  3. android打包SDK具体操作(包含第三方的jar一起打包)
  4. 【37.68%】【hdu 5918】Sequence I
  5. android游戏开发系列(1)——迅雷不及掩耳的声音
  6. Android 开发新方向 Android Wear ——概述
  7. LockWindowUpdate的函数的用法
  8. c语言学习笔记(4)——流程控制
  9. code first迁移(add-migration)的时候 后面信息不能有中文 中文报错 &quot;不支持给定路径的格式。&quot;
  10. Mybatis缓存 缓存配置文件 good