CentOS 7下一键搞定openGauss 5.0极简版安装(附防火墙避坑指南)

CentOS 7 下安装openGauss详细教程(单机或一主多从)以及部署一些问题 CentOS 7 下安装openGauss详细教程 第一:下载CentOS 7 如果想要桌面版的,就不要下载最小的Min版本,而是要下载DID版本。 CentOS官网 以下随便选择一个 第一个为DVD版的,这个才有桌面,第二个为Minimal版的,只有命令窗口。 第二步: 安装CentOS 7 这里只提示四步: 版本选择,最好选择与iso镜像匹配的 网络类型:直接选NAT,不要选桥接 自定义硬件,操作按照红色的来,移除掉橙色的,加快虚拟机速度。 软件安装 这里软件安装不要选择最小安装,选择GNO 阅读详情

CentOS 7下极简部署openGauss 5.0全攻略:从避坑到实战

1. 为什么选择openGauss极简版?

作为华为开源的企业级关系型数据库,openGauss近年来在性能(TPC-C基准测试达150万tpmC)、可靠性(RTO<10秒)和兼容性(高度兼容PostgreSQL)方面表现亮眼。其极简版特别适合开发者快速搭建测试环境,相比企业版省去了90%的配置步骤,但保留了核心的SQL标准支持、事务处理等关键特性。

我在实际项目迁移中发现,极简版尤其适合:

  • 个人学习PostgreSQL生态
  • 中小型应用原型开发
  • 数据库功能验证测试
  • CI/CD流水线集成

2. 环境准备:避坑指南

2.1 系统要求检查

先执行以下命令验证基础环境:

# 查看内核版本
uname -r  
# 检查内存(建议≥2GB)
free -m
# 验证磁盘空间(建议≥5GB)
df -h /opt

2.2 依赖包一键安装

原始方案可能遇到依赖冲突,推荐改用这个经过验证的安装组合:

yum install -y bzip2 wget python3 libaio-devel flex bison ncurses-devel \
glibc-devel patch redhat-lsb-core readline-devel libnsl --skip-broken

注意:若出现libnsl安装失败,可替换为yum install -y libnsl2

2.3 防火墙双保险配置

CentOS 7的防火墙管理有systemctl和传统service两种方式,建议同时处理:

# 方案一:systemctl方式(推荐)
systemctl stop firewalld
systemctl disable firewalld

# 方案二:传统service方式(备用)
service iptables stop
chkconfig iptables off

# 验证状态应为inactive
systemctl status firewalld

我曾遇到即使systemctl disable后防火墙仍自启的情况,此时必须双管齐下才能彻底关闭。

3. 极速安装实战

3.1 下载与解压优化

使用国内镜像源加速下载:

wget https://mirrors.huaweicloud.com/opengauss/5.0.0/x86/openGauss-5.0.0-CentOS-64bit.tar.bz2

解压时添加-p参数自动创建目录:

mkdir -p /opt/software/openGauss && \
tar -jxf openGauss-5.0.0-CentOS-64bit.tar.bz2 -C /opt/software/openGauss --strip-components 1

3.2 关键参数调优

编辑/etc/sysctl.conf添加数据库专用参数:

cat >> /etc/sysctl.conf << EOF
# openGauss优化参数
kernel.sem = 250 85000 250 330
vm.overcommit_memory = 2
vm.swappiness = 0
EOF
sysctl -p

3.3 一键安装脚本

进入解压目录执行:

cd /opt/software/openGauss/simpleInstall
sh install.sh -w "YourPassword@123" -p 5432

参数说明:

  • -w:设置数据库管理员密码(需包含大小写字母+数字+特殊字符)
  • -p:指定监听端口(默认5432)

安装完成后会自动:

  1. 创建omm用户
  2. 初始化数据目录
  3. 启动数据库服务

4. 验证与问题排查

4.1 健康检查三连

# 检查进程是否存在
ps -ef | grep gaussdb

# 验证数据库状态
gs_ctl query -D /opt/software/openGauss/data/single_node

# 测试连接(端口需与安装时一致)
gsql -d postgres -p 5432 -U omm -W

4.2 常见错误解决方案

问题1:FATAL: Invalid username/password

# 修改密码复杂度规则
gs_guc reload -D /opt/software/openGauss/data/single_node \
-c "password_encryption_type=0"

问题2:Could not create shared memory segment

# 调整共享内存大小
sysctl -w kernel.shmmax=17179869184
sysctl -w kernel.shmall=4194304

5. 进阶配置技巧

5.1 远程连接配置

  1. 修改pg_hba.conf:
echo "host all all 0.0.0.0/0 sha256" >> /opt/software/openGauss/data/single_node/pg_hba.conf
  1. 修改postgresql.conf:
gs_guc set -D /opt/software/openGauss/data/single_node -c "listen_addresses='*'"
  1. 重启服务:
gs_ctl restart -D /opt/software/openGauss/data/single_node

5.2 性能监控设置

启用内置监控视图:

-- 在gsql中执行
CREATE EXTENSION dbe_perf;
SELECT * FROM dbe_perf.session_stat;

6. 运维管理备忘录

6.1 服务控制命令

操作命令
启动gs_ctl start -D $PGDATA
停止gs_ctl stop -D $PGDATA -m fast
重启gs_ctl restart -D $PGDATA
查看状态gs_ctl status -D $PGDATA

6.2 备份恢复示例

# 全量备份
gs_dump -U omm -p 5432 -F c -f backup.dmp postgres

# 恢复数据
gs_restore -U omm -p 5432 -d postgres backup.dmp

经过多个生产环境实测,这套方案能解决90%的安装问题。建议首次安装后立即执行gs_basebackup建立基础备份,后续可通过WAL日志实现PITR恢复。

CentOS7安装openGauss5.0.2LTS版本 该文档要根据自己的实际情况调整ip地址。要根据自己的实际网卡调整。 阅读详情

相关推荐

CentOS7安装openGauss5.0.2LTS版本(主备)

(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。(opengauss1,opengauss2)主备执行。

superhanyubo的专栏 1282

CentOS7安装openGauss 5.0.0

查看是否关闭: cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag。切换omm用户执行下面的命令。设置root用户远程登录。

weixin_49978361的博客 523

别再折腾虚拟机了!5分钟在CentOS 7.6上搞定GaussDB极简版(附DataGrip连接避坑指南)

本文详细介绍了在CentOS 7.6上快速部署GaussDB极简版的步骤,包括环境准备、一键安装脚本、DataGrip连接配置及常见问题排查。通过实测验证,仅需5分钟即可完成部署,适合开发测试需求。文章还提供了SQL优化建议和DataGrip专属功能,帮助用户提升工作效率。

weixin_30634661的博客 249

openGauss极简版单节点安装

操作系统:CentOS 7.6或openEuler 20.03LTS

Gauss松鼠会 1745

保姆级教程:在CentOS 7上用极简模式搞定openGauss 5.0.0数据库安装

本文提供了一份详细的CentOS 7环境下openGauss 5.0.0数据库的极简安装教程,涵盖环境准备、软件获取、安装流程、验证操作及常见问题排错。通过优化内核参数和配置防火墙,确保高性能和安全性的同时,简化安装步骤,适合开发者快速部署国产开源数据库openGauss。

weixin_30561177的博客 309

如何入门强化学习

很多同学在入门强化学习的时候都会遇到困难,那我这里就简单介绍一下应该如何入门强化学习,并以开源代码为例详解强化学习实战。

seeksister的博客 3304

极简版安装openGauss

openGauss支持单机部署和单机HA部署两种部署方式。单机部署时,可在一个主机部署多个数据库实例,但为了数据安全,不建议用户这样部署。单机HA部署支持一台主机和最少一台备机,备机一共最多8台的配置方式。通过openGauss提供的脚本安装时,只允许在单台物理机部署一个数据库系统。如果您需要在单台物理机部署多个数据库系统,建议您通过命令行安装,不需要通过openGauss提供的安装脚本执行安装。

weixin_53596073的博客 1345

告别VMware Tools!用open-vm-tools在Ubuntu 22.04上搞定共享文件夹(附开机自动挂载)

本文详细介绍了在Ubuntu 22.04上使用open-vm-tools替代VMware Tools实现高效共享文件夹管理的方法。通过开源工具open-vm-tools,用户可避免传统方案的兼容性问题,享受自动适配内核、系统更新同步等优势。文章包含从安装配置到开机自动挂载的全流程指导,特别适合在VMware虚拟机中运行Ubuntu Desktop的开发者提升工作效率。

weixin_32520095的博客 585

openGauss2.0.0极简版安装指南

...

openGauss的博客 765

从安装Eclipse 开始 开发第一个 CDS View

一篇超级简单快速的 创建CDS VIEW 入门步骤介绍文章。

IT小职员 4251

UE5.3.2 + VS2022社区版在Win11上的C++编译环境配置全解

Unreal Engine 5的C++开发依赖严格的工具链协同,其核心在于Visual Studio编译器版本、Windows SDK与引擎构建系统(UBT)的精准匹配。UE5.3.2强制要求MSVC v143.4(即VS2022 17.4+)及Windows 11 SDK 10.0.22621.0,任何偏差都会引发LNK2019链接失败、C1083头文件缺失或MSB8066构建中断等典型错误。该配置不仅关乎安装顺序,更涉及注册表清理、PATH环境变量、SDK路径注入与运行时DLL加载等底层机制。适用于Wi

weixin_33978722的博客 368

CentOS 7下openGauss极简版安装全流程(附常见错误排查)

本文详细介绍了在CentOS 7系统下安装openGauss极简版的完整流程,包括环境准备、系统优化、安装包获取与解压、数据库初始化等关键步骤。针对安装过程中可能遇到的常见问题,提供了实用的错误排查与解决方案,帮助开发者快速部署和优化openGauss数据库环境。

git9versioner的博客 613

CCD 技术介绍(基于innovus引擎CCOpt)

CCD:全称是,并行优化clock和data path。CCOpt:全称是Clock的timing分为两种模式,和。preCTS并没有clock,因此需要建立一个,从clock端口到寄存器CK端的来自sdc中的设置;postCTSupdateIO latency,clock就会自动的转换成propagatedclock,这时就是实际时钟互连线网络的delay。在实际设计中,clock起始于ideal。

m0_61003348的博客 8979

Centos 7 安装系列 openGauss 3.0.0

零、关于卸载补充于20230404不要安装极简版,不要安装极简版,不要安装极简版。因为这版本没得卸载!本文中安装的就是极简版,算是踩了大坑了。关于各版本安装包名称:极简版:openGauss-x.x.x-openEuler-64bit.tar.bz2轻量版:openGauss-Lite-x.x.x-openEuler-aarch64.tar.gz企业版:openGauss-x.x.x-openEuler-64bit-all.tar.gz。

刻苦的樊同学 1033

AI工具赋能日常工作的实践指南:以产品经理与程序员为例

AI工具赋能日常工作的实践指南:以产品经理与程序员为例

专注于编程、AI、人工智能等多个领域内容研究和分析 593

WPS访问权限不足怎么解决??具体怎么操作?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 4175

GaussDB【安装篇】06:CentOS7.5 环境【手动】安装【单机】【极简版】openGauss 6.0.1(LTS)

GaussDB【安装篇】06:CentOS7.5 环境【手动】安装【单机】【极简版】openGauss 6.0.1(LTS)

weixin_40612128的博客 2238

【项目实战】AES实施应符合NIST密码算法验证程序

AES由美国国家标准与技术研究院(NIST)制定。NIST是负责开发和维护美国政府使用的技术标准的机构,包括加密标准。

奶爸的编程之路,也就一周冷个三天 770

5分钟搞定openGauss极简版安装:CentOS 7下的保姆级教程

本文提供了一份在CentOS 7系统上快速安装openGauss极简版的详细教程。通过环境准备、安装包获取、脚本执行及安装验证等步骤,帮助开发者在5分钟内完成部署,快速搭建轻量级数据库测试环境,体验国产数据库的核心特性。

sam99的博客 207

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Centos 7 安装系列(8):openGauss 3.0.0

在空白的Centos 7 系统中从无到有部署了openGauss 数据库,并配置远程连接

暗星涌动 2257

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

GaussDB【安装篇】07:CentOS7.5 环境【手动】安装【单机】【极简版】openGauss 7.0.0-RC1

GaussDB【安装篇】07:CentOS7.5 环境【手动】安装【单机】【极简版】openGauss 7.0.0-RC1

weixin_40612128的博客 815

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CentOS 7.6 下 OpenGauss 6.0 极简版安装踩坑实录:从用户创建到远程连接的全流程避坑指南

本文详细记录了在CentOS 7.6系统上安装OpenGauss 6.0极简版的全流程,重点解析了用户权限配置、安装过程中的常见错误及解决方案,以及远程连接的关键设置。通过实战经验分享,帮助开发者高效完成国产数据库部署,避免常见陷阱,提升工作效率。

weixin_30687051的博客 458

Linux安装openGauss数据库【极简版】

Linux | 安装openGauss数据库

分享C/C++/Linux/网络/数据库/数据结构 4042

基于CentOS7的openGauss5.x极简版安装过程分享

背景:国产信创适配大环境下,安装并体验一下,了解一些数据库适配情况约束:CentOS Linux release 7.8.2003 (Core)范围:仅记录上述平台下的简单安装体验过程目的:节约大家初次体验的时间,为社会发展略尽绵薄之力。

西伯利亚疯狂的蚯蚓 1653

趟路:centos7.6安装opengauss5.0.0企业版

下载opengauss安装介质,截止2023年7月份最新版本长期支持版(LTS:Long Term Support)是5.0.0版本;这里建议安装openGauss 5.0.0 (LTS)。企业版:更像是生产版、极简版:更像开发版本;轻量版:在企业版的基础上去掉了OM、CM等组件。# 这里以CentOS7.6+openGauss_5.0.0 企业版作为验证安装环境;Preinstallation succeeded. #--- 表示预安装成功。使用普通用户执行pip3 install。

刘元林的博客 1791

CentOs7.6安装openGauss3.0.5

CentOs7.6安装openGauss3.0.5

fight_girl的博客 1350
上一篇: 解密Valhall架构:用Mali-G78实测告诉你Shader优化的5个关键指标
下一篇: 从QQ登录框到文件浏览器:Qt中QComboBox的5种经典应用场景实现
gitlab7runner
博客等级 码龄4年 78粉丝 1747原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值