当前位置: 技术问答>linux和unix
linux 隐式和显示使用share library 有什么本质的区别
来源: 互联网 发布时间:2016-09-26
本文导语: 两种使用方法我是知道的:隐式要将库的位置告诉系统,或copy到相应的目录中;显示调用比较自由,需要使用到几个函数dlerror,dlopen,dlclose等。 但是我还不知道实质的区别,希望高手做详尽回答。 ...
两种使用方法我是知道的:隐式要将库的位置告诉系统,或copy到相应的目录中;显示调用比较自由,需要使用到几个函数dlerror,dlopen,dlclose等。
但是我还不知道实质的区别,希望高手做详尽回答。
但是我还不知道实质的区别,希望高手做详尽回答。
|
根本区别:
动态库隐式调用,那么调用库函数的时候,调用的时候不需要你指出库名称和路径,直接使用libfun()就可以了。
如果是显示调用,那么需要 dlopen()。这个里面的参数需要出现库名称以及路径。
而真正的差别在于,隐式调用这种方式,程序已启动,库就被加载进去了。
而显示调用,只有你使用dlopen的时候,才会被加载。
动态库隐式调用,那么调用库函数的时候,调用的时候不需要你指出库名称和路径,直接使用libfun()就可以了。
如果是显示调用,那么需要 dlopen()。这个里面的参数需要出现库名称以及路径。
而真正的差别在于,隐式调用这种方式,程序已启动,库就被加载进去了。
而显示调用,只有你使用dlopen的时候,才会被加载。