首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

什么是.so文件_安卓so文件作用

(1) 动态库的编译 这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so。 命令:$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so  参考2:都是由C或C++编译出来的  -shared 该选项指定生成动态连接库(让连接器生成T类型的导出符号表,有时候也生成弱连接W类型的导出符号),不用该标志外部程序无法连接。相当于一个可执行文件  -fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。  (2) 动态库的链接 这里有个程序源文件 test.c 与动态库 libtest.so 链接生成执行文件 test: 命令:$ gcc test.c -L. -ltest -o test 注:测试是否动态连接,如果列出libtest.so,那么应该是连接正常了  -L.:表示要连接的库在当前目录中  -ltest:编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.so来确定库的名称 命令:$ ldd test 注: 执行test,可以看到它是如何调用动态库中的函数的。

03

Ubuntu系统安装

注意问题: 1.Ubuntu系统软件源选择,选择为中国的源。 2.VM网络连接方式:桥接或者与本机网络相同。 3.VM与主机共享文件夹:在工具栏里选择VM Tools,安装,然后选择共享。 4.快照,快照。系统有什么大的改动,记得快照。 5.主机与VM读取U盘,SD卡,DVD盘驱动的选择,以及优先级。 6.系统的备份。 7.到现在也没有解决的问题:在做自己的ARM Rootfs的时候,解压完Rootfs包时,重启Ubuntu系统,系统就会奔溃,无法恢复,至今没懂为什么,猜测可能是内核的问题。错误的地方也没有保存。 2.Ubuntu系统的安装 在VM文件系统多次奔溃之后,就选择了把自己两年前报废的笔记本翻出来,当时一杯水倒上去,然后怎么装系统都不行的笔记本,买了一套维修电脑工具,拆电脑,清灰,重装系统。

03
领券