- 博客(598)
- 资源 (2)
- 收藏
- 关注
原创 Mac android ndk 无法验证开发者
单独下载ndk,mac使用ndk时,会报错“无法验证开发者”解决:sudo spctl --master-disable
2022-04-02 19:28:25
3358
原创 shell脚本 运行 报错 /bin/bash^M: bad interpreter: 没有那个文件或目录
原因:Linux和Windows 文件格式兼容问题解决:查看当前文件格式:vim fileName 打开文件:set ff? 查看当前文档是什么格式eg: fileformat=unix:set ff=unix 设置为linux格式
2022-04-02 13:58:41
665
原创 VSCode 无法在这个大型工作区中监视文件更改
cat /proc/sys/fs/inotify/max_user_watchessudo vim /etc/sysctl.conf添加 fs.inotify.max_user_watches=xxxxxsudo sysctl -p
2021-12-14 20:13:13
2847
原创 linux开发使用的命令
ssh 登陆sshuser@hostscp 拷贝本地拷贝到serverscp [-r] localfile user@host:/path 拷贝文件夹注意加参数 [-r]server拷贝到本地 scp [-r] user@host:/path/file local_path查看文件内容 cat file...
2021-10-15 11:53:36
124
原创 Valgrind C++ 内存泄漏检测
https://valgrind.org/内存问题分类操作没有初始化的指针 操作被释放之后的指针 越界 内存泄漏 有分配,没有释放 malloc/new/new[] 和 free/delete/delete[] 使用混搭 两次释放内存Linux Valgrind 使用1、 下载源码https://sourceware.org/pub/valgrind/valgrind-3.17.0.tar.bz22、解压包 安装tar -jxvf valgrind-3.17.0.t...
2021-07-21 20:07:40
200
原创 ELF文件
elf是Executable and Linkable Format的缩写。Executable 表示可执行,Linkable 表示可nian jie
2021-07-06 10:52:55
229
原创 ELF 文件
ELF是Executable and Linkable FormatExecutable:可执行,ELF文件将参与程序的执行(Execution)工作。包括二进制程序的运行以及动态库.so文件的加载。Linkable:可链接,ELF文件是编译链接工作的重要参与者。Linking View:从编译链接的角度来观察一个ELF文件。Execution View:从执行的角度(可执行文件或动态库文件)来观察一个ELF文件。...
2021-05-31 13:16:01
163
原创 Thread ThreadLocal ThreadLocalMap
ThreadLocal<String> local1 = new ThreadLocal<>(); ThreadLocal<String> local2 = new ThreadLocal<>(); new Thread(new Runnable() { @Override public void run() { local1.s...
2021-05-27 13:55:07
146
原创 android 开发问题
查看动态库的依赖关系:ldd aaa.soobjdump -x aaa.so | grep NEEDEDopenomp 在不同的手机上,绑定cpu会出现崩溃。
2021-05-12 10:17:41
122
原创 UTF-8的编码规则
Unicode符号范围 | UTF-8编码方式(十六进制) | (二进制)--------------------+-------------------------------------0000 0000-0000 007F | 0xxxxxxx0000 0080-0000 07FF | 110xxxxx 10xxxxxx0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx0001.
2021-04-29 11:14:52
4288
原创 flutter学习那点事
Flutter Framework这是一个纯 Dart实现的 SDK,它实现了一套基础库,自底向上,我们来简单介绍一下: 底下两层(Foundation和Animation、Painting、Gestures)在Google的一些视频中被合并为一个dart UI层,对应的是Flutter中的dart:ui包,它是Flutter引擎暴露的底层UI库,提供动画、手势及绘制能力。 Rendering层,这一层是一个抽象的布局层,它依赖于dart UI层,Rendering层会构建一个UI树..
2020-05-21 10:28:33
319
原创 kotlin
定义变量:var:可变变量val:只读变量var有setter和getter,val只有getterlateinit和 by lazy lateinit 只能用在var类型,lateinit不能用在可空的属性上和java的基本类型上 by lazy { } 只能用在val"?" 表示可为空"!!" 表示不能为空"?." 称为安全调用,比如a ?. b 当a不为空的...
2020-02-11 19:42:51
328
转载 C++编程学习
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、http://ww...
2019-06-20 10:39:30
449
转载 理解GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN绘制三角形序列的三种方式
一般情况下有三种绘制一系列三角形的方式,分别是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。如下图所示:GL_TRIANGLES是以每三个顶点绘制一个三角形。第一个三角形使用顶点v0,v1,v2,第二个使用v3,v4,v5,以此类推。如果顶点的个数n不是3的倍数,那么最后的1个或者2个顶点会被忽略。GL_TRIANGLE_STR...
2019-06-13 11:57:20
8724
原创 jni 方法签名
方法签名的格式为:(形参参数类型列表)返回值。形参参数列表中,引用类型以L开头,后面紧跟类的全路径名(需将.全部替换成/),以分号结尾。public native static byte test3_();方法签名:()Bpublic native static void test(boolean b, byte be, short s, int i, ...
2019-04-26 10:43:32
602
原创 音视频
1、声波三要素频率、振幅、波形。频率代表音阶的高低,振幅代表响度,波形代表音色。人类听力频率范围:20HZ-----20KHZ2、数字音频采样、量化、编码采样:是指在时间轴上对信号进行数字化量化:是指在幅度轴上对信号进行数字化,比如用16比特的二进制信号来表示声音的一个采样,而16比特共有65536个肯能取值,因此最终模拟的音频信号在幅度上也分为了65536层编码:是指...
2019-04-23 17:32:55
238
原创 jni
1、在jni层回调java对象的时候,参数必须作强转【v7、v8表现不一样,最好是强转为所需要的类型】2、jni的函数需要返回值的必须写返回值,否则make编译能通过,运行的时候会有很多莫名其妙的错误...
2019-04-16 12:59:49
132
转载 关于蓝牙服务对应的UUID码
UUID是“Universally Unique Identifier”的缩写,通用唯一识别码的意思。对于蓝牙设备,每个服务都有一个与它对应的UUID(唯一的)。下面列出一些常用的蓝牙服务UUID:ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}'BrowseGroupD...
2019-02-28 20:06:03
2815
原创 android studio 修改设置快捷键
查看类的方法ctrl+F12 【inherited 查找keymapping】ctrl+N [查找类 navigate class]快速把局部变量变成成员变量 搜快捷键 field
2019-02-28 13:14:47
173
原创 dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent关系 伪码表示
public boolean dispatchTouchEvent(MotionEvent ev) { boolean consume = false; if (onInterceptTouchEvent(ev)){ consume = onTouchEvent(ev); }else { co...
2019-02-25 15:29:29
223
原创 CAS指令
CAS指令执行需要3个操作数,分别是内存位置V,预期旧值A,新值B。CAS指令执行时,当且仅当V所存放的值符合旧值A时,处理器用B更新V存放的值,否则就不执行更新。但是无论是否更新了V的值,都会返回V的旧值。...
2019-02-15 11:02:30
1571
原创 内存那点事儿
java内存模型: 主内存和工作内存java内存模型: 定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量操作的底层细节。此处的变量是指实例字段、静态字段和构成数组的对象的元素,不包括局部变量和方法参数,因局部变量和方法参数都是线程私有的,不会共享,自然也不会存在竞争的关系。每条线程都有独立的工作内存,线程的工作内存中保存了该线程使用到的变量的主内存的副本拷贝...
2019-02-14 16:01:04
205
原创 java动态代理
public class DynamicProxy { public interface IHello{ void sysHello(); } static class IHelloImpl implements IHello{ @Override public void sysHello() { System.out.println("IHelloImpl#sysH...
2019-02-14 10:53:28
160
原创 C函数指针
void (*Func)(void);返回值void、无参数的函数指针可以指向任何类型的函数指针,类似于泛型 void * 可以接受任何类型的指针,类似泛型 使用的时候注意转换...
2019-01-25 18:53:43
226
转载 utf8判断字符
utf8的规则比较简单:对于UTF-8编码中的任意字节B,如果B的第一位为0,则B为ASCII码,并且B独立的表示一个字符; 如果B的第一位为1,第二位为0,则B为一个非ASCII字符(该字符由多个字节表示)中的一个字节,并且不为字符的第一个字节编码; 如果B的前两位为1,第三位为0,则B为一个非ASCII字符(该字符由多个字节表示)中的第一个字节,并且该字符由两个字节表示; 如果B的前...
2019-01-21 17:40:58
1106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人