原文:linux中[gcc -shared -fPIC]的含义

linux在gcc编译时加上 shared 参数时,目的是使源码编译成动态库 .so 文件 而 fPIC的作用是 告知编译器 生成位置无关代码 编译产生的代码没有绝对位置,只有相对位置 从而可以在任意地方调用生成的动态库。 示例: gcc fun.c shared fPIC o libfun.so 如果代码没有错误,则可以在当前路径下生成libfunc.so文件 此时此动态库还不能被正确的链接上 ...

2021-04-20 21:02 0 329 推荐指数:

查看详情

GCC生成动态链接库(.so文件):-shared和-fPIC选项

Linux 下动态链接库(shared object file,共享对象文件)的文件后缀为.so,它是一种特殊的目标文件(object file),可以在程序运行时被加载(链接)进来。使用动态链接库的优点是:程序的可执行文件更小,便于程序的模块化以及更新,同时,有效内存的使用效率更高。 GCC ...

Sun Jun 16 19:18:00 CST 2019 0 3280
linux下buffer和cache的异同及freeshared含义

1.buffer和cache的异同 linux下使用free -m 时 可以看到buffers和cached 这二者经常被混为一谈。 相同点:二者具备改善系统 I/O 吞吐量的能力 cache改善系统性能主要原因是数据访问的局部性:一般情况下应用程序在一段时间内操作 ...

Mon Dec 20 03:52:00 CST 2021 0 787
gcc -fPIC编译选项分析

1、-fPIC 作用于编译阶段,在编译动态库时(.so文件)告诉编译器产生与位置无关代码(Position-Independent Code),若未指定-fPIC选项编译.so文件,则在加载动态库时需进行重定向。 2、64位编译器下编译生成动态库时,出现以下错误: /usr/lib64/gcc ...

Wed Aug 31 02:36:00 CST 2016 0 2896
Linux的EAGAIN含义

Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作)。 linux下使用write\send发送数据报 EAGAIN : Resource temporarily unavailable 错 首先是我把套接字 ...

Thu Feb 28 00:36:00 CST 2013 0 29079
linux$#,$0,$1,$2,$@,$*,$$,$?的含义

$# 是传给脚本的参数个数$0 是脚本本身的文件名$1 是脚本后接的第一个参数$2 是脚本后接的第二个参数$@ 是传给脚本的所有参数列表,"$1" "$2" "$3" … "$n"$* 是以一个单字符 ...

Thu Nov 23 01:05:00 CST 2017 0 4239
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM