Windows用LoadLibrary+GetProcAddress,Linux用dlopen+dlsym实现运行时动态加载;需注意函数导出(__declspec(dllexport)/__attribute__((visibility("default"))))、类型安全调用、跨平台封装、路径与符号可见性、内存管理边界等关键点。

Windows 下用 LoadLibrary + GetProcAddress,Linux 下用 dlopen + dlsym。核心是运行时加载、获取函数地址、类型安全调用。
需要头文件 #include windows.h>,DLL 导出函数需用 __declspec(dllexport)(编译 DLL 时),调用方用 typedef 声明函数指针类型,再通过 GetProcAddress 获取地址。
示例(调用一个 int add(int, int) 函数):
需链接 -ldl,头文件 #include
立即学习“C++免费学习笔记(深入)”;
示例(同样调用 add 函数):
可用宏隔离差异,让业务代码统一:
基本上就这些。不复杂但容易忽略路径、符号可见性、调用约定和内存边界。
以上就是C++如何调用动态链接库(DLL/SO)?(代码示例)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号