NCindy

.net平台上的高性能网络程序开发框架

(备忘)在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库。

posted on 2007-08-11 15:32  iceboundrock  阅读(1329)  评论(1编辑  收藏  举报

导航