- 博客(90)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 GODOT 4 不用scons编译cpp扩展的方法
terrain3d默认项目采用scons编译,但是是用visual studio驱动的,然而这里 visual 打了折扣,需要手动查看 vcxproj 项目文件,然后godot_cpp里的python脚本,结合才能理解具体编译过程。流程比较莫名其妙,编译速度也慢,全量编译后,再次读取配置都需要8秒。这是godot_cpp模块,所有插件应该是一样的。下载下来,先用scons编译一遍通过后,整个占用1GB,obj 文件都生成在源码旁边,够乱。其实c++项目编译起来从来就不慢,慢是因为项目大,增量编译应该很快的。
2024-11-04 16:31:13
994
原创 FLV 格式详解资料整理,关键帧格式解析写入库等等
理解一个格式,最好的方式就是用 Java 写个解析转换库。我将之转换为 Java ,添加写入关键帧索引的功能,一切竟然如此简单,宛若拨云见月。
2024-09-06 15:06:00
974
原创 【蛋疼c++】千万别用std::wifstream读取Unicode UTF16文件
这说明,程序里面 TCHAR* 字符串就是UTF16编码,不需要 std::wifstream 多此一举地解码,直接读取到内存即可。一些特殊表情符号直接空白(比如:🍓)。或许是,这个办法不支持UTF16的surrogate pair,四个字节的符号。ActiveX这玩意,导出文件,如果是UTF8导出,会出现莫名异常:写一半直接退出。在C++程序中,UTF8文件直接用 stf::ifstream 读进来就可以。
2024-08-10 11:56:54
566
原创 【前端逆向】最佳JS反编译利器,原来就是chrome!
Vscode 里面有一些反编译插件,某某Beautify等等。但这些插件看人品,运气不好搞的话,反编译出来都无法运行。此时就需要去反编译Javascript。如果嫌麻烦,还可以用VSCODE配合AHK制作成半自动反编译流程。要说对 Javascript 最了解的,那当然就是其源代码的维护者、开发者。现如今浏览器时代,Javascript 本家可以说就是 chrome。恰好 chrome 自带各种开发工具。有些把可选链断开了,有些格式化去掉了关键格式,导致出错。有时候需要反编译别人的 min.js。
2024-07-28 13:35:13
5247
原创 Duilib多标签选项卡拖拽效果:添加动画特效!
Direct是比较早的,他的技术比较老。和普通的win程序是一样的。然后他的控件大多是没有句柄的。那个是dx插特效,是不一样的,在播放dx特效之时,会有一个阻塞之类的,特效组合也不是很自由。在postSize的循环中,实时修改动画过程中控件的位置,不直接采用setPos 的值,从而实现布局动画,原理十分的简单。不然跑的太快,CPU飙升过于明显。和chrome浏览器不同的是他没有使用标准的拖拽事件,而是分别处理了点击触摸移动事件。我调查了一些小型界面库,包括imgui、lcui等,都没有内置这样的组件。
2024-06-08 19:34:22
944
1
原创 Intellij IDEA / Android studio 可持续开发笔记
Intellij 的Java/安卓工具链有着一种不可持续性,这种不可持续性体现在多个方面。首先是不可持续运行。IDEA 使用时间越长,内存占用越大,从不主动释放。运行时间越长,日志越多,从不主动清理。然后是不完整的开源,从源码编译时需要下载更多依赖。而研究更多依赖就要消耗更多的精力与资源……
2024-03-30 19:50:55
1545
原创 vscode 运行 java 项目之解决“Build failed, do you want to continue”的问题
安装好官方推荐的 java 扩展包后,就可以运行 java 代码了。功能 比 code runner 强,支持 gradle、maven、普通java项目,运行起来和真正的ide差不多,可以调试。需要整个项目编译起来,然后运行。因为vscode界面基于electron,而electron本质上就是chrome浏览器,而浏览器的界面外观都是可以更改的 —— 通过自定义用户脚本、用户样式的形式。与 eclipse 一样,支持部分代码出错的情况下运行其余完好的代码,于是就可以像脚本一样使用java了。
2024-03-15 19:38:31
1736
2
原创 chrome扩展中文字符串乱码解决
如果在background,js中直接写中文乱码(console.log 或者界面菜单中),那么可以用 chrome.i18n.getMessage(key) ,如果可以的话,应该是编码问题,实测将文件编码修改为 utf-16 后完美解决。
2023-10-07 19:40:41
1956
原创 【浅谈IDE宏指令录制】为加速chrome扩展国际化,我从vscode回归notepad++
安装vscode开源扩展:https://github.com/C10udburst/macros-vscode.git可开启类似于 notetepad 的宏录制与回放功能!可能需要新版本的 vscode 才能安装。如果不想切换,也可以专门下载个 cursor 编辑器,这是 openai 的vscode 分支,还能免费问gpt问题、缺点是,只能录制当前标签页,一切换就停止录制。
2023-10-07 18:51:37
1033
原创 AHK c++ 禁用鼠标设备实现完美息屏(不是休眠)
如何实现完美息屏呢?虽然可以用ahk实现息屏,但桌子一晃,鼠标稍微偏移一下,竟然又亮了,导致息屏无效!现在提供一种AHk脚本结合c++代码的方法,实现完美息屏!
2023-09-24 16:37:21
654
原创 让 exoplayer2 支持播放 ftp ( 扩展 exoplayer 支持 ftp 协议 ) 的两种方式
exoplayer 是安卓开源播放器组件库,由谷歌开发维护。它提供了一个可高度扩展的音视频播放框架,支持许多媒体格式与高级媒体功能,比如 adaptive streaming,DRM,以及安卓 media session 集成。但是不支持 ftp ,有两种方式可以扩展 exoplayer 支持 ftp 协议。
2023-08-22 13:31:09
888
原创 ffmpeg 子进程从内存读取文件、提取图片到内存
除了网络、文件io,开启的ffmpeg子进程还支持pipe,可以从stdin读入数据,输出转化后的图像到stdout。无需编译 ffmpeg,直接调用 ffmpeg.exe。可用于服务端生成缩小的预览图,然后发给ftp客户端,传输较快。
2023-08-22 12:36:49
2011
1
原创 【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换
chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。
2023-07-30 11:37:56
1286
原创 codemirror 5前端代码编辑器资料整理。
CodeMirror 是基于js的源代码编辑器组件,它支持javascript等多种高级语言,tampermonkey内置的代码编辑器就是基于它。它的按键组合方式兼容vim,emacs等,调用者还可自定义”自动完成“的列表窗口,自由度极高,相当成熟。但是这个库也是问题多多,很需要深度配置、改良优化。前排提示:由于信息闭塞,所以才研究了 codemirror 5。研究完才发现, codemirror 5官方基本处于弃坑状态 ……
2023-04-21 15:03:30
4508
原创 gradle mavenPublish 切换不同源码,根据不同的代码 flavor 生成并发布不同分支的 aar 库
本例定义了两个flavor:normal 、dragsort ,其维度为 "listpopup",意即…… 最后,需要告诉 maven Publish 插件:要用 components 指定打包内容 ……
2023-04-16 19:58:18
471
原创 Idea和Android Studio【插件】全局自动设置代码高亮级别为 Syntax
本文介绍一种使用插件完成类似目的的方法 —— 通过开发idea插件,将默认的 highlighting level 设为 Syntax,如需要重新 inspect all problem,则将鼠标移动至滚动条上方,等待弹出小型设置窗口,将 syntax 下拉菜单改成 all problem 即可(见视频中的操作)。不过这样设置对于已经打开的文件时无效的,不会触发重新分析,无法自动动态设置,只能用作默认值,在新开idea窗口、双击打开代码文件时起作用。网上已有一些全局设置的方法,比如inspect设置中,
2023-04-05 17:58:35
3187
原创 win10 设置侧载默认程序之借尸还魂 —— ahk 命令行转接脚本,ahk成为命令行拨号员
最近发现无法设置explorer的默认打开方式了,原来能设置成某一路径,使用绿色软件或者portable很方便,现在只能从安装好的程序中选择。干掉potplayer.exe,用run.exe替换,将run.exe重命名为potplayer.exe!写一个ahk脚本,功能是,接收命令行参数,并以相同参数启动自己的player.exe。其实可以利用ahk“借尸还魂”之法,将已安装的程序干掉,变成自己的程序。怎么办的,辛辛苦苦开发出来的媒体播放器,上传商店还要交700年费……将shk脚本编译成run.exe。
2023-03-29 22:08:31
533
1
原创 程序员的chatgpt —— cursor 编辑器
回答比较简单(and more),还需查文档:https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataa。这个编辑器本身的功能还比较简单,比如无法设置主题色。请对fileArr中的字符串进行自定义排序,当遇到中文字符时,用拼音进行排序。尼玛给的链接根本就是404,hongwenjun却是真有其人,不知怎么的。不用 std::sort ,请对fileArr中的字符串进行自定义排序。
2023-03-28 13:52:54
3055
原创 DirectUI方腾文件管理器一:windows制作一个文件管理器最纯粹的办法
项目地址:https://github.com/KnIfER/FilesTen-Explorer通过这个项目,虽然不能让我的DirectUI分支腾飞,但能让里边的Listview成熟。“最纯粹”,指的是最直接,最简单的方法。比如缩略图通过shellapi获取,不过十几行代码。
2023-03-27 21:59:48
423
原创 Jvm invocation api 调试总论
Jvm invocation api 允许 c++ 程序内嵌虚拟机,运行 Java 代码。这一块的调试还是比较麻烦的。
2023-03-05 15:48:58
499
原创 【无限思维画布】制作思维导图第五步,节点创建与连接,拖拽对齐与双击缩放
正在为无限词典制作单词思维导图功能,实现无限单词导图,无限思维画布。目前制作到第五步,实现节点创建、节点连接、节点拖拽对齐:节点创建与连接,拖拽对齐。
2023-02-27 17:12:18
726
1
原创 【无限思维画布】制作思维导图第三步,节点移动与编辑
正在为无限词典制作单词思维导图功能,实现无限单词导图、无限思维画布。目前制作到第三步 —— 节点移动与编辑。
2023-02-26 20:06:07
786
原创 visual studio 调试增强,实现一行代码打印调用栈
VisualStudio 如何主动打印调用栈?如果不下断点,那么只能在崩溃的时候被动查看。快使用Backward-Cpp,只需在拖入一个头文件,就可以主动打印。但默认无法在 VisualStudio 的 output 窗口看到任何信息,且格式较为零散,下面分享一些强化的方法。
2023-02-01 19:13:05
1041
原创 visual studio 必装插件,码c++等必备
分享一些vs插件。必装三件套,虽简单但是没有真的不行,然后用ahk来锦上添花篇 ,最后考察他山之石。
2023-01-27 13:01:08
10995
原创 Jitpack使用指南:maven-publish如虎,jitpack如翼 【安卓Java组件化模块化】【更多gradle技巧】
上文整理了三种多模块开发的方法。我的第一个开源项目就依次用过,如今更是如虎添翼。
2023-01-17 17:07:08
2450
原创 解决安卓刷新recyclerView时导致itemDecoration分栏标题绘制错乱(重叠和隔空现象)
安卓的 itemDecoration 装饰器是个好东西,可以与adapter适配器一样闪耀。但是刷新的时候有可能发生重叠或莫名隔空的BUG。关键是正确获取recyclerView子项视图位置,避免刻舟求剑。
2022-12-17 13:43:56
1690
原创 【脚本资源】巧用 FFMEPG 为Android Studio制作提示音,用音乐舒缓压力
截取前两秒项目构建成功的提示音,是一种开放的感觉,open feeling,心胸开阔,开启无限可能。反转后作为构建失败的提示音,别有旋律,是一种幽然的警报声,紧张中带有诙谐感,开始无限调试。
2022-12-16 15:31:08
540
原创 将“万词王”离线转化为“文络之心“插件之一:复现 wantwords Python/Pytorch 开源项目
本文带你从零探索Wantwords.net,这是个开源的pytorch词典项目。其模型文件也是开放下载的。
2022-12-05 11:49:39
1407
原创 关于 Lucene 搜索语法与分词的浅显研究
上文我用icu分词器实现了简单的中文分词器,却发现不能直接在搜索之时使用,会打断一些lucene搜索语法的分析。比如,使用双引号进行全文搜索,我制作的自定义分词器却出现了冗余内容,反而查找不到任何有效内容……问号无法在双引号内使用。其实双引号之内,空格以及标点符号是被过滤掉的,匹配连续的关键词。
2022-12-04 15:57:36
514
原创 Android Studio / IDEA 调试金手指:live template自动打印方法名以及所有变量
需要用到groovyScript,参考第N篇博客至于学会了……
2022-11-29 17:45:07
931
原创 安卓Accessibility(Talkback无障碍读屏器)适配笔记
视图只要保证这两点,就可以被读屏器点读……有些按钮可能需要根据情况提供不同的读屏内容,建议用委托类实现,不用总是自定义视图。
2022-11-26 22:16:59
2423
原创 JS测试出最小支持字体,以及修复PDFJS的文本错误偏移
如果浏览器的文本缩放不是100%,而PDFJS没有检测这一点,导致文本排布发生偏移。PDFJS的文本层有时会有一个错误的整体偏移,导致文本处于错误位置,导致用户选择错误的文本。浏览器还有一个“最小支持字体”的限制,
2022-11-19 13:21:10
1490
原创 再战sortablejs
这次重新捡起sortablejs,发现还有许多地方可以优化,甚至可以实现懒加载。sortable.js一共一百多kb。它使用插件式设计,其中MultiDrag……
2022-11-03 13:22:46
1369
3
原创 js用普通DIV模拟A标签
当节点为A标签时(即anchor tag超链接元素),鼠标中键无法在其上触发自动滚动。比如浏览器再带的书签管理器,会在左右设计空白区域,只能在空白区域触发中键滚动,但如果没有这么多空间的话(比如扩展弹出窗口),就需要用DIV标签模拟A标签。
2022-10-31 11:45:17
861
原创 用原生JS实现虚表控件
在HTML/dom环境,纯JS“无限”滚动列表与众不同,和自绘制界面实现的ListView是不一样的,更加需要dom操作的技巧,讲究的要么是“左脚蹬右脚”循环覆盖,要么是滚动一点、增长一点。不过后者严格来说不是虚表,仅仅是懒加载而已。
2022-10-29 07:56:21
510
原创 Aardio 第一天:使用虚表和适配器+试融合Java
挺洋气的名字,乍看神似arduino的重新排序。不过这是一种国人开发的脚本编程语言,自带基于win32 api的界面框架,可以和其他编程语言沟通,比如调用java或者python代码。下载下来6.5MB的压缩包,解压后,打开集成开发环境,它还会远程下载组件,比如粘贴了vlist的示例代码后,点击硕大的运行按钮,会要求安装vlist组件,确认即可。也可以从网上下载 .aardio 文件,自己放到lib文件夹中,作为开源库使用。这对于开源很友好,也可以魔改、借此入门,aardio上层都是开源的。
2022-09-28 15:30:00
3231
1
原创 安卓在任意位置打开drawerLayout
其实可以把 drawerLayout 放到中,这样就可以在任意位置打开侧滑抽屉界面了,不必嵌套在主界面之内。缺点是这样的抽屉关闭后无法再滑动打开,只能通过点击菜单/按钮来打开,不过自从安卓出全面屏手势后,这个缺点也就不算缺点了。
2022-09-20 16:46:16
638
win10 c++ 关闭/启动设备驱动
2023-09-24
Idea插件:全局自动设置代码高亮级别为 Syntax
2023-04-05
【条码】【二维码】高性能扫码程序ScanZxing-HP.zip
2020-07-28
我在开发一个视频播放器,怎么实现复制图像到剪贴板呢
2023-01-31
win32 开发原生 c++ 项目调用 java ,如何打Log调试?
2023-01-13
HTML 页面鼠标中键按下后滚动了错误的元素?
2021-02-07
Android studio 每次启动怎么不记忆页面位置?
2021-01-27
For 循环中的局部变量为什么可以拿出来用?
2020-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人