当前位置: 首页 > news >正文

【VS2017】cpp文件字符编码异常导致编译报错

这是一个 wav 转 pcm 的简单demo,但VS2017编译报错

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <inttypes.h>
#pragma pack(push, 1)
struct TWavHead
{int8_t   riff[4];				/*!< (4)资源交换文件标志 RIFF */uint32_t file_size;				/*!< (4)文件总长度*/int8_t   wave[4];				/*!< (4)wav文件标志 WAVE */int8_t   fmt[4];				/*!< (4)波形格式标志 FMT */uint32_t fmt_size;				/*!< (4)过滤字节 一般为 0x00000010H */uint16_t aud_fmt;				/*!< (2)格式种类, 为1时,表示数据为线性PCM编码 */uint16_t channels;				/*!< (2)声道数 */uint32_t sample_rate;			/*!< (4)采样率 */uint32_t byte_rate;				/*!< (4)波形数据传输速率,每秒平均字节数 */uint16_t block_align;			/*!< (2)数据调整数,按字节算 */uint16_t bits_pre_sample;		/*!< (2)样本位宽(位深) */
};
struct TWavInfo
{int8_t   data_flag[4];			/*!< (4)数据标识符 data */uint32_t date_size;				/*!< (4)数据长度 */
};
#pragma pack(pop)int main(int argc, char const *argv[])
{if (argc < 2){fprintf(stdout, "no input file\n");return -1;}const char* pchSrcName = argv[1];char achDstName[128] = {0};snprintf(achDstName, 128, "%s.pcm", pchSrcName);FILE* ptSrcFile = fopen(pchSrcName, "rb");FILE* ptDstFile = fopen(achDstName, "wb");TWavHead tHead;TWavInfo tInfo;fread(&tHead, 1, sizeof(TWavHead), ptSrcFile);fseek(ptSrcFile, 2, SEEK_CUR);fread(&tInfo, 1, sizeof(TWavInfo), ptSrcFile);fprintf(stdout, "           riff:%c%c%c%c\n", tHead.riff[0], tHead.riff[1], tHead.riff[2], tHead.riff[3]);fprintf(stdout, "      file_size:%u\n", tHead.file_size);fprintf(stdout, "           wave:%c%c%c%c\n", tHead.wave[0], tHead.wave[1], tHead.wave[2], tHead.wave[3]);fprintf(stdout, "            fmt:%c%c%c%c\n", tHead.fmt[0], tHead.fmt[1], tHead.fmt[2], tHead.fmt[3]);fprintf(stdout, "       fmt_size:%u\n", tHead.fmt_size);fprintf(stdout, "        aud_fmt:%u\n", tHead.aud_fmt);fprintf(stdout, "       channels:%u\n", tHead.channels);fprintf(stdout, "    sample_rate:%u\n", tHead.sample_rate);fprintf(stdout, "      byte_rate:%u\n", tHead.byte_rate);fprintf(stdout, "    block_align:%u\n", tHead.block_align);fprintf(stdout, "bits_pre_sample:%u\n", tHead.bits_pre_sample);fprintf(stdout, "      data_flag:%c%c%c%c\n", tInfo.data_flag[0], tInfo.data_flag[1], tInfo.data_flag[2], tInfo.data_flag[3]);fprintf(stdout, "      date_size:%u\n", tInfo.date_size);uint32_t dwBitNum = tHead.block_align;uint8_t abyBit[128];uint32_t dwRdLen = 0;uint32_t dwSum = 0;for (;;){dwRdLen = fread(&abyBit, 1, dwBitNum, ptSrcFile);if (dwRdLen != dwBitNum){break;}fwrite(&abyBit, 1, dwBitNum, ptDstFile);dwSum += dwBitNum;if (dwSum >= tInfo.date_size){break;}}fflush(ptDstFile);fclose(ptDstFile);fclose(ptSrcFile);fprintf(stdout, "trans over:%u\n", dwSum);return 0;
}

VS2017编译报错:

1>------ 已启动生成: 项目: demo, 配置: Release Win32 ------
1>main.cpp
1>f:\demo\demo\main.cpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>f:\demo\demo\main.cpp(45): error C2039: “wave”: 不是“TWavHead”的成员
1>f:\demo\demo\main.cpp(5): note: 参见“TWavHead”的声明
1>f:\demo\demo\main.cpp(45): warning C4473: “fprintf”: 没有为格式字符串传递足够的参数
1>f:\demo\demo\main.cpp(45): note: 占位符和其参数预计 4 可变参数,但提供的却是 0 参数
1>f:\demo\demo\main.cpp(45): note: 缺失的可变参数 1 为格式字符串“%c”所需
1>已完成生成项目“demo.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0==========

根据您提供的代码和编译错误信息,以下是问题分析及解决方案:

1. 字符编码问题

错误信息:

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

原因分析:

  • 您的源代码文件中包含了中文注释(如 /*!< (4)资源交换文件标志 RIFF */),而编译器当前使用的代码页(936,简体中文GBK)无法正确表示这些字符。
  • 这可能导致编译器在解析字符串字面量时出现问题,尤其是像 int8_t riff[4]; 这样的数组初始化,如果其中的字符超出了当前代码页的范围,可能会引发错误。

解决方案:

  • 保存文件为 UTF-8 编码:

    • 使用支持选择编码的编辑器(如 Visual Studio、Notepad++ 等)打开您的 .cpp 文件。
    • 将文件编码更改为 UTF-8(无 BOM)。
    • 保存文件后重新编译。
  • 或者,确保所有非ASCII字符都在当前代码页内:

    • 如果必须使用代码页936,确保所有注释和字符串字面量中的字符都在该代码页的支持范围内。
    • 但这种方法较为复杂,推荐使用UTF-8编码。

2. 结构体成员访问错误

错误信息:

error C2039: “wave”: 不是“TWavHead”的成员
note: 参见“TWavHead”的声明

原因分析:

  • 由于字符编码问题,编译器可能误解析了结构体 TWavHead 中的成员,导致 wave 成员未被正确识别。
  • 另外,检查结构体定义是否正确,确保没有拼写错误或遗漏。

解决方案:

  • 解决字符编码问题后,重新检查结构体定义:

    • 确保 struct TWavHead 中确实定义了 int8_t wave[4];
    • 确认没有拼写错误,例如是否写成了 wav 或其他类似名称。
  • 示例检查:

    struct TWavHead
    {int8_t riff[4];          /*!< 资源交换文件标志 RIFF */uint32_t file_size;      /*!< 文件总长度 */int8_t wave[4];          /*!< wav文件标志 WAVE */int8_t fmt[4];           /*!< 波形格式标志 FMT */// 其他成员...
    };
    

3. fprintf 参数不匹配警告

警告信息:

warning C4473: “fprintf”: 没有为格式字符串传递足够的参数
note: 占位符和其参数预计 4 可变参数,但提供的却是 0 参数

原因分析:

  • 由于前面的结构体解析错误,编译器可能误认为 tHead.wave 不存在或类型不正确,导致传递给 fprintf 的参数数量不足。
  • 例如,如果 tHead.wave 被错误地解析为一个单一的 int8_t 而不是 int8_t[4],则 %c%c%c%c 需要四个参数,但实际上只传递了一个。

解决方案:

  • 首先解决字符编码和结构体成员识别问题。
  • 确保 tHead.wave 是一个包含4个元素的数组:
    • 在结构体定义中,int8_t wave[4]; 应该正确解析为一个长度为4的数组。
    • 如果编译器仍然报错,可以尝试显式传递数组元素:
      fprintf(stdout, "          wave:%c%c%c%c
      

",
tHead.wave[0], tHead.wave[1], tHead.wave[2], tHead.wave[3]);
```

4. 其他建议

  • 检查文件路径和权限:

    • 确保输入文件存在且程序有读取权限。
    • 确保输出文件路径正确且有写入权限。
  • 调试编译错误:

    • 逐步注释掉部分代码,确认具体是哪一部分引发错误。
    • 使用编译器提供的详细错误信息,定位问题源头。

总结

主要问题源于源代码文件的字符编码与编译器的代码页不匹配,导致结构体成员无法正确识别。通过将文件保存为 UTF-8 编码,并确保结构体定义正确,可以解决大部分编译错误。同时,注意 fprintf 的参数传递,确保格式字符串与提供的参数数量一致。


解决

修改demo的cpp文件的字符编码方式,由 UTF-8 修改成 GB2312 后,编译成功!
请添加图片描述
请添加图片描述
字符编码修改为 GB2312 后编译成功!
请添加图片描述

相关文章:

【VS2017】cpp文件字符编码异常导致编译报错

这是一个 wav 转 pcm 的简单demo&#xff0c;但VS2017编译报错 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <inttypes.h> #pragma pack(push, 1) struct TWavHead {int8_t riff[4]; /*!< (4)资源交换文件标志 RIFF */uint32_t file_si…...

Vue3 中 Route 与 Router 的区别

在 Vue Router 中&#xff0c;Route 和 Router 是两个相关但完全不同的概念&#xff1a; 1、Router (路由实例) 定义&#xff1a;Router 是路由器的实例&#xff0c;负责整个应用的路由管理 功能&#xff1a; 管理路由映射表&#xff08;路由配置&#xff09; 提供编程式导航…...

gcc还会有自己的头文件呢?

1. GCC自己的头文件目录 路径&#xff1a; .../lib/gcc/<target>/<version>/include 作用&#xff1a; 这里存放的是GCC编译器自身实现的一些头文件&#xff0c;比如 stdarg.h、float.h、limits.h、varargs.h 等。这些头文件是C/C标准规定必须有的&#xff0c;但…...

YOLO训练输入尺寸代表什么 --input_width 和 --input_height 参数

参数作用 硬件对齐要求 许多边缘计算芯片&#xff08;如 K230&#xff09;的 NPU 对输入尺寸有 内存对齐要求&#xff08;例如 32 的倍数&#xff09;。脚本会自动将你填写的输入尺寸向上对齐到最近的 32 倍数&#xff1a; input_width int(math.ceil(args.input_width / 32.0…...

缓存穿透、缓存击穿、缓存雪崩解决方案

在分布式系统中,缓存是提升性能的关键组件,但也可能面临 缓存穿透、缓存击穿、缓存雪崩 三大典型问题。以下是三者的核心概念、区别及解决方案: 一、缓存穿透(Cache Penetration) 概念 场景:客户端请求 不存在的数据(如恶意攻击的非法 Key),由于缓存和数...

前端面经-nginx/docker

1.如何查看 Linux 系统负载&#xff1f;如何判断负载是否过高&#xff1f; 使用 top、htop 或 uptime 查看系统负载。 负载值&#xff08;Load Average&#xff09;反映 CPU 繁忙程度&#xff0c;理想情况下应小于 CPU 核心数。例如&#xff0c;4 核 CPU 的负载持续超过 4 表示…...

权限控制相关实现

Spring Boot-Shiro-Vue&#xff1a; 这个项目可以满足基本的权限控制需求&#xff0c;前后端都有&#xff0c;开箱即用...

[论文精读]Ward: Provable RAG Dataset Inference via LLM Watermarks

Ward: Provable RAG Dataset Inference via LLM Watermarks [2410.03537] Ward: Provable RAG Dataset Inference via LLM Watermarks ICLR 2025 Rebuttal&#xff1a;Ward: 可证明的 RAG 数据集推理通过 LLM 水印 | OpenReview --- Ward: Provable RAG Dataset Inference v…...

第23天-Python Flet 开发指南

环境准备 pip install flet 示例1:基础计数器应用 import flet as ftdef main(page: ft.Page):page.title = "计数器"page.vertical_alignment = ft.MainAxisAlignment.CENTERtxt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, wid…...

LangGraph(五)——自定义状态

目录 1. 向状态添加键2. 更新工具中的状态3. 构建状态图4. 提示聊天机器人5. 添加人工协助6. 手动更新状态参考 1. 向状态添加键 通过向状态添加name和birthday键来更新聊天机器人对实体生日的研究&#xff1a; from typing import Annotated from typing_extensions import T…...

fatload使用方式

‌Fatload是U-Boot中的一个命令&#xff0c;用于从FAT文件系统加载二进制文件到内存中‌。其基本用法如下&#xff1a; fatload <interface> <dev[:part]> <addr> <filename> <bytes>‌interface‌&#xff1a;所使用的接口&#xff0c;如MMC、…...

Pytorch基础操作

面试的时候&#xff0c;PhD看我简历上面写了”熟悉pytorch框架“&#xff0c;然后就猛猛提问了有关于tensor切片的问题…当然是没答上来&#xff0c;因此在这里整理一下pytorch的一些基础编程语法&#xff0c;常看常新 PyTorch基础操作全解 一、张量初始化 PyTorch的核心数据…...

Femap许可证安装与配置指南

在电磁仿真领域&#xff0c;Femap凭借其卓越的性能和广泛的应用场景&#xff0c;已成为许多工程师和科研人员的首选工具。为了确保您能够顺利安装和配置Femap许可证&#xff0c;本文将提供详细的安装和配置指南&#xff0c;帮助您快速完成设置&#xff0c;开启高效的仿真之旅。…...

家用和类似用途电器的安全 第1部分:通用要求 与2005版差异(7)

文未有本标准免费下载链接。 ——增加了“对峰值电压大于15kV的&#xff0c;其放电电能应不超过350mJ”的要求&#xff08;见8.1.4&#xff09; 1. GB/T4706.1-2024&#xff1a; 8.1.4 如果易触及部件为下述情况,则不认为其是带电的。 ——该部件由安全特低电压供电,且: 对…...

基于Browser Use + Playwright 实现AI Agent操作Web UI自动化

Browser Use是什么 Browser Use是一个开源项目官网&#xff1a;Browser Use - Enable AI to control your browser&#xff0c;专为大语言模型&#xff08;LLM&#xff09;设计的只能浏览器工具&#xff0c;能够让AI像人类一样自然的浏览和操作网页&#xff0c;支持多标签页管…...

【题解-洛谷】B4302 [蓝桥杯青少年组省赛 2024] 出现奇数次的数

题目:B4302 [蓝桥杯青少年组省赛 2024] 出现奇数次的数 题目描述 奇数:指不能被 2 2 2 整除的整数。 例如: 3 3...

Redis SETNX:分布式锁与原子性操作的核心

SETNX 是 Redis 中的一个经典命令&#xff0c;全称是 Set if Not eXists&#xff08;当键不存在时设置值&#xff09;。它的核心作用是原子性地完成 “检查并设置” 操作&#xff0c;常用于分布式锁、防止重复提交等需要 “独占性” 的场景。 一、基本语法与返回值 命令格式&…...

常见字符串相似度算法详解

目录 引言 一、Levenshtein距离&#xff08;编辑距离&#xff09; 1.1 算法原理 1.2 Java实现 1.3 springboot中实现 二、Jaro-Winkler相似度 2.1 算法特点 2.2 Java实现 三、余弦相似度&#xff08;向量空间模型&#xff09; 3.1 实现步骤 3.2 Java实现 3.3 简化版…...

红蓝对抗中的网络安全设备操作手册

目录 &#x1f510; 关键要点 设备操作与实战应用 &#x1f4ca; 1. 防火墙 (Firewall) 蓝队&#xff08;防御&#xff09;用法 红队&#xff08;攻击&#xff09;用法 &#x1f50d; 2. 入侵检测/防护系统 (IDS/IPS) 蓝队&#xff08;防御&#xff09;用法 红队&#…...

用python实现汉字转拼音工具

用python实现汉字转拼音工具 主要功能特点&#xff1a; 多种拼音风格选择&#xff08;带声调符号、数字声调、无声调&#xff09;输出模式&#xff1a;可以选择“普通模式”&#xff08;仅拼音&#xff09;或“拼音注音”&#xff08;每个汉字的拼音显示在上方&#xff09;可…...

spring中的Interceptor使用说明

一、Interceptor 的核心概念 Interceptor&#xff08;拦截器&#xff09; 是 Spring MVC 提供的一种机制&#xff0c;用于在请求处理的不同阶段插入自定义逻辑。其核心作用包括&#xff1a; • 预处理&#xff1a;在控制器方法执行前进行权限校验、日志记录等。 • 后处理&am…...

Wi-Fi(无线局域网技术)

Wi-Fi&#xff08;Wireless Fidelity&#xff0c;无线保真&#xff09;是通过无线电波传输数据的技术&#xff0c;它使设备能够通过无线连接方式访问网络、共享文件或连接互联网。Wi-Fi已经成为现代家庭、办公室以及公共场所中常见的无线通信方式&#xff0c;支持的设备包括手机…...

MySQL Host 被封锁解决方案(全版本适用 + Java 后端优化)

引言 MySQL 中 “Host is blocked because of many connection errors” 是生产环境常见问题&#xff0c;若处理不当会导致服务中断。本文结合 MySQL 官方文档&#xff08;5.5/8.0&#xff09;、Java 后端最佳实践及企业级经验&#xff0c;提供从 “快速解封” 到 “根源优化”…...

分类预测 | Matlab实现PSO-RF粒子群算法优化随机森林多特征分类预测

分类预测 | Matlab实现PSO-RF粒子群算法优化随机森林多特征分类预测 目录 分类预测 | Matlab实现PSO-RF粒子群算法优化随机森林多特征分类预测分类效果**功能概述****算法流程** 分类效果 功能概述 数据预处理 读取Excel数据集&#xff0c;划分训练集&#xff08;前260行&#…...

【苍穹外卖】Day01—Mac前端环境搭建

目录 一、安装Nginx &#xff08;一&#xff09;安装Homebrew &#xff08;二&#xff09;Homebrew安装Nginx 1. 执行安装命令&#xff1a; 2. 验证安装&#xff1a; &#xff08;三&#xff09;启动与停止Nginx 二、配置Nginx 1. 替换nginx.conf 2. 替换html文件夹 三…...

anaconda创建环境出错HTTPS

报错信息 warnings.warn( /home/ti-3/anaconda3/lib/python3.12/site-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host ‘repo.anaconda.com’. Adding certificate verification is strongly advised. Se…...

Nginx 强制 HTTPS:提升网站安全性的关键一步

在当今互联网时代&#xff0c;网站的安全性至关重要。使用 HTTPS 协议可以有效保护用户数据&#xff0c;防止信息泄露和中间人攻击。本文将详细介绍如何在 Nginx 中设置强制 HTTPS&#xff0c;确保所有 HTTP 请求都被自动重定向到 HTTPS。 一、背景与重要性 HTTPS&#xff08…...

青藏高原边界数据总集

关键数据集分类&#xff1a;地表参数数据集空间分辨率&#xff1a;m共享方式&#xff1a;开放获取数据大小&#xff1a;265.87 KB数据时间范围:2016元数据更新时间:2022-04-18 数据集摘要 此边界数据总集包含五种类型的边界&#xff1a; &#xff11;、TPBoundary_2500m&#…...

AI赋能R-Meta分析核心技术:从热点挖掘到高级模型

随着人工智能技术的不断进步&#xff0c;Meta分析作为科学研究中的一种重要方法&#xff0c;也在不断地被赋予新的活力。特别是以ChatGPT为代表的AI大语言模型&#xff0c;为Meta分析提供了更为高效和智能的工具。本文将详细介绍AI赋能R-Meta分析的核心技术&#xff0c;并结合实…...

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析实践技术应用

在自然和社会科学领域有大量与地理或空间有关的数据&#xff0c;这一类数据一般具有严重的空间异质性&#xff0c;而通常的统计学方法并不能处理空间异质性&#xff0c;因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法&#xff1a;经典地理加权回归&#xff0c;…...

GPT 等decoder系列常见的下游任务

下面用一句话&#xff0b;四个例子&#xff0c;把上面那张“所有下游任务都要微调”架构图说清楚&#xff1a; 核心思路&#xff1a;不管你要做什么任务&#xff0c;都用同一个 Transformer&#xff08;这里是 GPT&#xff0f;Decoder-Only 模型&#xff09;当“特征抽取器”&a…...

java面试每日一背 day1

1.什么是缓存穿透 缓存穿透是指查询一个数据库中根本不存在的数据&#xff0c;导致这个查询请求绕过缓存直接访问数据库的情况。这种情况如果频繁发生&#xff0c;会对数据库造成不必要的压力。 典型特征&#xff1a; &#xff08;1&#xff09;查询的数据在数据库和缓存中都…...

Spring Boot AI 之 Chat Client API 使用大全

ChatClient提供了一套流畅的API用于与AI模型交互,同时支持同步和流式两种编程模型。 流畅API包含构建Prompt组成元素的方法,这些Prompt将作为输入传递给AI模型。从API角度来看,Prompt由一系列消息组成,其中包含指导AI模型输出和行为的指令文本。 AI模型主要处理两类消息: …...

初识Linux · 五种IO模型和非阻塞IO

目录 前言&#xff1a; 五种IO模型 什么是IO IO模型 非阻塞IO 前言&#xff1a; 前文我们已经将网络的基本原理介绍完了&#xff0c;都是通过围绕TCP/IP四层协议&#xff0c;将应用层&#xff0c;传输层&#xff0c;网络层&#xff0c;数据链路层全部介绍完毕&#xff0c…...

牛客网NC15869:长方体边长和计算问题解析

牛客网NC15869:长方体边长和计算问题解析 题目描述 问题分析 设长方体的三条边长为 x, y, z根据题意&#xff0c;三个面的面积分别为&#xff1a; 第一个面面积&#xff1a;a x * y第二个面面积&#xff1a;b x * z第三个面面积&#xff1a;c y * z 解题思路 通过三个面…...

Python60日基础学习打卡D32

我们已经掌握了相当多的机器学习和python基础知识&#xff0c;现在面对一个全新的官方库&#xff0c;看看是否可以借助官方文档的写法了解其如何使用。 我们以pdpbox这个机器学习解释性库来介绍如何使用官方文档。 大多数 Python 库都会有官方文档&#xff0c;里面包含了函数…...

Android本地语音识别引擎深度对比与集成指南:Vosk vs SherpaOnnx

技术选型对比矩阵 对比维度VoskSherpaOnnx核心架构基于Kaldi二次开发ONNX Runtime + K2新一代架构模型格式专用格式(需专用工具转换)ONNX标准格式(跨框架通用)中文识别精度89.2% (TDNN模型)92.7% (Zipformer流式模型)内存占用60-150MB30-80MB迟表现320-500ms180-300ms多线程…...

Flink 核心概念解析:流数据、并行处理与状态

一、流数据&#xff08;Stream Data&#xff09; 1. 有界流&#xff08;Bounded Stream&#xff09; 定义&#xff1a;有明确起始和结束时间的数据集合&#xff0c;数据量固定&#xff0c;处理逻辑通常是一次性计算所有数据。 典型场景&#xff1a; 历史交易数据统计&#xf…...

logits是啥、傅里叶变换

什么是logtis&#xff1f; 在深度学习的上下文中&#xff0c;logits 就是一个向量&#xff0c;下一步通常被投给 softmax/sigmoid 的向量。。 softmax的输出是分类任务的概率&#xff0c;其输入是logits层。 logits层通常产生-infinity到 infinity的值&#xff0c;而softmax层…...

【机器学习基础】机器学习与深度学习概述 算法入门指南

机器学习与深度学习概述 算法入门指南 一、引言&#xff1a;机器学习与深度学习&#xff08;一&#xff09;定义与区别&#xff08;二&#xff09;发展历程&#xff08;三&#xff09;应用场景 二、机器学习基础&#xff08;一&#xff09;监督学习&#xff08;二&#xff09;无…...

Ajax研究

简介 AJAX Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;。 AJAX 是一种在无需重新加载整个网页的情况下&#xff0c;能够更新部分网页的技术。 Ajax 不是一种新的编程语言&#xff0c;而是一种用于创建更好更快以及交互性更强的Web应用…...

小数第n位--快速幂+数学

1.快速幂&#xff0c;a*10的n2次方/b可以实现整数位3位是答案&#xff0c;但是数太大会超限&#xff0c;就要想取余 2.要是取前三位的话&#xff0c;那么肯定就是结果取余1000&#xff0c;对于除法来说&#xff0c;就是分母取余b*1000&#xff1b; 蓝桥账户中心 #include<…...

Python包管理工具uv 国内源配置

macOS 下 .config/uv/uv.toml内 pip源 [[index]] url "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/" default true#uv python install 下载源配置无效&#xff0c;需要在项目里配置 # python-install-mirror "https://mirror.nju.edu.cn/githu…...

RK3588 RKNN ResNet50推理测试

RK3588 RKNN ResNet50推理测试 一、背景二、性能数据三、操作步骤3.1 安装依赖3.2 安装rknn-toolkit,更新librknnrt.so3.3 下载推理图片3.4 生成`onnx`模型转换脚本3.5 生成rknn模型3.6 运行rknn模型一、背景 在嵌入式设备上进行AI推理时,我们面临着算力有限、功耗敏感等挑战…...

RUP的9个核心工作流在电商平台项目中的拆解

以下是对RUP的9个核心工作流在电商平台项目中的每个步骤的极度细化拆解,包含具体操作、角色分工、输入输出和案例细节: 1. 业务建模(Business Modeling) 步骤拆解: 识别业务参与者 操作:与市场部、运营部开会,列出所有业务角色(买家、卖家、物流商、支付网关)。 输…...

C++类和对象(2)

类的默认成员函数 类的6个默认成员函数&#xff1a;构造函数、析构函数、拷贝构造函数、赋值运算符重载、取地址& 及 const取地址 操作符重载。 默认成员函数&#xff1a;用户可以实现&#xff0c;但当不显式实现时&#xff0c;编译器会自动生成的成员函数。 构造函数 …...

I.MX6U Mini开发板通过GPIO口测试光敏传感器

原理图 对应的Linux sysfs引脚编号为1&#xff0c;即可导出为gpio1引脚对应规则参考&#xff1a;https://blog.csdn.net/qq_39400113/article/details/127446205 配置引脚参数 #导出编号为1的GPIO引脚&#xff08;对于I.MX6UL来说&#xff0c;也就是GPIO0_IO1/GPIO_1&#xff0…...

AI工程师系列——面向copilot编程

前言 ​ 笔者已经使用copilot协助开发有一段时间了,但一直没有总结一个协助代码开发的案例,特别是怎么问copilot,按照什么顺序问,哪些方面可以高效的生成需要的代码,这一次,笔者以IP解析需求为例,沉淀一个实践案例,供大家参考 当然,其实也不局限于copilot本身,类似…...

左手腾讯CodeBuddy 、华为通义灵码,右手微软Copilot,旁边还有个Cursor,程序员幸福指数越来越高了

当前AI编程助手的繁荣让开发者拥有了前所未有的高效工具选择。从腾讯的CodeBuddy、阿里的通义灵码&#xff0c;到微软的GitHub Copilot和新兴的Cursor&#xff0c;每个工具都有其独特的优势&#xff0c;让程序员可以根据项目需求和个人偏好灵活搭配使用。以下是它们的核心特点及…...

【VLNs篇】02:NavGPT-在视觉与语言导航中使用大型语言模型进行显式推理

方面 (Aspect)内容总结 (Content Summary)论文标题NavGPT: 在视觉与语言导航中使用大型语言模型进行显式推理 (NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models)核心问题探究大型语言模型 (LLM) 在复杂具身场景&#xff08;特别是视…...