readelf --relocs foo.o | egrep '(GOT|PLT|JU?MP_SLOT)' 上句大多数时候(和平台有关)可以正确判断是否是以fPIC选项编译的,如果输出为空,基本可以表明不是以fPIC选项编译的,若有输出,基本上表明是以fPIC选项编译的.另外,由于静态库是多个目标文件的打包,所以最好把静态库解包之后再对每个目标文件进行判断,这样比较准确. 如果要用在动态库种,o文件和a文件都应该以fPIC选项编译. PIC地址无关码于非PIC码的区别如下: Position I…
使用hadoop命令:hadoop fs -ls /hdfsapi/test  我们能够查看HDFS文件系统/hdfsapi/test目录下的所有文件信息 那么使用代码怎么写呢?直接先上代码:(这之后贴上去的代码怎么就全灰色了?....) public class HDFSApp {     public static final String HDFS_PATH = "hdfs://hadoop000:8020";    FileSystem fileSystem = null;  …
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补丁向下兼容,我用的是Visual Studio 2015 (Update3). 2.Python 我用的是python-2.7.9,去官网下个最新版的也行. 安装后将C:\Python27(我的)添加到path环境变量 3.Perl 我用的ActivePerl-5.16.2.1602,去官网下载个最…
参考链接 步骤:适配所有的模拟器和真机 ——生成.a文件 <1>建一个静态库工程 <2>生成.a文件(注意添加类.h和.m文件) 同理:接入任意款真机,同上述操作,生成真机的.a文件: <4>合并模拟器和真机.a文件,并生成新的.a文件——此处把模拟器和真机的.a文件剪切到了桌面上,也可以不用放到桌面上! //找到生成的真机和模拟器的.a文件 //用命令行合并成新的.a文件:lipo -create name1.a所在路径 name2.a所在路径 -output new…
本人eclipse版本: Eclipse Java EE IDE for Web Developers. Version: Mars.2 Release (4.5.2) 步骤1:下载两个我们需要的东西 (1)下载jadclipse插件: 下载地址:https://sourceforge.net/projects/jadclipse/ (2)下载jad.exe 文件地址:http://files.cnblogs.com/files/yaoxiaoxing/jad.rar 步骤2:找到路径D:\ec…
1.生成目标文件 gcc -o mylib.o -c mylib.c 2.生成静态库文件 ar rcs libmylib.a mylib.o 查看库信息: nm libmylib.a //======================== //库信息如下: bmp8_to_16.o:00000978 T MApp_BmpDataReverse00000000 t _convert_8_to_160000078c t _convert_8_to_16Buff000001e0 T bmp_8bpp_t…
一.目标文件 在 UNIX® 和 Linux® 中,任何事物都是文件.UNIX 和 Linux 编程实际上是编写处理各种文件的代码.系统由许多类型的文件组成,但目标文件具有一种特殊的设计,提供了灵活和多样的用途. 目标文件是包含带有附加地址和值的助记符号的路线图.这些符号可以用来对各种代码段和数据段进行命名,包括经过初始化的和未初始化的.它们也可以用来定位嵌入的调试信息,就像语义 Web,非常适合由程序进行阅读. 编译器可以将我们在代码编辑器中创建的文本转换为目标文件.最初,目标文件被称为代码的…
先看两篇博文,作为基础知识.如果对C/C++编译链接过程都了解的话,可以跳过不看. http://www.firedragonpzy.com.cn/index.php/archives/2556 http://www.cppblog.com/shifan3/archive/2007/01/05/17325.html 一.  编译不同目录下的多个文件 各个文件的布局如下: head.h文件的代码: #ifndef  HEAD_H #define  HEAD_H int add(int a, int…
http://blog.chinaunix.net/uid-27018250-id-3867588.html bss 未初始化的全局数据 data 已经初始化的全局数据 text 代码段,机器指令 rodata 字符串常量 参考:<程序员自我修养> 代码编译后的机器指令经常被放在代码段里,代码段名为".text";已初始化的全局变量和已初始化的局部静态变量经常放在数据段里,数据段名为".data";未初始化的全局变量和未初始化局部静态变量一般放在“.bs…
开发环境:vs2008+Qt4.8.4源码库 其他环境请自己尝试,原理应该是差不多的 Qt编译生成静态库 1.         本教程只针对在win32平台,使用VS开发工具(例子以VS2008为例) 2.         下载Qt的源代码(针对Qt4,关于Qt5没测试过) 3.         解压Qt源代码到目标目录,如: 4.         打开” mkspecs”目录,找到目标平台的文件夹,如:” win32-msvc2008”;打开” qmake.conf”文件,找到下面语句: QM…