- 博客(18)
- 收藏
- 关注
原创 Android Studio build失败解决方案
使用android studio编译app时遇到在仓库中找不到对应插件的问题以及Connection refused的问题在网上找了各种方法尝试了,都没有用。
2024-10-14 10:25:20
448
原创 const用法以及一些思考
*const是一个关键字,用于声明一个变量为常量,这意味着一旦被赋值后,其值就不能被改变。在C++中,const**可以用来声明常量变量、常量指针、指向常量的指针等,以确保它们指向的值或它们本身在程序运行过程中不被修改。在C++中,常量可以通过**const**关键字声明和定义,以确保其值在程序执行期间不被修改。1. 基本类型的常量对于基本数据类型(如整数、浮点数等),可以直接在变量声明时使用**const**关键字来创建常量。2. 指针常量对于指针,**const。
2024-05-25 10:44:54
1628
原创 动态链接学习总结
代码段的不变性共享内存优势代码段通常包含程序的指令。如果多个进程可以共享相同的代码段,这将显著减少内存占用。每个进程不需要有自己的代码副本,而是共享相同的物理内存页面。优化缓存使用由于代码不变,它可以被有效地缓存,减少对内存的读取操作,提高整体性能。简化代码维护和更新如果代码段不需要针对每个使用它的进程进行修改,这简化了维护和更新共享库的过程。数据段的动态性每个进程的独立状态数据段通常包含全局变量和静态变量,这些变量的值可能在每个进程中都是不同的。
2024-05-25 10:37:24
1060
原创 CMake在vs code中的基本使用
🚀 CMake是一个跨平台的构建工具,用于管理软件项目的构建过程。它使用简单的语法和命令来描述构建过程,并生成适合不同平台和编译器的构建文件。
2024-05-22 21:02:17
623
原创 vs code中编写c++基本使用以及问题总结
这个文件配置了调试器的设置,允许你定义如何启动和调试你的程序。这包括配置执行路径、传递给程序的参数、环境变量以及特定语言或框架的调试器选项。
2024-05-22 20:54:02
2791
原创 readelf简单介绍
readelf是一个在 Unix 和类 Unix 系统上用于查看 ELF(Executable and Linkable Format)文件信息的命令行工具。ELF 文件是一种常用的文件格式,用于定义程序或系统所需的不同类型的文件,如可执行文件、目标文件、共享库等。readelf提供了许多选项来查看 ELF 文件的不同部分和属性,例如程序头、段头、符号表、重定位条目等。这对于理解程序的编译和链接方式、调试以及进行系统级编程非常有用。常用readelf命令选项:查看文件头(h或 -file-header。
2024-05-22 20:44:31
1147
原创 apex简单介绍
apex_available 字符串列表,该模块在 APEX 中的可用性。只有列出的 APEXes 才能包含该模块。如果模块有存根,则其他 APEX 和平台可通过存根访问该模块(取决于可见性)。"//apex_available:anyapex "是一个伪 APEX 名称,可与任何 APEX 匹配。“//apex_available:platform” 指的是非 APEX 分区,如 “system.img”。
2024-05-14 21:11:20
3467
原创 android产品配置
一个arch对应多个Board/device,一个Board/device对应多个Product。Board/device属于硬件定义,Product属于软件定义。同样一个硬件,可以创建出多个product。如果要定义一个新的product,可以参考链接中操作。这里说明一下几个重要的文件COMMON_LUNCH_CHOICE :它基本上取代了旧版本中使用的文件 vendorsetup.sh 的作用,是属于build的范畴。根目录:/device/google/marlinproduct定义AndroidPr
2024-05-14 21:05:10
1035
原创 Android automotive架构简介
这个列表中,首字母大写的模块基本上都是汽车系统中专有的App。这些App的源码位于/platform/packages/services/Car/或者/platform/packages/apps/Car/目录下。从这幅图中我们可以看出,Android Automative是在原先Android的系统架构上增加了一些与车相关的(图中虚线框中绿色背景的)模块。packages/services/Car下面有CarService,它是一个单独的app。car-lib:包含了car api。
2024-05-14 20:58:22
1182
原创 SystemServiceRegistry启动&zygote加载类
调查SystemServiceRegistry的启动流程,查看到日志,SystemServiceRegistryImpl是在zygote64进程的。再次查看调用的上下文,是zogte在加载类的时候定位到代码:frameworks/base/core/java/com/android/internal/os/ZygoteInit.java #preloadClasses。
2024-05-14 18:05:38
774
原创 c++ 头文件作用与java的引入有何不同?
在a.cpp文件中#include b.cpp文件就会引起重复定义问题.因为#include是文本替换,因此在a.cpp中就会存在所有b.cpp中的内容.在链接时,发现a.cpp和b.cpp中存在同样的定义,就会报重复定义问题.正确的做法是,a.cpp #include b.h,引入头文件即可.
2024-05-13 22:40:21
689
原创 C++ NULL与Nullptr如何区分使用场景以及指针的正确使用
由c++中Nullptr替代NULL引发的指针常见问题,以及正确的使用方法总结。
2024-05-11 22:48:51
1031
原创 java import是怎么在众多jar包中找到依赖的类的?
本文针对java编程中的容易混淆的package以及jar包做了详细的了解,目前对于package还有jar包都有了具体的感受。并且也对于为什么会存在package以及jar包的问题,有了答案。同时,新学到一个知识点:类路径,它在java编译以及运行阶段会被用来找到jar包。
2024-05-11 17:45:56
1008
原创 jar包的组成和打包运行
JAR(Java Archive)是一种包文件格式,通常用于将许多 Java class文件和相关元数据及资源(文本、图像等)聚合到一个文件中,应用程序就可以直接依赖jar包,方便在 Java 平台上发布应用软件或库。
2024-05-11 17:05:48
1418
1
原创 分区&挂载&文件系统&目录总结
鉴于linux以及android开发中经常会出现分区,文件系统,挂载,目录这些词汇,对于初学者不容易弄清楚其中的意义以及相互之间的关系。本文对于这几个词汇进行一定的了解,并且对于这几者之间的关系也逐一理清,对于linux以及android的初学者有一定的帮助。
2024-01-24 18:27:19
1443
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人