作者: hadongzhu

57 篇文章

WordPress更新后摘要长度异常(wp_trim_words函数异常)
引子 在Wordpress更新到6.4后,预览的摘要长度不正常,比原来摘要的长度长很多,经查是wp_trim_words函数出现问题,但查看了这个函数的修改日志发现这个函数在3.3.0发布后没有进行过任何修改,因此应该不是这个函数的问题。后来发现是这一版本的语言包出现问题。 解决方案 退回上一个正常版本的语言包(翻译)。在WordPress中文发布版本下载上一个正常的版本(6.3.2),删除新版的语言包(./wp-content/languages/,除plugins和themes文件夹下的文件…
在Windows沙盒(Windows Sandbox)中无法打开未签名的可执行文件
引子 当在Windows沙盒中打开未签名的可执行文件时会提示如下内容: Search for app in the Store?You need to install an app for this task.Would you like to search for one in the Store? 在Windows沙盒中打开未签名的可执行文件提示需要使用微软商店 并且无论点击Yes或No都无法继续执行。 原因 由于文件未签名,Windows想要通过微软商店(Microsoft Store)安…
Seafile 10.x 专业版(含office预览)安装指南
引子 Seafile是一款开源的同步云盘,分为社区版和专业版,社区版相较于企业版会少一些功能,具体区别请见此处。对于专业版,三个用户及以下是免费使用的。以下对Seafile专业版10.x(含内置office预览)安装过程简单记录,对于以下没有涉及到的内容,可以查看服务器手册。 使用docker安装Seafile专业版(含内置office预览) 在使用docker安装Seafile前需要安装docker和docker-compose。 下载并修改 docker-compose.yml 官方提供一个…
Keil MDK(ARM编译器)分散加载特性(下):使用分散加载文件(.sct)控制
引子 在上篇文章中我们使用Keil MDK提供的GUI控制分散加载,实际上,工程会根据GUI中的这些设置生成一个分散加载文件(.sct),而这个文件才直接控制链接器分散加载,有时GUI提供的设置并不能满足我们的要求,就需要直接编写这个分散加载文件。 查看根据GUI设置生成的分散加载文件(.sct) 若使用GUI控制分散加载(Project – Options for Target ‘xxx’ > Linker 中已勾选Use Memory Layout From Target Dialog…
Keil MDK(ARM编译器)分散加载特性(上):使用GUI控制
引子 某些单片机拥有多个ROM与RAM,例如STM32H750就有ITCM、DTCM、SRAM1~SRAM4等多块内存,并且他们的地址并不连续,同时某些外设也支持地址映射,例如QSPI,从而访问外部Flash的储存空间,如何管理这些地址成了一个问题。有时我们希望将某些代码加载到内存运行,以提升某些关键操作的速度。为了解决这些问题,就需要使用ARM编译器的分散加载(Scatter-loading)特性。在IAR中是由链接器配置文件(Linker configuration file(.icf))实…
Window远程桌面(RD)之极速安装SSL证书
引子 在第一次连接远程桌面时通常会提示“无法验证此远程计算机的身份。是否仍要连接?”,勾选不再询问我是否连接到此计算机后在下次连接时就不会弹出这个警告。虽然这样做受到攻击的概率非常低,但是为RDP安装一个CA颁发的SSL证书能提升一点点RDP的安全性。 安装证书(pfx格式) 部分服务提供商会提供pfx格式的证书下载(服务器类型Tomcat或IIS),通常包含pfx证书和一个密码,若证书不为pfx格式,可以使用openssl进行转换,并需要设置一个密码。 openssl pkcs12 -expo…
枚举在C、C++下兼容的问题
引子 在C++下,枚举的底层类型可以通过枚举基确定,但C下并不支持这种用法,因此在做两者兼容时可能会出现一些潜在的问题,例如: #ifdef __cplusplus namespace test { namespace impl { #endif enum test_enum { TEST_ENUM_1, TEST_ENUM_2, }; #ifdef __cplusplus } // namespace impl } // namespace utils namespace test { enu…
Python下dll、pyd搜索路径的问题
引子最近在用C++使用pybind11生成pyd以供python调用,并且使用opencv的dll,在测试过程中经常无法找到对应的文件。pyd搜索路径会在当前工作目录和PYTHONPATH环境变量中搜索,也可以通过sys.path.append()临时添加变量:sys.path.append('/path_to_pyd/')备注:通过sys.path.append()临时添加变量会导致pycharm中标注报错,但是能够正常运行。在pycharm中可以在 设置 > 项目 > Pytho…
GUIX移植STM32H7指南
GUIX与STM32H7相关资源 ThreadX官方文档 ThreadX代码仓库 STM32Cube MCU包 GUIX代码仓库 x-cube-azrtos-h7 GUIX与此处使用的LCD GUIX提供了一个软件GUIX Studio专门用于设计图形界面,可以在Microsoft Store微软商店中下载,需要注意的是这个软件在国内无法下载,需要将地区切换为美国。此处使用的LCD是使用ST7735主控,SPI进行通信的,颜色格式为RGB565。 GUIX移植 首先在GUIX代码仓库中下载GUI…