笔记
机器林砍菜刀
这个作者很懒,什么都没留下…
展开
-
动态库与静态库的前世与今生
静态库:以空间换时间动态库:以时间换空间静态库的编写 动态库的编写 //myalib.hvoid test();//myalib.cvoid test(){ printf("hello\n");} //myalib.hvoid test();//myalib.cvoid test(){ printf("hello\n");} 静态库的制作 动态库的制作 1,生成目标文件.原创 2021-08-08 15:53:39 · 156 阅读 · 0 评论 -
Android.bp 文件中引入.a静态库.so动态库正确编译方法
在Android开发的时候,经常会使用到用c或c++编写的第三方的静态库。如果有源码的话,可以直接跟你自己的代码一去编译成动态库so,但是如果没有源码的话,你就必须在自己的动态库so里面将别人生成好的静态库导入进来一起编译了。我在编译的时候遇到了不少问题,我觉得有必要进行总结一下。.a静态库引入方式在模块源码根文件下新建文件夹 libs,复制要引入的.a文件至此,新建 Android.bp这样就会在obj生成文件夹下面重新生成一个libhisdk.a文件,这个文件就可以在其他android.bp文件中原创 2021-07-27 16:37:02 · 7684 阅读 · 5 评论 -
Failed to dlsym make_device: undefined symbol: make_device
Failed to dlsym make_device: undefined symbol: make_device最近在做开发的时候,遇到了一些bug。困扰了好长时间,虽然自己很菜,但是想着能够积累下来,以后再遇到同类型的问题,有个能解决问题的思路。问题大致如下:android的recovery系统下面能够做一些基础的测试demo。但是这个最新的demo是由C++和C语言共同开发的。里面有些函数需要依赖动态库,比如librecovery_ui.so,但是其中有一个库很特殊,叫librecovery_u原创 2021-05-12 10:04:47 · 300 阅读 · 1 评论 -
fatal: fork: Cannot allocate memory错误调试
fatal: fork: Cannot allocate memory错误调试最近在编译android源码的过程中,一直出现这个问题,上网搜了发现好多都是说进程数太少了,不能够满足编译所需的进程,需要扩充进程数,但是我们是公司的电脑,服务器上面的进程数不能被我们控制,后来编译的时候发现编译时,调用的./build.sh里面写的的make -j24,说明编译的时候,调用的线程数是24,这样虽然会增快编译速度,但是同样会使进程数增加,解决办法就是把-j24改成-j8,或者-j16就可以完美解决问题了,希望能够原创 2021-04-16 14:19:13 · 532 阅读 · 0 评论