永发信息网

linux + 怎样控制c静态库的导出函数

答案:2  悬赏:20  手机版
解决时间 2021-03-08 19:13
linux + 怎样控制c静态库的导出函数
最佳答案
Linux库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s libhello.so.1 libhello.so 动态库和静态库的区别: 当要使用静态的程序库时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。然而,对动态库而言,就不是这样。动态库会在执行程序内留下一个标记‘指明当程序执行时,首先必须载入这个库。由于动态库节省空间,linux下进行连接的缺省操作是首先连接动态库,也就是说,如果同时存在静态和动态库,不特别指定的话,将与动态库相连接。 两种库的编译产生方法: 第一步要把源代码编绎成目标代码。以下面的代码hello.c为例,生成hello库: #include void sayhello() { printf("hello,world\n"); } 用gcc编绎该文件,在编绎时可以使用任何全法的编绎参数,例如-g加入调试代码等
全部回答
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今年国庆高速路上是不是免路费?实施到几号?
广安有种扑克的打法是尖配k,圈配2,勾配3,
雅蓝鸟家纺(市场路店)这个地址在什么地方,我
为什么女朋友给闺蜜留言不给男朋友那
是不是核定征收不管你有没有发票 就是要固定
家用普通的门窗玻璃最大不能超过多大
海榕卫生室怎么去啊,有知道地址的么
吸烟一点好处都没有吗?拜托各位大神
北京巨人教育一对一班主任待遇怎么样?提成高
《茶杯头》最低配置要求一览 什么配置能玩
我是外地人,能在桂林银行贷款吗
聊天工具除了qq陌陌微信还有什么?
海水鱼缸,现在已经有鱼和软体在里面了。养了
在家做什么可以一天赚50块以上的工作?
乡下饭店怎么去啊,有知道地址的么
推荐资讯
五平方的太阳能电池板能够给多少功率的电机正
为什么我打篮球时转身慢,而且头很晕?
中国·人民电器集团荣成销售中心在哪里啊,我
英语翻译propinsi jawa barat
绿鲜惠生鲜连锁超市(湘水店)怎么去啊,有知道
红旗水库怎么去啊,有知道地址的么
现在购买新赛欧四川绵阳地区有3000元国家补贴
waiting for grandma中文翻译
唐家三少多久更新一章小说
用联通手机号如何开qq永久qq会员
如图是人眼结构示意图,请据图回答:(1)③
《保持通话》中梁家辉所带的是什么手表?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?