- 博客(78)
- 资源 (21)
- 收藏
- 关注
原创 Miniconda——轻量级 Python 环境管理工具
Miniconda 是一个轻量级的 Python 环境管理工具。类似于 Anaconda,但它只包含最基本的包和工具。它的主要作用是帮助用户管理和安装 Python 环境及其依赖包,特别适合需要定制环境或希望节省空间的用户。:Miniconda 允许你创建独立的 Python 环境,这样你可以为每个项目设置不同的 Python 版本和依赖包,而不影响其他项目。比如,你可以为一个项目创建 Python 3.10 环境,为另一个项目创建 Python 3.9 环境。:Miniconda 使用conda。
2026-01-26 13:43:19
350
原创 target_include_directories的作用
目标的编译过程中有效。其他目标不会受到影响。,并且作用范围是仅限于该目标的编译过程。PRIVATE表示该包含目录仅在。目录(包含子目录)下查找。会告诉编译器,在编译。
2026-01-04 15:33:30
233
原创 cmake 里 add_library 怎么理解
它的主要作用是将源代码文件编译成库,以便在项目中复用或被其他目标链接。(2) 动态库 SHARED (最终生成.so 或 .dll)(1)静态库 STATIC (最终生成.a或.lib)(3) 插件式动态库 MODULE(通常不被直接链接)大型项目模块化构建或者测试套件管理可以使用这种思路。2、EXCLUDE_FROM_ALL 参数理解。.h不参与构建,只需要添加.cpp文件。(4) 不指定类型,根据。(1)构建可选的组件/插件。
2026-01-04 11:29:18
285
原创 使用libiconv-win-build在Windows平台下编译libiconv
最后使用libiconv-win-build在visual 2022上重新编译libiconv解决了该问题。直接在自己的项目中引用就可以了,v1.18貌似没有charset,这点不必纠结,实测可用。LNK2019: 无法解析的外部符号 _libiconv_openxxx的解决办法.使用原来的库node 启动时,直接报错,无法加载.node.
2025-12-22 17:27:15
164
原创 为什么在 CMakeLists 设置交叉编译器会导致无限循环:原理与正确解决方案
我在CMakeLists.txt文件中加入了 交叉编译链设置:然后执行cmake或循环重复配置,并发出警告:二、问题分析这个警告的的意思是:“你更改了一些变量,这些变量的改变需要删除缓存。配置(configure)过程将会重新运行,你可能需要重新设置一些变量。”更通俗地说,就是:你修改了某些设置,因此系统以前保存的缓存已经不再适用,需要清除。之后配置流程会自动重新执行,可能会要求你重新输入或确认某些设置。这些变量只能在第一次 configure 时通过命令行或 toolchain 文件设置。一旦
2025-11-26 11:34:32
380
原创 linux上编译electron源码
Electron 构建依赖 Chromium 工具链,因此必须使用较新的 64-bit Linux 系统。推荐系统版本:Ubuntu22.04 64位。
2025-11-24 15:20:06
602
原创 使用 CMake 自动下载并集成第三方依赖
后台C语言或者C++代码会集成一些三方库,一些跨平台软件要求兼容linux各种国产系统、mac、windows等,用到的这些三方库也需要支持各个平台。如果在项目代码编译时集成的是库源码,只需要管理一份库的源码即可。如果在项目代码中使用的是三方库二进制文件,例如windows(动态库dll、静态库lib)、国产linux系统(各个架构系统下的.a和.so),mac下的(.a、.dylib),往往需要事先手动下载并放入thirdparty/ 目录。
2025-11-12 11:07:22
345
原创 git分支管理方法(git Flow)
master 稳定线上,develop 开发主线,release 发布准备。阶段使用分支关键操作开发功能feature/*→develop功能开发版本准备develop→release/*预发布测试正式发布release/*→master+ tag上线部署修复问题hotfix/*→masterdevelop紧急修复。
2025-11-12 10:17:11
351
原创 C语言 strtok线程不安全
用于(tokenize),按照指定的把字符串拆分成若干个“子串”(token)。每次调用返回一个子串的指针,没有更多 token 时:返回NULL。strtok()会,在分隔符位置写入'\0'。
2025-10-31 14:17:08
391
原创 在 C 语言中判断字符串非空:str && str[0] vs strlen
在 C 语言开发中,我们经常需要判断一个字符串是否为空(即是否存在有效字符)。
2025-10-28 17:34:40
393
原创 npm 发布node后台安装包和依赖库的方法
在本地做了一个C++插件,前端electron希望和其他官方插件一样,在使用这个插件时,能够通过执行npm install安装,将包自动下载到node_modules下。这种做法方便版本维护,不需要开发人员手动添加模块,不需要过多关心模块。那么做到这一步需要的前提条件有哪些呢?1、首先在本地服务器部署一个Nexus仓库,这个不需要过多关心。详细可查看文章Sonatype Nexus Repository 是什么-CSDN博客2、找服务器维护者申请一个账户3、将package包上传到服务器。
2025-10-27 14:22:45
1084
原创 Sonatype Nexus Repository 是什么
Sonatype Nexus Repository(通常简称)是一款流行的,用于存储、管理和分发软件组件(如库、包、二进制文件等)。它由公司开发,主要用于企业软件开发和持续集成/持续交付(CI/CD)流程中。
2025-10-27 11:48:26
424
原创 windows上指定库链接:#pragma comment(lib, “library.lib“)
是 C 和 C++ 中用于指示编译器执行特定操作或设置特定编译选项的预处理指令。它通常用于提供编译器特定的功能,因为不同的编译器可能支持不同的。并且需要确保库文件在链接器搜索路径中或者在项目设置中添加库目录,否则容易找不到库文件。仅仅适用于 Windows 平台,主要是支持MSVC编译器,不支持gcc编译器。可以在编译时自动将指定库链接到目标文件,替代手动在项目设置中添加库依赖。在项目属性中设置“附加依赖项”。
2025-10-11 17:41:26
334
原创 邮件解析笔记
表示当前 MIME 部分本身是一个完整的邮件消息(RFC 822 格式),相当于在邮件里再嵌了一封邮件。常见于:转发邮件、邮件投递失败报告 (DSN)。,里面有多个子 MIME 部分,每个部分都有自己的 Content-Type。→ 同一内容的不同表现形式(纯文本 + HTML)。分别有 纯文本、带格式文本和附件pdf部分。内容就是一个普通的实体(例如:纯文本。→ HTML 正文 + 内嵌图片。)等,没有再嵌套子部分。多部分 表示这是一个。→ 正文 + 附件。
2025-09-23 10:52:20
200
原创 nodejs搭建electron插件笔记记录
这样 node_modules/.bin/cmake-js 就会出现,npm run ... 脚本就能找到它。执行"scripts"中定义的命令: npm run rebuild-debug。'cmake-js' 不是内部或外部命令,也不是可运行的程序 或批处理文件。如果能正常输出版本号,说明。
2025-09-19 10:22:51
375
原创 标准电子邮件地址格式(RFC 5322 里的 mailbox 语法)
是一个人类可读的名字,通常用引号包裹以避免空格、特殊字符冲突。如果名字里没有特殊字符,引号可以省略。这是实际的电子邮件地址。
2025-08-15 11:03:35
1226
原创 windows上应用程序打包成一个单一的exe
在windows上可以将 可执行程序exe及其运行依赖打包 成一个可以直接点击运行的单一exe文件。一般这种情况 适用于 单一exe作为一个三方工具集成或者制作简单便捷的工具 的应用场景。Enigma Virtual Box 由Enigma开发的免费软件虚拟化工具,适用于Windows操作系统。该工具通过虚拟化技术将应用程序及其依赖文件(包括DLL、OCX、音视频等格式)打包为单一可执行文件,实现绿色软件的无安装部署,该软件支持X86和X64二进制文件。
2025-08-13 18:25:58
538
原创 Qt 串口类QSerialPort实现机制
在 Qt 中,串口通信主要是通过类实现的。这个类属于模块,提供了跨平台对串口(COM 口、串行口、USB 虚拟串口等)的访问。
2025-07-31 00:08:41
1044
原创 win/linux上,C/C++如何判断字符串路径参数是否合法
上层传入一个 const char* filepath;参数,我们在使用时应该判断一下该路径的合法性再去使用,避免造成不必要的错误甚至崩溃。对于非常长的字符串(例如读取配置路径、命令行参数),这种微小性能差异可能累积成开销。if(filepath) 等价于 if(filepath!= nullptr)//有必要,可检查一下该路径是否有写权限,防止对文件进行写操作时失败。以上三个步骤判断传入路径合法性大概就够了。(2)判断字符串是否为空。:要遍历整个字符串直到。(1)判断指针是否是空。:只访问第一个字符,
2025-07-21 15:29:27
367
原创 跨线程信号槽机制 Qt::QueuedConnection
基本原理是一致的,但 Qt6 做了一些底层优化和语言支持的增强。四、跨线程使用信号与槽代码示例。Qt5 和 Qt6 的。
2025-07-21 10:51:46
571
原创 关于AI 大数据模型的基础知识 杂记
下载后的模型存储于 /User/Admin/.lmstudio/models中。LM Studio是使用electron架构,引用的llama.cpp库。
2025-05-09 13:51:11
512
原创 Windows 下 dll转换成lib
二、打开命令行提示的文件夹,将dll放到该目录下。三、将dll导出到txt,编辑成def。编辑列块模式可以很方便的删除。改成ggml.def;
2025-05-09 11:52:19
468
原创 华为鸿蒙 模拟器运行socket建立失败返回-1问题
有相关文档说 可以看到socket返回-1,error报错 没有网络权限,在调试该问题时忘记了打印错误码,下次在排查问题时,记得打印错误码和错误信息,整不好也会提供一些思路方便排查问题。HarmonyOS 鸿蒙Next:native侧创建socket失败,返回值-1,errno=1,失败描述为Operation not permitted.1、设置里的wirtWifi只要是打开已连接的就行,在模拟器的情况下仅代表连接状态。2、3两步在设置代理的情况下,输入正常网址,检测连接也是成功的。
2025-01-13 14:48:42
818
原创 鸿蒙开发环境准备windows版本 hello world
提供local和install,建议使用install,我的电脑没有提示需要安装node.js,可能之前安装过高版本的原因。安装时可选择自定义路径,选择一个空间够用的磁盘。按照视频,需要安装华为的SDK, 我的电脑没有提示,5.0版本已经放安装包里,本身的studio就已经集成。HarmonyOS官网 —— 一探究竟 —— DevEco Studio下载。在这里我的环境已经有node.js,如果没有,按照提示需要安装一下node.js.选择创建桌面快捷方式即可,其他例如添加到bin不需要选择。
2025-01-02 14:54:17
409
原创 css中calc
calc()是一个css函数,用于执行数学运算。基本语法:calc(运算符 表达式1 表达式2)优势:动态调整避免硬编码浏览器支持广泛。calc()是一个CSS函数,用于在样式规则中执行数学运算。它允许开发者在计算值时使用变量和运算符,动态地调整元素的样式。
2024-09-03 08:57:06
700
原创 css spacing设置间距
将在每个单词之间增加30像素的间距。这个属性可以增加或减少字与字之间的空白,并且允许负值,即减少字与字之间的间距。将在每个字母之间增加10像素的间距。这个属性会影响一个单词中每个字母之间的间距,使得单词中的字母之间也有空白。属性用于设置单词之间的间距。它只影响英文单词之间的间距,对中文无效。属性用于设置字母之间的间距,适用于中文和英文。
2024-09-03 08:54:49
635
原创 css radius
在 css 中,radius 属性用于设置元素角落的圆角半径,以创建更美观的现代化外观。属性值包含绝对长度或百分比,或继承父元素的半径。指定一个值会影响所有四个角,指定两个值会分别影响左上角和右下角、右上角和左下角的半径。Radius 是 CSS 中的一个属性,它允许开发者对元素的角落进行圆角处理。它为元素创建圆角边框,使元素看起来更加美观和现代。radius 属性在所有现代浏览器中都得到广泛支持,包括 Chrome、Firefox、Safari、Edge 和 Opera。
2024-09-03 08:51:36
1029
原创 linux 下修改屏幕分辨率
使用界面设置分辨率选项修改时,下面的保存修改按钮显示不出来,无法完成设置。在使用麒麟虚拟机时,不知道咋回事,会自动改变分辨率。xrand -s 屏幕分辨率序号(从0开始)
2024-06-06 11:04:50
8118
原创 麒麟系统 安装xrdp 远程桌面方法记录
麒麟V10 2107 ft2000麒麟V10 2107 x86_64使用《Kylin-Desktop-V10-Release-2107-arm64.iso》镜像 做好U盘启动系统后,需要安装一个远程桌面工具,可以多用户在windows上使用远程桌面访问麒麟系统。目前在linux系统上较为主流的远程桌面的方式是 Xvnc和xorgxrdp,vnc远程桌面访问键盘快捷键不太方面,也没有xOrg使用流畅。
2024-05-30 16:55:54
9088
6
原创 mozilla麒麟UOS编译环境配置记录
make: *** [Makefile:99:autoconf.m4f] 错误 1。1、安装git:sudo apt-get install git。2、安装g++:sudo apt-get install g++新版可能需要放宽麒麟通用设置-应用保护。报什么错安装什么,没报错的不需要安装。报错:libffi找不到。
2024-05-08 11:04:53
1188
原创 linux下dd制作启动U盘
dd命令是比较推荐的一种Linux环境中制作U盘启动盘的方式,无需安装额外的工具,基本上所有Linux发行版都集成了这个命令。3、确认U盘路径,在终端中输入:sudo fdisk -l 例如:我的U盘/dev/sdb;5、使用 dd 命令,格式如下:sudo dd if=xxx.iso of=U盘路径。6、等待约20分钟,当看到终端命令窗口有返回消息,即表示制作完成。4、卸载U盘:sudo umount /dev/sda;
2024-05-07 16:35:45
2187
1
customplot使用手册.pdf
2019-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅