windows和Linux平台下动态库的使用心得体会

windows和Linux平台下动态库的使用心得体会

动态库的概念:
动态库是写好的可以直接使用的代码,里面封装了许多的函数被人们使用,而且它不是.exe程序不能执行
在windows平台下动态库的文件格式为***.dll它是动态库文件,也就是封装的函数代码
***lib
是来描述动态库的文件告诉编译器里面封装了哪些函数。

在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是当.exe程序执行时,会加载动态库文件(.dll)。如果动态库已经加载,则不必重复加载,从而能节省内存空间。
在链接静态库的时候会把在编译期间把动态库加载到执行文件这样会占用资源空间

在Linux平台下的动态库的文件格式为libxxx.so这里的其中so是 Shared Object 的缩写,即可以共享的目标文件。

注意
给动态库命名的时候不能是中文和加空格

window下动态库的测试程序
1 动态库的测试程序在编译期间如果找不到动态库在vs的属性里添加***lib
2 在运行期间找不到*.dll说明.exe程序找不到.dll这时是环境变量的问题需要把.dll放到.exe平行的目录下

Linux下动态库的测试程序
1 ldd *./test 查看程序需要哪些动态库如出现not found
则在配置当前用户下的.bash_profile里面添加动态库的路径

    -

你可能感兴趣的:(Linux)