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

protobuf使用

我下载的是

protobuf-27.4

以下使用vs2022

根据readme,执行如下命令

"C:\Program Files\CMake\bin\cmake.exe" -G "Visual Studio 17 2022"  -DCMAKE_INSTALL_PREFIX=C:\Users\x\Downloads\install  C:\Users\x\Downloads\protobuf-27.4  -Dprotobuf_BUILD_TESTS=OFF

他会报错说absl找不到,需要从网上下载一下absl的源码
abseil-cpp-20240722.0.zip

下载完之后,把压缩包里面的东西全部拖进C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp目录里面

然后重新执行上面那个命令

生成一个sln文件,打开之后,生成libprotobufd.lib文件

这里注意调整生成选项,要和你使用protobuf的项目的选项保持一致

在这里插入图片描述

同时需要把下图中划线的项目生成一下,生成选项也要保持一致
在这里插入图片描述

下面需要对测试项目进行配置

首先就是include目录,如下:

C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp
C:\Users\x\Downloads\protobuf-27.4\src

然后是linkrt选项的input

C:\Users\x\Downloads\protobuf-27.4\Debug\libprotobufd.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\types\Debug\absl_bad_any_cast_impl.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\types\Debug\absl_bad_optional_access.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\types\Debug\absl_bad_variant_access.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_base.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\hash\Debug\absl_city.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\time\Debug\absl_civil_time.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_cord.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_cord_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_functions.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_handle.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_info.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_cordz_sample_token.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\crc\Debug\absl_crc32c.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\crc\Debug\absl_crc_cord_state.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\crc\Debug\absl_crc_cpu_detect.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\crc\Debug\absl_crc_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_debugging_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_decode_rust_punycode.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_demangle_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_demangle_rust.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_die_if_null.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_examine_stack.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\profiling\Debug\absl_exponential_biased.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_failure_signal_handler.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_commandlineflag.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_commandlineflag_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_config.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_marshalling.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_parse.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_private_handle_accessor.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_program_name.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_reflection.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_usage.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\flags\Debug\absl_flags_usage_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\synchronization\Debug\absl_graphcycles_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\hash\Debug\absl_hash.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\container\Debug\absl_hashtablez_sampler.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\numeric\Debug\absl_int128.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\synchronization\Debug\absl_kernel_timeout_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_leak_check.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_entry.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_flags.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_globals.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_initialize.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_check_op.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_conditions.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_fnmatch.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_format.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_globals.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_log_sink_set.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_message.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_nullguard.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_internal_proto.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_log_severity.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_log_sink.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\hash\Debug\absl_low_level_hash.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_malloc_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\profiling\Debug\absl_periodic_sampler.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_poison.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_distributions.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_distribution_test_util.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_platform.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_pool_urbg.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen_hwaes.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen_hwaes_impl.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_randen_slow.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_internal_seed_material.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_seed_gen_exception.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\random\Debug\absl_random_seed_sequences.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\container\Debug\absl_raw_hash_set.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_raw_logging_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_scoped_set_env.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_spinlock_wait.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_stacktrace.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\status\Debug\absl_status.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\status\Debug\absl_statusor.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_str_format_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_strerror.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_string_view.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_strings.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\strings\Debug\absl_strings_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_symbolize.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\synchronization\Debug\absl_synchronization.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\base\Debug\absl_throw_delegate.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\time\Debug\absl_time.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\time\Debug\absl_time_zone.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\debugging\Debug\absl_utf8_for_code_point.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\abseil-cpp\absl\log\Debug\absl_vlog_config_internal.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\utf8_range\Debug\utf8_range.lib
C:\Users\x\Downloads\protobuf-27.4\third_party\utf8_range\Debug\utf8_validity.lib

这样就可以了

相关文章:

protobuf使用

我下载的是 protobuf-27.4 以下使用vs2022 根据readme,执行如下命令 "C:\Program Files\CMake\bin\cmake.exe" -G "Visual Studio 17 2022" -DCMAKE_INSTALL_PREFIXC:\Users\x\Downloads\install C:\Users\x\Downloads\protobuf-27.4 -D…...

【微处理器系统原理与应用设计第十二讲】通用定时器设计二之PWM波实现呼吸灯的功能

一、基础知识 1、寄存器的配置 (1)GPIOX_AFRL:GPIO复用功能低位寄存器 GPIOX_AFRH:GPIO复用功能高位寄存器 (2)配置PA5 GPIOA->MODER(端口模式寄存器),10为复用功…...

2025秋招NLP算法面试真题(十九)-大模型分布式训练题目

目录: 理论篇 1.1 训练大语言模型存在问题? 1.2 什么是点对点通信? 1.3 什么是集体通信? 1.4 什么是数据并行? 1.5 数据并行如何提升效率? 1.6 什么是流水线并行? 1.7 什么是张量并行 (intra-layer)? 1.8 数据并行 vs 张量并行 vs 流水线并行? 1.9 什么是3D并行? 1.1…...

线程池的应用

1.线程的执行机制 线程分为用户线程 和 内核线程 内核线程就是系统级别的线程,与cpu逻辑处理器数量对应的 用户线程就是使用java代码创建的Thread对象 用户线程必须与内核线程关联(映射),才能执行任务 当用户线程多于内核线程时…...

OPenCV结构分析与形状描述符(5)查找图像中的连通组件的函数connectedComponents()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 connectedComponents 函数计算布尔图像的连通组件标签图像。 该函数接受一个具有4或8连通性的二值图像,并返回 N,即标签…...

HCIA--实验十三:VLAN间通信子接口实验/双单臂路由实验

一、实验内容 1.需求/要求: 将两个单臂路由通过两台交换机连接起来,成为双臂路由,并探讨这么做的原因。实现全网通,让任何一台主机之间都可以通信。 二、实验过程 1.拓扑图: 2.步骤: 1.给PC配置ip地址…...

AIStarter市场指南:项目分享与框架优化【AI绘画、写作、对话、办公、设计】

随着人工智能技术的飞速发展,越来越多的开发者和爱好者希望能够将自己的创意和项目分享给更多人。AIStarter作为一个专注于AI领域的平台,正致力于打造一个开放的应用市场,让创作者能够轻松分享他们的项目,同时也方便其他用户下载和…...

机器学习第8章 集成学习

目录 个体与集成BoostingBagging与随机森林Bagging随机森林 结合策略平均法投票法学习法 个体与集成 定义:集成学习,也叫多分类器系统、基于委员会的学习等,它是一种通过结合多个学习器来构建一个更强大的学习器的技术。如下图所示 在这里&a…...

京东鸿蒙上线前瞻——使用 Taro 打造高性能原生应用

背景 2024 年 1 月,京东正式启动鸿蒙原生应用开发,基于 HarmonyOS NEXT 的全场景、原生智能、原生安全等优势特性,为消费者打造更流畅、更智能、更安全的购物体验。同年 6 月,京东鸿蒙原生应用尝鲜版上架华为应用市场&#xff0c…...

day2 QT

作业 2> 在登录界面的登录取消按钮进行以下设置: 使用手动连接,将登录框中的取消按钮使用第2种方式的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断…...

JS_函数声明

JS中的方法,多称为函数,函数的声明语法和JAVA中有较大区别 函数说明 函数没有权限控制符不用声明函数的返回值类型,需要返回在函数体中直接return即可,也无需void关键字参数列表中,无需数据类型调用函数时,实参和形参的个数可以不一致声明函数时需要用function关键字函数没有…...

快速排序+归并排序代码回顾

快速排序与归并排序简介: quick_sort为快速排序,merge_sort为归并排序,两者基于分治的思想; 快速排序,简称快排,它以原来数组中的一个值(我们记为x)作为界限,将比它小…...

DBC中一种特殊的特殊的Signal—多路复用Signal

前言: DBC设计中一般设计Signal时其实存在三种类型,如下图所示: **1)步骤1,鼠标单击展开Message,选中底下的Signal **2)步骤2,弹出dialog中选择 map signal **3)得到…...

前端基础面试题·第三篇——JavaScript(其三)

1.字符串 (1) 常用方法 1.charAt(index) 返回指定位置的字符,若没找到,则返回空2.charCodeAt(index) 返回指定位置的unicode字符编码,若没找到,则返回空 3.String.concat(str1,str2) 连接多个字符串,并返回新字符串4.String.fromCharCode(co…...

MacBook真的不能打游戏吗?Mac打游戏会损坏电脑吗?苹果电脑怎么玩游戏

MacBook从来都是高端的代名词,超强的性能搭配顶尖的系统,不光处理大型文件时举重若轻,长期使用也不会有明显卡顿。但很多人在需要MacBook一流的生产力同时,也希望能在空闲时体验游戏的乐趣。在大多人的印象里,Mac电脑对…...

安卓逆向(之)真机root(红米手机)

概览: 1, 手机解锁 2, 下载官方系统包,推荐线刷包,取出镜像文件 3, magisk工具修补 官方系统包 4, adb:命令对手机刷 root 5, 完成 6, 小米手机解锁 点击 小米手机解锁OEM官方教程 记得数据线连接手机电脑 工具下载 点击 下载adb(电脑操作…...

关于转行网络安全的一些建议

在当前就业形势下,不少朋友面临转行的困境。网络安全作为一个热门领域,自然也吸引了许多人的目光。本文将就转行网络安全这一话题,提供一些切实可行的建议。 网络安全行业概况 网络安全涵盖了从基础的脚本编写到高级的漏洞研究等多个层面。该…...

(六十五)第 10 章 内部排序(希尔排序)

示例代码 shellSort.h // // 希尔排序实现头文件#ifndef SHELL_SORT_H #define SHELL_SORT_H#include "errorRecord.h"#define NUM 10 #define MAX_SIZE 20#define EQUAL(a, b) ((a) == (b)) #define LESS_THAN(a, b) ((a) < (b)) #define LESS_OR_EQUAL(a, b) ((…...

802.11 中 scrambler的matlab仿真

802.11a和802.11n中的scrambler仿真不可以直接用matlab中的comm.Scrambler函数。因为这个函数实现的是multiplicative scrambling&#xff0c;而802.11a和802.11n中的scrambler使用的是additive scrambling。additive scrambling使用异或操作进行扰码&#xff0c;multiplicativ…...

centos 服务器 多网卡 ip 地址 设置

centos 服务器 多网卡 ip 地址 设置 https://blog.csdn.net/xh_w20/article/details/141574357 cd /etc/sysconfig/network-scripts/ sudo systemctl status network ● network.service - LSB: Bring up/down networkingLoaded: loaded (/etc/rc.d/init.d/network; bad; v…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

高防服务器价格高原因分析

高防服务器的价格较高&#xff0c;主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因&#xff1a; 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器&#xff0c;因此…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系&#xff0c;可直观判断线性相关、非线性相关或无相关关系&#xff0c;点的分布密…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性&#xff08;Basic Attributes&#xff09; 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...