Qt问题:不同文件中相同命名空间的多个 Q_NAMESPACE

news2024/11/17 11:19:19

我在同一namespace中定义了2个enum,定义如下:

a.h

//
// Created by qiaowei on 2024/11/15.
//

#ifndef ELECTRICITY_MONTHS_ENUM_H
#define ELECTRICITY_MONTHS_ENUM_H


#include <QMetaObject>


namespace data {
	
	Q_NAMESPACE
	
	enum class Months_enum {
		
		january,
		
		february,
		
		march,
		
		april,
		
		may,
		
		june,
		
		july,
		
		august,
		
		september,
		
		october,
		
		november,
		
		december
	};
	
	Q_ENUM_NS(Months_enum)
	
} // data

#endif //ELECTRICITY_MONTHS_ENUM_H

b.h

//
// Created by qiaowei on 2024/11/8.
//

#ifndef ELECTRICITY_EXPENSE_ENUM_H
#define ELECTRICITY_EXPENSE_ENUM_H


#include <QMetaObject>


namespace data {
	
    Q_NAMESPACE

    enum class Expense_enum {

        electricity_bill,

        oil_bill,

        water_bill,

        gas_bill,

        internet_bill,

        other_bill
    };

    Q_ENUM_NS(Expense_enum)
	
} // data

#endif //ELECTRICITY_EXPENSE_ENUM_H

编译时报“ error C2011: “qt_meta_stringdata_data_t”:“struct”类型重定义”类似错误:

====================[ Build | Electricity | Debug ]=============================
C:\ProgramFiles\cmake-3.30.2-windows-x86_64\bin\cmake.exe --build D:\programming\source-code\cpp\Electricity\cmake-build-debug --target Electricity -j 14
[1/4] Automatic MOC and UIC for target Electricity
[2/4] Building CXX object CMakeFiles\Electricity.dir\data\enum\months_enum.cpp.obj
[3/4] Building CXX object CMakeFiles\Electricity.dir\Electricity_autogen\mocs_compilation.cpp.obj
FAILED: CMakeFiles/Electricity.dir/Electricity_autogen/mocs_compilation.cpp.obj 
C:\PROGRA~4\MICROS~1\2022\BUILDT~1\VC\Tools\MSVC\1437~1.328\bin\Hostx64\x64\cl.exe  /nologo /TP -DQT_CORE_LIB -DQT_GUI_LIB -DQT_UITOOLS_LIB -DQT_WIDGETS_LIB -ID:\programming\source-code\cpp\Electricity\.\include\qxlsx -ID:\programming\source-code\cpp\Electricity\.\include\test -external:ID:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\include -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\include -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\include\QtCore -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\.\mkspecs\win32-msvc -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\include\QtGui -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\include\QtANGLE -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\include\QtWidgets -external:IC:\ProgramFiles\Qt\5.15.2\msvc2019_64\include\QtUiTools -external:W0 /DWIN32 /D_WINDOWS /EHsc /Ob0 /Od /RTC1 -std:c++17 -MDd -Zi /utf-8 /showIncludes /FoCMakeFiles\Electricity.dir\Electricity_autogen\mocs_compilation.cpp.obj /FdCMakeFiles\Electricity.dir\ /FS -c D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\mocs_compilation.cpp
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(24): error C2011: “qt_meta_stringdata_data_t”:“struct”类型重定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(33): error C2374: “qt_meta_stringdata_data”: 重定义;多次初始化
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(33): note: 参见“qt_meta_stringdata_data”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(35): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(35): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(35): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(36): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(36): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(36): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(37): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(37): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(37): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(38): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(38): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(38): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(39): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(39): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(39): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(40): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(40): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(40): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(41): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(41): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(41): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(42): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(42): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(42): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(43): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(43): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(43): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(44): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(44): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(44): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(45): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(45): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(45): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(46): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(46): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(46): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(47): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(47): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(47): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(48): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(48): error C2618: offsetof 中的非法成员指示符
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(48): note: offsetof 具有内在含义;使用 /Zc:offsetof- 还原到旧的非符合定义
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(33): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(57): error C2374: “qt_meta_data_data”: 重定义;多次初始化
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(51): note: 参见“qt_meta_data_data”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(90): error C2370: “data::staticMetaObject”: 重定义;不同的存储类
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4\../../../data/enum/months_enum.h(14): note: 参见“data::staticMetaObject”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(92): error C2027: 使用了未定义类型“qt_meta_stringdata_data_t”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_expense_enum.cpp(24): note: 参见“qt_meta_stringdata_data_t”的声明
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(93): error C2440: “初始化”: 无法从“const uint [32]”转换为“const QByteArrayData *”
D:\programming\source-code\cpp\Electricity\cmake-build-debug\Electricity_autogen\PM3IPG3PG4/moc_months_enum.cpp(93): note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制转换
ninja: build stopped: subcommand failed.

高赞回答这是Qt的moc机制原因,目前无法解决:

官方 Qt 问题跟踪器中存在相应的问题:

QTBUG-68611。然而,该问题因超出范围而被关闭,因为由于 Qt 元对象编译器 (moc) 的设计,对此无能为力。

简而言之,Qt 不支持多个头文件,每个头文件都有

Q_NAMESPACE

 宏。这是不可能的。

或者,您可以

(尽管我不建议)有一个中间文件结构,如下所示:

// internal/C1.h #include <QObject> enum class Enum1 {A, B}; Q_ENUM_NS(Enum1)
 
 //internal/C2.h #include <QObject> enum class Enum2 {A, B}; Q_ENUM_NS(Enum1) 
 
 
 

// C.h #include <QObject> namespace SW { Q_NAMESPACE #include internal/C1.h #include internal/C2.h }

 参考:https://www.soinside.com/question/Rk6AQ7khQe7AmtjRNdpnJF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2242126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【链路层】空口数据包详解(4):数据物理通道协议数据单元(PDU)

目录 一、概述 1.1. 头部&#xff08;Header&#xff09;结构 1.2. MIC字段的情况说明 1.3. 有效载荷&#xff08;Payload&#xff09;格式与LLID字段的关联 二、LL Data PDU 2.1. 定义与用途 2.2. 头部字段设置 2.3. 空PDU&#xff08;Empty PDU &#xff09; 2.4. 数…

动态规划子数组系列(二) 环形子数组的最大和

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; public int maxSubarraySumCircular(int[] nums) {int sum 0;int n nums.length;int[] f new int[n1];int[] g new int[n1];int ret 0, fmax -0x3f3f3f3f, gmin Integer.MAX_VALUE;for(int i 1; i < n; i)…

网络工程师教程第6版(2024年最新版)

网络工程师教程(第6版)由清华大学出版社出版,由工业和信息化部教育与考试中心组编,张永刚、王涛、高振江任主编,具体介绍如下。 相关信息: 出版社: 清华大学出版社 ISBN:9787302669197 内容简介: 本书是工业和信息化部教育与考试中心组织编写的考试用书。本书 根据…

数据结构C语言描述3(图文结合)--双链表、循环链表、约瑟夫环问题

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…

7.高可用集群架构Keepalived双主热备原理

一. 高可用集群架构Keepalived双主热备原理 (1)主机+备机keepalived配置(192.168.1.171) ! Configuration File for keepalivedglobal_defs {# 路由id:当前安装keepalived节点主机的标识符,全局唯一router_id keep_101 } #计算机节点(主机配置) vrrp_instance VI_1 {</

深入理解接口测试:实用指南与最佳实践5.0(二)

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

TypeScript简介:TypeScript是JavaScript的一个超集

官方描述&#xff1a;TypeScript 是 JavaScript 的一个超集 GitHub官网&#xff1a;https://github.com/Microsoft/TypeScript TypeScript is a superset of JavaScript that compiles to clean JavaScript output. TypeScript 是 JavaScript 的一个超集&#xff0c;支持 EC…

【计算机网络】UDP网络程序

一、服务端 1.udpServer.hpp 此文件负责实现一个udp服务器 #pragma once#include <iostream> #include <string> #include <cstdlib> #include <cstring> #include <functional> #include <strings.h> #include <unistd.h> #incl…

【启明智显分享】5G CPE与5G路由器到底有什么区别?

5G路由器和5G CPE在功能和应用场景上存在很明显的差异&#xff0c;小编做了详细比较&#xff0c;希望能帮助到你进一步了解他们的区别及应用。 一、定义与功能 5G路由器 5G路由器是一个将5G网络连接转换为Wi-Fi信号的设备&#xff0c;使多个Wi-Fi设备可以通过5G网络进行连接…

对称加密与非对称加密:密码学的基石及 RSA 算法详解

对称加密与非对称加密&#xff1a;密码学的基石及 RSA 算法详解 在当今数字化的时代&#xff0c;信息安全至关重要。对称加密和非对称加密作为密码学中的两种基本加密技术&#xff0c;为我们的数据安全提供了强大的保障。本文将深入探讨对称加密和非对称加密的特点、应用场景&…

爬虫——数据解析与提取

第二节&#xff1a;数据解析与提取 在网络爬虫开发中&#xff0c;获取网页内容&#xff08;HTML&#xff09;是第一步&#xff0c;但从这些内容中提取有用的数据&#xff0c;才是爬虫的核心部分。HTML文档通常结构复杂且充满冗余信息&#xff0c;因此我们需要使用高效的解析工…

我们是如何实现 TiDB Cloud Serverless 的 - 成本篇

作者&#xff1a; shiyuhang0 原文来源&#xff1a; https://tidb.net/blog/fbedeea4 背景 Serverless 数据库是云原生时代的产物&#xff0c;它提供全托管&#xff0c;按需付费&#xff0c;自动弹性的云数据库服务&#xff0c;让客户免于繁重的数据库运维工作。关于 Serve…

Linux——环境基础开发工具使用2(正在更新中...)

1.自动化构建-make/Makefile 1.1 认识make和Makefile make是一个命令&#xff1b; Makefile是一个文件。 1.2 理解 其中在第一个图片中&#xff0c;第一行的 mytest:test.c 叫做依赖关系&#xff1b;第二行的 gcc test.c -o mytest 叫做依赖方法。 依赖关系和依赖方法共同…

微服务链路追踪skywalking安装

‌SkyWalking是一个开源的分布式追踪系统&#xff0c;主要用于监控和分析微服务架构下的应用性能。‌ 它提供了分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案&#xff0c;特别适用于微服务、云原生架构和基于容器的环境&#xff08;如Docker、K8s、Mesos&…

品牌如何利用大数据工具,进行消费者洞察分析?

存量竞争的时代&#xff0c; 消费者聆听是品牌持续增长的关键&#xff0c;借助大数据的消费者数据洞察&#xff0c;可以帮助品牌分析消费者的所思所想及行为特征&#xff0c;获取消费者对产品的需求痛点、使用感受&#xff0c;对品牌的评价口碑等&#xff0c;从而帮助品牌更好地…

模拟实现优先级队列

目录 定义 特点 构造函数 常用方法 关于扩容的问题 关于建堆的问题 向上调整和向下调整的比较 &#xff08;向上调整&#xff09;代码 &#xff08;向下调整&#xff09;代码 关于入队列和出队列问题 模拟实现优先级队列代码 关于堆排序的问题 堆排序代码 关于对…

【4】GD32H7xx ADC采样

目录 1. GD32H7xx ADC1.1 ADC外设资源1.2 采样时间1.3 片上硬件过采样 2. ADC DMA规则多通道采样程序3. 程序测试 1. GD32H7xx ADC 1.1 ADC外设资源 GD32H7xx 有3个ADC外设&#xff1a; ADC0 20个外部通道&#xff0c;1个内部通道&#xff08;DAC0_OUT0通道&#xff09;32位…

GitLab 如何跨版本升级?

本分分享 GitLab 跨版本升级的一些注意事项。 众所周知&#xff0c;GitLab 的升级必须要严格遵循升级路径&#xff0c;否则就会出现问题&#xff0c;导致升级失败。因此&#xff0c;在 GitLab 升级之前需要做好两件事情&#xff1a; 当前版本的确认升级路径的确认 极狐GitLa…

【咕泡P5人工智能CV 技术NLP项目实战】

人工智能核心代码&#xff1a; 一、什么是人工智能技术&#xff1a; 人工智能&#xff08;Aritificial Intelligence&#xff09;&#xff0c;英文缩写AI&#xff0c;人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智…

R门 - rust第一课陈天 -内存知识学习笔记

内存 #mermaid-svg-1NFTUW33mcI2cBGB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1NFTUW33mcI2cBGB .error-icon{fill:#552222;}#mermaid-svg-1NFTUW33mcI2cBGB .error-text{fill:#552222;stroke:#552222;}#merm…