(备忘)在Linux下动态调用so中的函数
C#提供了反射可以让我们很容易的在运行时动态的加载一个指定的DLL并调用其中的类和方法。合理的使用这个特性可以在很大程度上提高程序的灵活性。
在Linux下使用C/C++开发当然无法利用反射这样的工具,但是我们还是有办法动态的加载一个so(share obect,类似于Windows平台下的Dll)并调用其中的函数。
方法很简单,就是使用 dynamic linking loader。 dynamic linking loader非常容易使用,它包含了4个方法。dlopen/dlsym/dlerror/dlclose。可以用man命令了解详细的使用帮助。
我们还可以利用C++的封装性来实现自动的打开和关闭so库。
在Linux下使用C/C++开发当然无法利用反射这样的工具,但是我们还是有办法动态的加载一个so(share obect,类似于Windows平台下的Dll)并调用其中的函数。
方法很简单,就是使用 dynamic linking loader。 dynamic linking loader非常容易使用,它包含了4个方法。dlopen/dlsym/dlerror/dlclose。可以用man命令了解详细的使用帮助。
我们还可以利用C++的封装性来实现自动的打开和关闭so库。
posted on 2007-08-11 15:32 iceboundrock 阅读(1346) 评论(1) 编辑 收藏 举报