自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术的学习与积累是个技术活

三人行,必有我师焉;择其善者而从之,其不善者而改之

  • 博客(559)
  • 资源 (7)
  • 收藏
  • 关注

原创 新版Logcat体验与分享—NEW Logcat in Android Studio Dolphin

Android Studio 新logcat的体验与分享

2022-11-02 19:49:24 900

原创 【基础知识系列】用示例一窥字节序-大小端

示例代码分别在mac与android的开发环境下测试主机的字节序,还有通过IDE分析一个Int整型在内存的实际存储,于"肉眼可视"的方式去观察数据在内存的存储情况,加深与理解字节大小端。代码示例了两种方式判断主机字节序是否为小端字节序

2022-10-31 18:54:03 495

原创 【用示例学习与理解C++系列】timerfd与epoll的使用

Android开发环境下的timerfd示例

2022-10-21 15:01:51 1155

原创 【用示例学习与理解C++系列】eventfd与epoll的使用

Android开发环境下用一个简单的示例来学习eventfd结合epoll的使用,对理解Android hander的实现机制有帮忙

2022-10-17 12:19:51 1602

原创 【用示例学习与理解C++系列】pipe与epoll的使用

一个写线程每隔3秒住管道写一个字符,另一个读线程通道监听epoll事件,从管道读一个字符。管道的读取端注删事读事件到epoll实例中,当写线程住管道写数据后,读线程可以在事件拉取的循环周期中epoll_wait到可读事件,然后从管道中读出数据

2022-10-10 10:12:50 1348

原创 Pai到用时方恨少

python3处理csv表格的某列,以及url decode的处理

2022-09-02 18:53:25 262

原创 【用示例学习与理解C++系列】std::thread的使用与注意点

创建线程实例时通过构造方法可以设置该线程可执行方法,这个方法我们一般称之为线程入口函数,这个入口函数可以是具体的函数或lambda表达式

2022-08-03 18:21:36 435

原创 在开发或调试IP直接方案时需要注意Host的值跟直接的IP要一致

如题,如果不一致可能会遇到502或其它认验失败的情况,不管是http还是https都要注意这个问题!在http的场景下可能服务侧的Nginx会配置规则,如允许IP直接但Host字段值必须跟IP匹配,即Host是IP对应的域名......

2022-07-22 18:39:37 431

原创 【注意/切记】 Android JIN开发过程中不要把long当jlong使用

C/C++ 调Java方法时直接把long类型的变量,传给CallStaticVoidMethod导致对应的Java静态方法接收到了错误的long值PS: 实际的业务场比较复杂,浪费了好多时间去分析才定位到是这个基础的,但容易忽略的问题!!!armv7架构下long是32位,jlong是64位,所以JVM去读取就读到了函数栈中其它的内存空间的值!得到了一个异常的值,并赋给了java代码中的long变量。目前大家的手机都是armv8的,所以开发调试的时候一般都是构建了armv8的包,导致没有第一时间发现异常

2022-07-08 19:03:28 1359 3

原创 华为手机通过adb安装APK提示“签名不一致,该应用可能已被修改”

如题,原因是鸿蒙系统的手机默认是开启纯净模式的,在该模式之下开发包(没有签名的)是无法通过adb安装的

2022-06-20 17:08:21 13928

原创 SSH配置密钥登录时需要注意私钥是否设置了密码(passphrase)

密钥登录简单说是我们生成一个密钥对(公钥与私钥),接着我们把公钥放到目标服务器上,然后用密钥去登录目标服务器

2022-06-10 19:00:00 5093

原创 工欲善其事,必先利其器之——学好用好grep

man grep搜二进制文件加-a 参数 -a, --text Treat all files as ASCII text. Normally grep will simply print “Binary file ... matches” if files contain binary characters. Use of this option forces grep to output lines matching the specified pattern.解

2022-05-27 19:09:24 161

原创 处理JNI DETECTED ERROR IN APPLICATION: GetStringUTFChars received NULL jstring的崩溃 case 要注意实际的调用栈

GetStringUTFChars received NULL 的问题分析要注意实际的崩溃堆栈

2022-04-20 18:57:01 3984

原创 maOS下使用nasm写汇编的尝试与记录

maOS下尝试使用nasm写汇编简单环境配置与测试

2022-03-12 22:21:51 416

原创 跨平层C++开发之C/C++创建的线程回调到OC代码时记得加@autoreleasepool

跨平层C++开发之C/C++创建的线程回调到OC代码时记得加@autoreleasepool

2022-03-01 19:03:12 1974

原创 mac book pro M1开发环境配置遇到的问题与解决的记录

mac book pro M1开发环境配置遇到的问题与解决的记录

2022-02-24 17:12:12 5379

原创 iphone信任不了证书老是说验证不了和重新接入互联网,可能是?

iphone信任不了证书老是说验证不了和重新接入互联网

2022-02-24 14:24:32 3795

原创 Xcode Command Lines Tool 知识点记录

Xcode Command Lines Tool 是什么Xcode Command Lines Tool 是终端下xcode开发相关的命中行下的工具的集合。Command Lines Tool这里我们简写为CLT!关键知点CTL可以有多套,系统默认一个,Xcode IDE自带一个系统默认的CTL路径为:/Library/Developer/Xcode IDE的CTL路径为:/Applications/Xcode.app/Contents/DeveloperOXSXcode-Select 可以切

2022-01-07 17:31:59 1065

原创 App Code的git面板找不到local changes窗口

App Code的git面板找不到local changes窗口的解决方案

2022-01-04 20:22:41 513 1

原创 CocoaLumberjack的DDLog导致内存不断的上涨

前言最近在做SDK的性能测试,在IOS平台先用自带的Menory Report还有Profile in instruments结合自己增加的自动化代码(不停的跑SDK的主要接口)观察下内存是否有明显的增加,结果发现跑了30分钟后内存涨了10M左右,用Profile分析看到都是指向日志输出的地方分配的内存。去review代码发现很多日志输出的地方是使用了CocoaLumberjack库的DDLog解决方案简单粗暴的解决方案:用NSLog代替CocoaLumberjack的DDLogPS:上网搜索到是C

2022-01-04 15:48:25 1199

原创 通用-描述文件找不到

今天在配置IOS直机调试,配置好开发者帐号还有环境后,在xcode上启动应用,应用安装到手机后,运行时就出现“不受信任的开发者”弹窗。搜索该问题的解决方案,搜索的结果前几的页都是提示到 设置置->通道->描述文件 列表中,找到对应的不信任的帐号,然后点击信任即可。但。。就是找不到。。。哈哈哈

2021-12-30 18:50:24 3760

原创 Message的消息池(sPool)

关键总结1、消息池缓存有可复复使用的消息实例,可以重复使用消息实例,避免过多的创建与回收消息消息实例2、消息池是后一个栈(LIFO/FILO=后进先出/先进后出)的数据结构,具体的栈的数据存放是采用了链表方式组织3、消息池一开始是空的,需要主动添加消息进入缓存池,然后供后续的取出与使用,消息池的长度是有限制的,这样可以避免缓存过多的对象,导致内存占用过多,尽可能的避免内存泄漏3、消息入队列时会被设置为已经在使用的状态,消息从消息列表取出被消费后会放入消息池,大多数情况下我们是不会主动调Message

2021-12-23 23:40:32 2179

原创 【温故而知新】Android 消息机制/HandlerThread、Looper、Handler 在Java层的知识点

Android 消息机制的实现主要类有Looper、HandlerThread、Handler、Message、MessageQueue,但在使用过程中我们会发现明显Hander与Message提供的方法非常之多,Looper与MessageQueue等类提供的接口确很少,另外还特别提供了一个HandlerThread这个开箱即用的类(HandlerThread = Thread + Looper 模型的默认实现)来尽可能的方便我们使用消息机制。其实我们去看MessageQueue类的源码会发现它的方法是

2021-12-09 21:18:07 2176

原创 【温故而知新】Android 消息机制/HandlerThread、Looper、Handler 的前置知识点

有关于Android消息机制的复习与分享,温故而知新的总结与交流,大家感兴趣可以看下,交流交流,写得不对的地方讲大家指正,谢谢

2021-12-07 19:39:09 2016

原创 工欲善其事,必先利其器之-使用Keynote遥控来代替翻页激光笔

前言前段时间公司有组织大部门级别的技术讨论与分享活动,自己也有个分享的主题,然后在准备PPT的前期工作过程,我就有搜索"演示过程怎么在PPT上做标注之类的技巧,结果误打误撞看到 ”使用遥控器控制演示文稿”相关的使用说明,这么好的技巧当然得收入囊中了。使用Keynote遥控来代替翻页激光笔,简单来说用iphone来控制电脑(当然是mac电脑了)的Keynote翻页,还有在iphone上直接对Keynote/PPT进行标注,标注还可以选荧光笔的效果,实现类似有激光笔照PPT的效果。直接的说法就是代替翻页激光

2021-12-02 20:21:06 2928

原创 android.os.Process.myTid与Thread.currentThread.getId的区别

关键总结1、android.os.Process.myTid返回的是系统系别的线程实例的实程号,在JNI开发过程我们一般称之为natvie线程2、Thread.currentThread.getId返回的是JVM级别的线程实例对应的线程号(一个递增的Id)3、一个native线程当前只能绑定一个JVM世界的线程,但可以多次绑定不同的线程实例,这个绑定线程实例过程其实是发生在我们的创建的native线程将要跟Java代码做交互时前的的attchJVM的操作,如果每次都交互前后都做attach与deatt

2021-11-29 21:22:39 2385

原创 跨平层开发之C++通过引用访问容器元素时需要注意...

如题,最近又填了一坑(处理了隐藏的崩溃问题),原因是通过引用访问容器元素时,把元素从容器移除后,还继续通过之前的引用变量来访问对象!(这时引用的对象的内存空间已经是非法的了!)

2021-09-18 20:01:48 212

原创 SimpleNES的编译与运行

最近搜索一些C++项目无意中看到它,然后就动手构建了一把,当然过程肯定会遇到一些问题的了。不然也不会写这篇文章跟大家分享了呀,是吧!来来来,先给大家show下我的劳动成果哈

2021-09-16 20:22:22 1843 11

原创 gradle学习笔记

gradle是基于groovy脚本语言的,所以在学习gradle之前还得先学习一个groovy的基础。JVM与groovy、java code的关系可以简单理解为,groovy与java代码都会编译为java字节码,然后在JVM上运行。groovy就像python一样,是一种动态脚本语言。还有就是groovy代码中可以直接调用java代码,可以直接引入与使用jar

2021-09-09 16:28:55 179

原创 工欲善其事,必先利其器之-终端下利用echo、cat命令快速往文件写入内容

工欲善其事,必先利其器之-终端下利用echo、cat命令快速在往文件写入内容

2021-09-08 12:08:53 1059

原创 Android native开发需要注意native线程的Detach

在跨平台开发的过程中,通常跨平层/C++会创建native线程,如果创建的native线程运行的代码有调用到Java层接口(跟java层有交互),即有调到了AttachCurrentThread,当native线程退出时需要调DetachCurrentThread接口跟JVM世界做分离。否侧为遇到JNI经典崩溃问题之—**Native thread exited without calling DetachCurrentThread**,如果Deatch的处理逻辑写的不好,可能还会继续遇到JNI经崩溃崩溃问

2021-08-13 18:04:27 1512

原创 遇到了http响应头中的Server字段为空的“灵异事件“

前言祖传代码坑多是众所周知的事!这不,前段时间就遇到了一个坑,即手撸的httpclient模块遇到响应报名,响应头中的字段值为空时就出现“解析”报名异常,导致没有响应的回调到上层业务!这个httpclient是用c++来写的,用tcp创建连接后发http请求与处理http server的响应。出现该异常时收到的响应报名中Server的值竟然是空值!跟服务器维护同学排查不是自己的web server配置问题后,基本只能是怀疑用户网络连路的某个网关或网络代理搞的鬼—偷偷的追加了Server但该值为空。响应头

2021-08-10 13:17:36 1420

原创 C语言的多态示例之—利用函数指针来实现多例(typedef定义函数指针)

通过一个函数指针的标例看C语言的多态

2021-07-12 12:59:04 220

原创 跨平层开发之C++全局对象的析构导致的崩溃(IOS平台)

如题是前段时间遇到并处理的BUG,最终的解决方案是抄这位老哥的《[深入解构iOS系统下的全局对象和初始化函数](https://cloud.tencent.com/developer/article/1192687)》中提到的方案—利用atexit机制注册资源回收,以及处理其它单例对象全局对象的依赖,特别是要处理工作线程的退出等等。参考资料也收集了几篇跟本主题相关的,建议大家也看看。

2021-07-09 20:11:32 491 3

原创 Android native开发需要注意[-Wreturn-type],否侧会遇到运行时崩溃

最近在修改一个demo工程的代码时,为了快速去验证几个功能,屏蔽了某个C++类几个方法(声名有返回值的方法)的内容,包括最后return语句。结果是编译正常,但运行时崩溃(不稳定崩溃),具体的原因是没有返回值的函数,返回值是随机的,大概率会遇到空指针与野指针!注:demo项目的编译选项没有添加编译警告!

2021-07-07 19:46:44 578 2

原创 【用示例学习与理解C++系列】类的构造方法

用示例去学习与理解C++的类的构造方法

2021-07-02 12:48:41 1393

原创 terminating with uncaught exception of type std::length_error: basic_string

terminating with uncaught exception of type std::length_error: basic_string的崩溃原因,以及解决方案

2021-06-29 20:08:45 2376

原创 通过一个示例看全局对象的构造和析构以及atexit的使用

通过一个macOS的可执行程序的示例去观察全局变量/对象的构造、析构的顺序,还有atexit的使用等等

2021-06-27 17:15:44 339

原创 正确使用NDEBUG宏——release包如何关闭assert(Android/ios)

前言最近堆的坑——release包含了Assert的逻辑。原来是项目中针对发布包没有关闭Assert功能,即没有定义NDEBUG宏所导致。如下是搜索资料的与相关实践总结,供遇到同类问题的同学参考Android NDEBUG配置在build.gradle文件IOS NDEBUG配置在TAGGETS的build Settings的Preprocessing配置NDBUG跟assertassert用于调试应用,一般是在开发阶段使用。assert为true会抛出运行时异常而中止应用的运行。而NDB

2021-06-24 19:23:29 1990

原创 Android native开发设置线程名需要注意的地方

前言最近在native开发过程为了分析SDK使用线程情况,设置线程名过程中遇到了两个“坑”,故做下简单的总结记录同时跟大家分享一下。注:这里的native线程,是指用使用pthread创建的线程或直接使用c++的std::thread类来创建新的线程,Andorid/linux上使用prctl(PR_SET_NAME, thread_name, 0, 0, 0)来设置线程名总结第一点:设置线程名可能会失效一般情况下我们native的线程是需要跟java层的模块交互的,由于native线程是没有JV

2021-06-22 21:16:10 1184 5

oppo 开发者指引, Android13兼容性处理建议

oppo 开发者指引, Android13兼容性处理建议

2024-01-30

ec5-Clang-tutorial.pdf

ec5-Clang-tutorial.pdf 介绍Clang AST的使用

2023-03-22

Legend of Zelda, The (Europe).zip

nes rom

2021-09-16

Super Mario Bros. (World).zip

nes游戏rom

2021-09-16

leaktracer.zip

LeakTracker源码,可以解析出相对地址的以及优化了leak-analyze-addr2line脚本,可以配置addr2line的路径

2021-04-20

LeakTracker

LeakTracker源码,可以解析出相对地址的以及优化了leak-analyze-addr2line脚本,可以配置addr2line的路径

2020-12-29

nokia真机调试工具-Debugger

用于nokia s40的真机调试 用于nokia s40的真机调试 用于nokia s40的真机调试

2011-09-06

CreatAutoGetSh

批量文件下载脚本生成器 批量文件下载脚本生成器

2011-08-20

蓝牙休闲娱乐平台

基于J2ME平台的bluetooth技术的程序软件<br>双人聊天<br>多人聊天<br>双人游戏<br>目前是beta版本<br>bug还是很多的<br>谢谢支持<br>我的blog上有代码与更多介绍

2008-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除