linux库动态库的生成与使用
动态库的命名方式与
场景:自己写的代码既不希望给别人看原码,但可以给你调用,这时就需要将代码打包变成库,库又分成静态库和动态库。 目录 1.动态库知识点 2.动态库的制作1.动态库知识点 动态库的命名方式与静态库类似linux动态库,前缀相同,为“lib”,后缀变为“.so”。所以为“libfunc.so” 动态函数库,是在程序执行时动态(临时)由目标程序去调用 缺点: 运行慢 发布程序需要提供依赖的动态库 优点: 小 程序升级简单,因为app里面没有库的源代码,升级之后只要库的名字不变,函数名以及参数不变,只是实现做了优化,就能加载成功 2.动态库的制作
例如:gcc -shared -fpic file2.c -o libxxx.so成立libxxx.so动态库 -shared 指定生成动态库 -fpic 标准,fPIC 选项作用于编译阶段,在生成目标文件时就得使用该选项,以生成位置无关的代码。 3.动态库的使用 当我们和静态库一样的编译方式生成可执行文件时
会报错!!因为在运行过程中在优先默认的usr/lib/找不到动态库 方法1:sudo cp libxxx.so /usr/lib/ 将库拷贝到 /usr/lib/ 再运行 补充:sudo rm/usr/lib/libxxx.so (删掉动态库) 方法2:如果要到当前目录路径找呢?(百度:引入动态库,怎么指定动态库的位置) 1.输入pwd获取目前路径 2
3../main就运行程序了 (单一且只针对单一窗口) (方法2存在弊端和风险) 推荐方法3: 写脚本 vi start.sh 这里main是编译后程序的名字。 然后给这个脚本可执行的权限直接运行 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |