VSCODE 配置用户代码片段:通过header添加避免重复包含问题。
{
"c c++ Header": {
"scope": "c,cpp",
"prefix": "header",
"body": [
"#ifndef __${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H__",
"#define __${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H__",
"",
"$0",
"",
"#endif /* __${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H__ */"
],
"description": "Add #ifndef,#define and #endif"
}
}
两年前,曾经用过 STC的单片机,当时对他的那个ISP下载功能很是感兴趣,且当时也想实现一个IAP 升级办法,又不想占用他现有的fash 空间,毕竟还是有点小。就想办法着手研究了一下,就写了一段代码在8051内核的64K空间依次读取所有的数据,最后得到了一个 2k 多一点的 ISP 所用的 bin 文件,反汇编得到汇编文件,就在那花功夫细细地看了看实现方法,分析得出了基本的下载协议,两年后,我觉得这些东西可以考虑公开了。阅读全文→
通过第三方程序实现对STC单片机的程序下载,可以方便进行现场的调试和更新。特别是对于设计远程程序更新、无线程序下载与调试等功能有帮助。阅读全文→
C++11引入了=default和=delete关键字,用于控制类的特殊函数(如构造函数、赋值运算符等)的行为。=default允许显式要求编译器提供默认实现,提高代码可读性和性能;=delete则阻止这些函数的使用,增强类型安全。阅读全文→
std::promise 提供了一种灵活的方式来在不同线程之间传递几乎任何类型的数据。阅读全文→