共 7 篇文章 |
|
因为GCC链接操作以section作为最小的处理单元,一个section中可以包含很多个function,而一个section中只要有一个function被引用,该section就会被加入链接,最终生成可执行文件。optimized:gcc -ffunction-sections -fdata-sections -c main.cgcc -Wl,-gc-sections -o test_optimized main.onormal:gcc -c main.cgcc -o test_normal main.ocle... 阅170 转0 评0 公众公开 20-03-25 14:53 |
修改/etc/ld.so.conf配置。添加配置: 创建exe.conf文件,里面加.so库路径,将该文件放到/etc/ld.so.conf.d目录下;在/etc/ld.so.conf文件中增加一行include ld.so.conf.d/exe.conf.3.设置 LD_LIBRARY_PATH LD_LIBRARY_PATH环境变量主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径,其内容是以冒号分隔的路... 阅906 转0 评0 公众公开 18-01-12 11:39 |
linux 链接库文件出现“undefined reference to“ 问题的解决方法最近在Linux下编程发现一个诡异的现象,就是在调用某个库(这个库依赖于另外一个库)出现如下问题:gcc -o main main.o test.o.其根本原因也是找不到test()函数的实现文件,由于该test()函数的实现在test.a这个静态库中的,故在链接的时候需要在其后加入test.a这个库,链接命令... 阅5062 转0 评0 公众公开 18-01-11 17:41 |
阅282 转0 评0 公众公开 18-01-11 14:16 |
Linux下pc/sc接口的实现。./configure(配置编译环境)Make(编译生成libpcsclite.a和libpcsclite.so)Make install.5、将该测试程序移植到arm-linux平台下,需用交叉编译工具重新编译:CC=arm-linux-gcc /configure –host=arm-linux –disable-libusb(配置编译环境)Make(编译生成libpcsclite.a和libpcsclite.so)Make install.--host定义... 阅427 转0 评0 公众公开 18-01-11 10:26 |
Linux下获取网卡IP地址struct ifreq.我们的做法是:1. 先通过ioctl获得本地所有接口的信息,并保存在ifconf中2. 再从ifconf中取出每一个ifreq中表示ip地址的信息。所以我们需要在程序开始时对ifconf的ifc_len和ifc_buf进行初始化 接下来使用ioctl获取所有接口信息,完成后ifc_len内存放实际获得的接口信息总长度并且信息被存放在ifc_buf中。ifr... 阅1239 转5 评0 公众公开 16-08-03 17:06 |
tar命令的C参数问题:在/home/usr1目录下,想要打包/home/usr2目录中的文件file2,应该使用什么样的tar命令?使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:$ tar -xvf file2.tar -C /home/usr2而tar不用-C dir参数时是无法做到的:$ tar -xvf file2.tar /home/usr2tar: /tmp/file: Not found in arc... 阅62 转0 评0 公众公开 16-07-27 14:34 |