
动态库
muojie
这个作者很懒,什么都没留下…
展开
-
生成动态链接库是否必须使用 -fPIC 的问题
<br />在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库。经常遇到的一个问题是 -fPIC 是不是必需,因为好像不加经常也能正常运行,只是创建 .so 的时候会有一个警告。<br />搜索、试验了一下,答案似乎是这样:<br />(1) 通常的建议是始终加上 -fPIC 生成位置无关代码;<br />(2) AMD64 下,必须使用位置无关代码,否则连接失败:<br />reloca原创 2010-11-15 16:37:00 · 1141 阅读 · 0 评论 -
android jni
例1: ********************************************** jstring Jni_getChannelESG(JNIEnv* env, jobject thiz) { int result;原创 2010-12-09 13:33:00 · 682 阅读 · 0 评论 -
android jni 学习1
JNI 是Java Native Interface。 Java Native Interface (JNI )标准成为java平台的一部分, 它允许Java代码和其他语言写的代码进行交互。 JNI 是本地编程接口。它使得在 Java 虚原创 2010-12-13 11:45:00 · 802 阅读 · 0 评论 -
System.load 和 System.loadLibrary详解-JNI
转自:http://hi.baidu.com/jiajiajava/blog/item/a2a4f08801448ebb0f2444ec.html 1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应转载 2011-10-17 11:39:13 · 2360 阅读 · 0 评论 -
分析Windows和Linux动态库
转自:好工具网站 推荐工具:nm, readelf, ar, ldd, objdump 1、引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用的技术。其目的减少程序的大小,节省空间,提高效率,具有很高的灵活性。采用动态库技术对于升级软件版本更加容易。与静态库(Static Link Library)不同,动态库里面的转载 2011-11-30 10:06:29 · 1207 阅读 · 0 评论 -
Android HAL 是如何被调用的
Android 对硬件的调用, google 推荐使用 HAL 的方式进行调用,对于 Andriod HAL 的写法,可以参考 android 源码里的 hardware 目录下几个模块的模版。 在看 HAL 的编写方法的过程中,会发现整个模块貌似没有一个入口。一般说来模块都要有个入口,比如应用程序有 main 函数,可以为加载器进行加载执行, dll 文件有 dllmain ,而对于我们自己写转载 2010-11-16 20:20:00 · 933 阅读 · 0 评论 -
android 加载动态库 分析
最近在移植代码的时候,出现一个问题,加载动态库失败。之前是没有问题的,查了很多资料,发现是因为这个动态库所信赖的另外一个动态库发生了变化导致的。 通过这次的解bug过程,我对动态库的生成与加载有了更深一层次的了解,在此做下总结。 1、因为要跟踪加载过程,所以要在bionic打印log,所以还要设置一下,代码更改如下: //1.linker_debug.h中的#define LINKER_DE原创 2011-12-23 15:41:47 · 1722 阅读 · 0 评论 -
动态库知识
Linux 动态库剖析 关于linux下的共享库(动态库)和静态库 Android调试的必杀技——反汇编转载 2012-01-04 10:17:41 · 441 阅读 · 0 评论 -
Ubuntu Bluetooth 配对过程
bluetoothd运行时(src/main.c main()函数启动时),加载plugin(src/plugin.c plugin_init()函数): gboolean plugin_init(GKeyFile *config) { GSList *list; GDir *dir; const gchar *file; gchar转载 2013-05-01 15:04:14 · 4022 阅读 · 0 评论