把动态库、库函数先用延迟求值的单例模式包装实现加载,然后用宏包一下做成原来的函数名就行。这个办法处理C接口的api最容易,类的话包装起来就可能麻烦多了。不过一般也不用dlopen直接处理类成员函数吧。
这种方法我在windows下写过,配合decltype可以避免包装类重复声明函数原型,只要有库名、函数名和标准c接口头文件就可以了。做成脚本可以自动化配置。
【 在 prc79 的大作中提到: 】
: MyClass {
: int open();
: int read();
: ...................
--
修改:milksea FROM 114.249.195.*
FROM 114.249.195.*