- 博客(10)
- 收藏
- 关注
转载 GCC 的 -fvisibility 参数
在 Windows 上使用 MSVC 创建和使用动态库时需要导出导入符号(参见Windows上动态库符号的导出和导入),但在 Linux 上使用 GCC 时,一般好像不需要导入导出符号。其实不然,GCC 编译时并不是不需要导出符号,而是默认导出了所有的符号。GCC 中也存在一个符号可见性的概念,称之为 Visibility,一般指的就是动态库中符号的可见性。默认情况下,动态库中的所有符号对于外部都是可见的,因此使用者可以直接使用动态库提供的函数。
2024-03-01 13:35:52 65 1
原创 Ubuntu系统下切换Python版本
4、查看update-alternatives下的python版本。3、更新update-alternatives替代列表。1、查看Ubuntu下所有Python版本。2、安装对应Python版本。5、切换python版本。6、删除python版本。
2024-01-12 10:21:16 1212 1
原创 Android Studio--Can not extract resource from com.android.aaptcompiler.ParsedResource@5a5999f0
查看报错日志:Caused by: com.android.aaptcompiler.ResourceCompilationException: Failed to compile values resource file D:\Software\AndroidStudioProjects\××××\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values\values.xml。
2023-10-27 14:13:35 3158 2
原创 Java--线程六种状态
如果通过其他线程调用notify()或notifyAll()来唤醒它,如果它被唤醒时拿不到monitor锁,就会进入Blocked状态。只有当执行了LockSupport.unpark(),或者join的线程运行结束,或者被中断时,才可以进入Runnable状态。Waiting进入Runnable。Java中是6种线程状态。OS操作系统是5种状态。
2023-09-15 01:58:29 666
原创 Android Messenger实现进程间通信及其原理
客户端和服务端是通过拿到对方的 Messenger 来发送 Message 的。只不过客户端通过 bindService onServiceConnected 而服务端通过 message.replyTo 来获得对方的 Messenger 。Messenger 中有一个 Hanlder 以串行的方式处理队列中的消息。不存在并发执行,因此我们不用考虑线程同步的问题。
2023-09-08 15:59:06 159 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人