VScode for stm32 消除中文数组警告
在用VScode 开发stm32的时候有些场景下不得不用GB2312编码格式的c文件如采用液晶中文字库等。常规的UTF-8格式下一个中文字符占用3个字节而GB2312是占用2字节的为能让字库正常识别中文不得不定义中文数组编译的时候就是一堆警告。 如果想让 VS Code 的智能感知也识别这些参数避免编辑器标红同时方便一键编译可修改c_cpp_properties.json和tasks.json解决方法1》修改tasks.json一键编译用按 CtrlShiftP → 输入Tasks: Configure Task→ 选择Create tasks.json file from template→ 选择Others修改生成的tasks.json添加编译参数{ // See https://go.microsoft.com/fwlink/?LinkId733558 // for the documentation about the tasks.json format version: 2.0.0, tasks: [ { label: echo, type: shell, command: echo Hello }, { // 任务名称自定义比如 编译menu_fun.c label: build-menu-fun, type: shell, // 编译器路径根据你的实际路径修改嵌入式替换为 arm-none-eabi-gcc command: arm-none-eabi-gcc, // 嵌入式编译器 args: [ // 输出可执行文件名称比如生成 menu_fun.exe -o, ${fileDirname}/App/OLED/menu_fun, // 要编译的文件当前目录下的 menu_fun.c ${fileDirname}/App/OLED/menu_fun.c, // 核心适配 GB2312 中文编码 -finput-charsetGB2312, -fexec-charsetGB2312, // 屏蔽中文数组触发的警告 -Wno-multichar, // 可选屏蔽其他可能的中文相关警告 -Wno-implicit-int, -Wno-unused-variable ], // 设置为默认构建任务按 CtrlShiftB 可直接执行 group: { kind: build, isDefault: true }, // 识别 GCC 编译错误/警告 problemMatcher: [$gcc], // 任务描述可选 detail: 编译 menu_fun.c适配 GB2312 中文编码屏蔽多字符警告 } ] }示例中仅屏蔽了根目录/APP/OLED/menu_func.c如有其他文件可依样添加。2》修改c_cpp_properties.json语法检查用tasks.json只负责编译编辑器语法检查需单独配置c_cpp_properties.json格式如下{ configurations: [ { name: Win32, // 或 ARM-GCC嵌入式 includePath: [${workspaceFolder}/**], defines: [], compilerPath: C:/MinGW/bin/gcc.exe, // 你的 GCC 路径 cStandard: c17, cppStandard: c17, intelliSenseMode: gcc-x64, // 核心添加编码和警告参数 compilerArgs: [ -finput-charsetGB2312, -fexec-charsetGB2312, -Wno-multichar ] } ], version: 4 }3》验证是否生效编译完成后可通过以下方式验证参数是否生效编译时无「multi-character character constant」「illegal character encoding」等警告运行生成的可执行文件中文字符能正常显示无乱码若用嵌入式编译器可通过arm-none-eabi-objdump -s test.elf查看字符串段中文字符的十六进制值符合 GB2312 编码如「中」是 0xD6 0xD0。

相关新闻

SimpleDateFormat 为什么线程不安全

SimpleDateFormat 为什么线程不安全

SimpleDateFormat是线程不安全的,主要原因如下: 1. 内部状态可变性 // SimpleDateFormat 内部维护了可变状态 private StringBuffer format(Date date, StringBuffer toAppendTo, FieldDelegate delegate) {// 会修改内部的 Calendar 对象calendar.set…

2026/7/6 7:29:58 阅读更多 →
java Date转换为string

java Date转换为string

在Java中将Date转换为String有多种方法,以下是常用的几种方式: 1. 使用 SimpleDateFormat(传统方式,Java 8之前) import java.text.SimpleDateFormat; import java.util.Date;// 创建Date对象 Date date new Date()…

2026/7/6 10:24:05 阅读更多 →
设计模式在 TypeScript 中的实现

设计模式在 TypeScript 中的实现

设计模式在 TypeScript 中的实现 欢迎继续本专栏的第三十八篇文章。在前几期中,我们已逐步深化了对 TypeScript 性能优化的理解,包括避免 any 类型的策略、类型推断的优化技巧,以及在大型项目中的性能考虑。这些实践帮助我们构建了更高效和可…

2026/7/5 22:52:34 阅读更多 →

最新新闻

Docker镜像传播延迟介绍(Propagation Delay)(GitHub Container Registry - GHCR)manifest、镜像同步、节点同步、最终一致性

Docker镜像传播延迟介绍(Propagation Delay)(GitHub Container Registry - GHCR)manifest、镜像同步、节点同步、最终一致性

在 set -euo pipefail 下,命令替换内 docker buildx imagetools inspect 失败会直接终止脚本,设计好的诊断信息永远不会打印(在 CD 刚变绿、GHCR manifest 尚未传播完成时实际触发过一次静默失败)。给命令替换加 || true 使空 dig…

2026/7/7 3:53:36 阅读更多 →
PgBouncer 的 session 模式详解

PgBouncer 的 session 模式详解

1. 什么是 PgBouncer? PgBouncer 是一个轻量级的 PostgreSQL 连接池工具,主要用于管理和复用数据库连接,减少频繁建立和断开连接的开销,从而提升数据库性能和并发处理能力。 2. PgBouncer 的三种连接池模式 PgBouncer 支持三种主要的连接池模式,每种模式对应不同的会话…

2026/7/7 3:51:36 阅读更多 →
Linux内存Overcommit机制:三种策略、OOM Killer算法与cgroup限制行为的工程化分析

Linux内存Overcommit机制:三种策略、OOM Killer算法与cgroup限制行为的工程化分析

Linux内存Overcommit机制:三种策略、OOM Killer算法与cgroup限制行为的工程化分析 一、为什么Linux允许超额分配内存 物理内存是有限资源,但进程的内存请求远大于实际使用量。典型场景:进程malloc了1GB但只写了100MB,剩余900MB从未…

2026/7/7 3:49:35 阅读更多 →
移动端SoC选购避坑:3个关键参数(CPU/GPU/制程)解读与2024年芯片性能天梯图

移动端SoC选购避坑:3个关键参数(CPU/GPU/制程)解读与2024年芯片性能天梯图

移动端SoC选购避坑:3个关键参数(CPU/GPU/制程)解读与2024年芯片性能天梯图当你在手机卖场被各种"旗舰芯片""性能怪兽"的宣传语包围时,是否真正清楚这些参数背后的含义?本文将带你穿透营销迷雾&…

2026/7/7 3:49:35 阅读更多 →
小程序域名如何进行安全防护?一篇讲透

小程序域名如何进行安全防护?一篇讲透

随着小程序生态的快速发展,越来越多的企业将核心业务迁移到小程序上。然而,小程序同样面临着Web应用常见的各类安全威胁——SQL注入、XSS攻击、恶意爬虫、CC攻击、DDoS攻击等。那么,小程序的域名应该如何进行安全防护呢?本文将为你…

2026/7/7 3:47:35 阅读更多 →
AI 金融助手如何真正落地:ClaudeAPI 在银行业务里的应用思路

AI 金融助手如何真正落地:ClaudeAPI 在银行业务里的应用思路

银行业对 AI 的态度,正在从过去的“这个东西能不能用”,慢慢转向更现实的问题:怎么用才安全?怎么用才可控?出了问题能不能追溯?和普通聊天机器人相比,真正能在银行里跑起来的 AI 金融助手&#…

2026/7/7 3:47:35 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻