long数据类型跨平台问题
源代码
#include <iostream>
int main()
{
std::cout << "size of long : " << sizeof(long) << std::endl;
return 0;
}
Windows
long -> 32位
Linux
long -> 64位
建议
跨平台程序尽量采用跨平台库,如Boost
namespace boost
{
using ::int8_t;
using ::int_least8_t;
using ::int_fast8_t;
using ::uint8_t;
using ::uint_least8_t;
using ::uint_fast8_t;
using ::int16_t;
using ::int_least16_t;
using ::int_fast16_t;
using ::uint16_t;
using ::uint_least16_t;
using ::uint_fast16_t;
using ::int32_t;
using ::int_least32_t;
using ::int_fast32_t;
using ::uint32_t;
using ::uint_least32_t;
using ::uint_fast32_t;
# ifndef BOOST_NO_INT64_T
using ::int64_t;
using ::int_least64_t;
using ::int_fast64_t;
using ::uint64_t;
using ::uint_least64_t;
using ::uint_fast64_t;
# endif
using ::intmax_t;
using ::uintmax_t;
}
或者stdint.h
typedef signed char int8_t;
typedef short int16_t;
typedef int int32_t;
typedef long long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;
typedef signed char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
typedef long long int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long long uint_least64_t;
typedef signed char int_fast8_t;
typedef int int_fast16_t;
typedef int int_fast32_t;
typedef long long int_fast64_t;
typedef unsigned char uint_fast8_t;
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
typedef unsigned long long uint_fast64_t;
typedef long long intmax_t;
typedef unsigned long long uintmax_t;
long数据类型跨平台问题的更多相关文章
- JS/JavaScript简介及基本常识
JavaScript (JS)以客户端事件为驱动的弱类型脚本语言 JS脚本一般写在<head>内部 流:文本流.html流 回避关键字的基本策略:单词合并(v_function) null ...
- java 跨平台 数据类型 修饰符 程序结构
java跨平台的实现: .java文件 ——编译(javac)——> 二进制字节码的.class文件 ——不同平台的虚拟机(JVM)——>对应硬件平台可执行的代码 java数据类型的划分: ...
- ACE服务端编程2:ACE跨平台之数据类型和宽字符
ACE网络库的主要优势之一就是跨平台,ACE提供了操作系统API和编译器级别的跨平台解决方法,使开发人员不用再去关心操作系统和编译器的差异,但因此也带来了ACE的复杂性. ACE网络库的组织结构主要分 ...
- Linux内核--内核数据类型
转自:http://www.linuxidc.com/Linux/2013-12/93637.htm 将Linux 移植到新的体系结构时,开发者遇到的若干问题都与不正确的数据类型有关.坚持使用严格的数 ...
- java基础1_标识符,数据类型
JDK的卸载与安装 : 1 卸载 a 从程序中卸载 控制面板 - 程序和功能 - 卸载JDK; b 删除 C:\Windows\System32 下面的 java javac java ...
- Microsoft开源跨平台的序列化库——Bond
上个月Microsoft开源了Bond,一个跨平台的模式化数据处理框架.Bond支持跨语言的序列化/反序列化,支持强大的泛型机制能够对数据进行有效地处理.该框架在Microsoft公司内部的高扩展服务 ...
- java基础知识(一)数据类型(上)
java的数据类型 由上图,java的数据类型分为基本数据类型.引用数据类型两大类. 1.基本数据类型 与c不同,java的各种数据类型占有固定长度的内存,与具体的软硬件平台无关:另外,每种数据类型都 ...
- [java基础]java跨平台的基础知识
1.Javac编译器 Javac编译器读取Java源代码,并将其编译成字节代码(.class格式),调用Javac的命令行示例如下: C:>javac options filename.java ...
- lua使用io.open跨平台文件夹遍历匹配查找
-- Desc :实现在LUA_PATH中的lua文件中遍历寻找没用到PNG_PATH路径下的png图片,并将其打印出来. -- Date :12:49:28 2014-09-04 1 print(& ...
- uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
转自:http://blog.csdn.net/kiddy19850221/article/details/6655066 uint8_t / uint16_t / uint32_t /uint64_ ...
随机推荐
- k8s 深入篇———— k8s 的pod[五]
前言 简单整理一下pod的相关知识. 正文 为什么我们需要pod. 前面我们知道了k8s一个最重要的作用是解决容器的编排功能,那么为什么有一个pod的东西. 这就是实际中遇到的问题. 那就是容器和容器 ...
- python读取文件时,删除重复行并计数
from collections import Counterwith open('a.txt', 'r+') as f: a = f.readlines() for i in range(len(a ...
- Docker 内安装 SSH 服务
有时候我们想把 Docker 环境提供给别人,但是又不想提供宿主机,那么可以在 Docker 容器内运行 SSH 服务,使容器保持运行并提供给对方使用即可,下面我们以 CentOS 7.6 的 Doc ...
- 推荐一波微软家的浏览器:EDGE
前段时间英雄联盟(LOL)队伍 EDG 夺冠成为热门事件,上了各大热搜,即使大家不玩英雄联盟,相信也多多少少有听说相关信息吧! 今天我们的主角并不是 EDG,而是微软的新版浏览器 EDGE !!! 微 ...
- 还原数据库从远端环境到本地开发环境,数据SINGLE_USER问题
要还原到本地开发环境,首先要detach本地数据库或者是删除本地数据库,不然提示在使用中还原不了,但是搞过几次去做detach和drop数据库时,总是不成功,最后还出现个单用户模式,莫名奇妙 为此网上 ...
- 【笔记】go语言--接口
[笔记]go语言--接口 接口的概念 强类型语言:熟悉接口的概念 弱类型语言:没(少)有接口的概念 接口的详解︰使用Google Guice实现依赖注入 curl 是获取http请求的命令工具 cur ...
- CF1857G Counting Graphs 题解
题目描述 给定一棵最小生成树,求有多少张图的最小生成树是给定的树,并且这张图的所有边边权不超过 \(S\). 思路 考虑在最小生成树中加边. 我们回顾一下 Kruskal 的过程: 找到没被用过的,最 ...
- EventBridge 特性介绍|以 IaC 的方式使用 EventBridge
简介:本文将重点介绍 EventBridge 和 IaC 的重点概念和特性,然后演示如何应用 IaC 理念自动化部署 EventBridge 来使用这些概念和特性. 作者:王川(弗丁) 引言 Eve ...
- 3月2日,阿里云开源 PolarDB 企业级架构将迎来重磅发布
简介:2022年3月2日,开源 PolarDB 企业级架构将迎来重磅发布!本次发布会将首次公开开源 PolarDB 的总体结构设计和企业级特性,对 PolarDB for PostgreSQL 的存储 ...
- [FAQ] ErrorException of l5-swagger:generate, Required @OA\Info() not found
l5-swagger 除了要添加 @OA\Get() 针对方法的注释之外,每个 Controller 还需要一个概述信息,如下: /** * @OA\Info( * title="Auth ...