C++系统相关操作6 - 获取二进制程序的位数(32位或64位)

  • 1. 关键词
  • 2. sysutil.h
  • 3. sysutil.cpp
  • 4. 测试代码
  • 5. 运行结果
  • 6. 源码地址

1. 关键词

关键词:

C++ 程序 32位 64位 跨平台

实现原理:

根据指针地址的位数来判断程序是32位还是64位。

2. sysutil.h

#pragma once#include <cstdint>
#include <string>namespace cutl
{/*** @brief Get the program bit.** @return uint16_t the program bit.*/uint16_t program_bit();
} // namespace cutl

3. sysutil.cpp


#include <map>
#include <iostream>
#include <strutil.h>
#include <cstdlib>
#include "sysutil.h"
#include "inner/logger.h"
#include "inner/system_util.h"
#include "inner/filesystem.h"namespace cutl
{uint16_t program_bit(){int a = 0;auto byte = sizeof(&a);return byte * 8;}
} // namespace cutl

4. 测试代码

#include "common.hpp"
#include "sysutil.h"void TestProgramBit()
{PrintSubTitle("TestProgramBit");std::cout << "program bit: x" << cutl::program_bit() << std::endl;
}

5. 运行结果

-------------------------------------------TestProgramBit-------------------------------------------
program bit: x64

6. 源码地址

更多详细代码,请查看本人写的C++ 通用工具库: common_util, 本项目已开源,代码简洁,且有详细的文档和Demo。

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

在容器中共享本地文件

在容器中共享本地文件 目录 卷与绑定挂载的对比在主机和容器之间共享文件Docker 访问主机文件的文件权限试一试 运行一个容器使用绑定挂载在 Docker Dashboard 中访问文件停止容器 额外资源下一步 每个容器都有一切需要运行的资源&#xff0c;而不依赖于主机机器上预先安装的…

怎么样才能踏入机器视觉这个行业?

机器视觉从业的定位层次&#xff1a; 00001. 底层算法开发 00002. 应用软件开发 00003. 视觉系统集成 00004. 视觉系统使用刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「机器视觉的资料从专业入门到高级教程」&#xff0c; 00005. 点个关注在评论区回…

[FreeRTOS 功能应用] 信号量 功能应用

文章目录 一、基础知识点二、代码讲解三、结果演示四、代码下载 一、基础知识点 [FreeRTOS 基础知识] 信号量 概念 [FreeRTOS 内部实现] 信号量 [FreeRTOS 内部实现] 创建任务 xTaskCreate函数解析 本实验是基于STM32F103开发移植FreeRTOS实时操作系统&#xff0c;信号量实战…

python-pytorc+bert句子分类0.1.000

这里写目录标题 引入包加载预训练模型加载数据文件定义数据实例化数据集使用loader加载数据设定最大句子长度定义加padding的函数定义加collate_fn函数使用DataLoader加载数据 定义模型测试预训练模型输出测试预训练模型输出定义自己的模型 参考 引入包 import torch from tor…

this.$prompt 提示框增加文本域并修改文本域高度

2024.06.24今天我学习了如何对提示框增加文本域的方法&#xff0c;效果如下&#xff1a; 代码如下&#xff1a; <script>methods:{reject_event(){this.$prompt(驳回内容, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,inputType: textarea,inputPlaceholder…

计算机网络(数据链路层)

数据链路层概述 数据链路层位于计算机网络的低层&#xff0c;且在物理层之上&#xff0c;数据链路层使用的信道主要有以下两种类型。 &#xff08;1&#xff09;点对点通信。在信道上使用一对一的点对点通信。 &#xff08;2&#xff09;广播信道。这种信道使用一对多的广播通…

【linux】详解——库

目录 概述 库 库函数 静态库 动态库 制作动静态库 使用动静态库 如何让系统默认找到第三方库 lib和lib64的区别 /和/usr/和/usr/local下lib和lib64的区别 环境变量 配置相关文件 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 简介&#xff1a;C站最萌博主 相关…

DDK电通拧紧MFC-S060控制器过流维修

一、DDK伺服拧紧轴控制器过流故障的成因 1. 电源电压过低&#xff1a;当电源电压过低时&#xff0c;控制器可能会出现过流现象。 2. 负载过大&#xff1a;当负载过大时&#xff0c;DDK电通拧紧机控制器MFC-S060的电流也会随之增大&#xff0c;可能导致过流故障。 3. 控制器内部…

自动调整QTableView列宽以适应窗口大小

问题描述 十年前&#xff0c;有人提出了一个问题&#xff1a;当我使用自定义模型来展示 QTableView&#xff0c;并固定了三列时&#xff0c;初始窗口显示正常&#xff0c;但当我调整窗口大小时&#xff0c;QTableView 会随之调整大小&#xff0c;而列宽却保持不变。我想让列宽…

远程连接mysql数据库的详细配置

1. 确认 MySQL 服务器配置 首先&#xff0c;确认 MySQL 服务器的配置允许远程连接。您需要编辑 MySQL 的配置文件&#xff0c;并确保以下设置正确&#xff1a; bind-address&#xff1a;这个参数控制 MySQL 监听的 IP 地址。如果要允许任何 IP 地址连接&#xff0c;请将其设置…

手写 Promise 的实现

手写 Promise 的实现 从实现原理的角度分析 Promise 是什么 从语法上说&#xff0c;Promise 是一个对象&#xff0c;从它可以获取异步操作的消息。ES6 原生提供了Promise对象。 Promise内部有三种状态&#xff1a;pending&#xff08;进行中&#xff09;、fulfilled&#xf…

开箱即用:一个易用的开源表单工具!【送源码】

随着互联网的普及&#xff0c;表单应用场景越来越广泛&#xff0c;从网站注册、调查问卷到考试测评&#xff0c;无处不在。传统的表单制作方式需要一定的代码基础&#xff0c;对于不懂编程的小伙伴来说&#xff0c;无疑是一道门槛。 今天&#xff0c;给大家分享一款开源的表单…

如何理解redis是单线程的

写在文章开头 在面试时我们经常会问到这样一道题 你刚刚说redis是单线程的&#xff0c;那你能不能告诉我它是如何基于单个线程完成指令接收与连接接入的&#xff1f;这时候我们经常会得到沉默&#xff0c;所以对于这道题&#xff0c;笔者会直接通过3.0.0源码分析的角度来剖析…

[数据集][目标检测]花生米计数霉变检测数据集VOC+YOLO格式387张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;387 标注数量(xml文件个数)&#xff1a;387 标注数量(txt文件个数)&#xff1a;387 标注类别…

使用Leaflet和瓦片地图实现离线地图的技术指南

引言 在现代的Web应用中&#xff0c;地图服务扮演着越来越重要的角色。然而&#xff0c;在一些特殊环境下&#xff0c;如偏远地区或网络环境不稳定的情况下&#xff0c;依赖在线地图服务可能会受到限制。因此&#xff0c;实现离线地图功能成为了一个重要的需求。本文将介绍如何…

【数据库】Oracle 分区表与 TRUNC 函数的优化应用

在 Oracle 数据库中&#xff0c;分区表是一种强大的数据管理工具&#xff0c;它允许将大型表分割成更小、更易于管理的部分&#xff0c;称为分区。每个分区可以独立地进行管理&#xff0c;包括备份、恢复和优化。分区表特别适用于处理大量数据&#xff0c;可以显著提高查询性能…

Redis入门与应用(1)

Redis的技术全景 Redis是一个开源的基于键值对&#xff08;Key-Value&#xff09;的NoSQL数据库&#xff0c;使用ANSI C语言编写&#xff0c;支持网络&#xff0c;基于内存但支持持久化。它性能优越&#xff0c;并提供多种语言的API。我们可以将Redis视为一个巨大的Map&#x…

《Java面试题集中营》- Java并发

《Java并发编程的艺术》、《Java并发编程之美》 运行中的线程能否强制杀死 Jdk提供了stop()方法用于强制停止线程&#xff0c;但官方并不建议使用&#xff0c;因为强制停止线程会导致线程使用的资源&#xff0c;比如文件描述符、网络连接处于不正常的状态。建议使用标志位的方…

秋招突击——第九弹——Redis缓存

文章目录 引言正文缓存基础旁路缓存模式&#xff08;重点&#xff09;读穿透&#xff08;了解&#xff09;写穿透&#xff08;了解&#xff09;异步缓存写入模式面试重点 缓存异常场景缓存穿透缓存击穿缓存雪崩面试重点 缓存一致性怎么保证&#xff1f;缓存一致性问题是什么方案…

[职场] 策略运营求职简历范文精选 #知识分享#微信#微信

策略运营求职简历范文精选 策略运营是用户运营的一种模式&#xff0c;主要针对于用户量级在千人到百万人规模的运营。下面是策略运营求职简历范文精选&#xff0c;供大家参考。 个人信息 姓名&#xff1a;蓝山 年龄&#xff1a;33岁 地址&#xff1a;北京 工作经验&#x…