首页 > 其他分享 >(待完善)Same data type with different length

(待完善)Same data type with different length

时间:2023-10-14 20:45:08浏览次数:38  
标签:different 4B 数据类型 long 编译器 Same 类型 data

首先,问题的前提是:不同数据类型的实际大小是依赖于编译器的具体实现的,那么假设在一个long为8B的平台,使用long作为例如memcpy的参数进行数据移动,并且指定的要移动的字节数超过了4B所能表示的最大值,那么如果将此代码移动到一个long为4B的平台,代码就会出现问题,因为此时的long已无法再存储之前的数据了。(这里涉及到data model的问题,long确实在windows下是4B,而在Linux或macOS下是8B(理论来源实践来源-可测试多平台下的输出结果))

这一问题的产生是由于具体类型的大小控制权并没有掌握在编程语言一方,而是由编译器所决定的(这是一个疑点,为什么最开始没有从语言层面就对不同类型的具体大小做出约束,反而是让编译器去负责,难道是在最开始的时候为了增强具体的实现灵活性吗?)

关于明确指明了数据长度的类型,例如int8_t来说。如果它的出现是为了从编程语言层面直接对数据类型大小做出限制,那么它是类型别名又该如何解释。
就是说既然是类型别名,又是如何做到的对编译器的具体实现做出约束的。

此问题同时还和 size_t提高代码可移植性和可靠性的数据类型头文件 (Fixed width integer types)、C++11以前如何规定不同平台中数据类型的长度 相关,进行总结

标签:different,4B,数据类型,long,编译器,Same,类型,data
From: https://www.cnblogs.com/hongyugao/p/17764688.html

相关文章

  • ArcMap将0作为遥感影像的NoData无效值
      本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。  在处理栅格图像时,有时会发现如下图所示的情况——我们对某一个区域的栅格数据进行分类着色后,其周边区域(即下图中浅蓝色的区域)原本应该不被着色;但由于这一区域的像元数值不是NoData值,而是0值,导......
  • LINUX:sqoop连接:ERROR manager.CatalogQueryManager: Failed to list databases com.my
    可见是连接的jar包出现了错误  通过命令发现我的是5.7版本,将驱动jar包替换为5.几的  之后通过命令成功解决......
  • Flink测试利器之DataGen初探
    什么是FlinksqlFlinkSQL是基于ApacheCalcite的SQL解析器和优化器构建的,支持ANSISQL标准,允许使用标准的SQL语句来处理流式和批处理数据。通过FlinkSQL,可以以声明式的方式描述数据处理逻辑,而无需编写显式的代码。使用FlinkSQL,可以执行各种数据操作,如过滤、聚合、连......
  • C# 使用SqlDataAdapter和DataSet来访问数据库
    使用SqlDataAdapter和DataSet来访问数据库报:已有打开的与此Command相关联的DataReader,必须首先将它关闭解决方法,使用using包住connectionusingSystem;usingSystem.Data;usingSystem.Data.SqlClient;classProgram{staticvoidMain(){......
  • Patch 12419353 - 11.2.0.2.3 GI Patch Set Update (Includes Database PSU 11.2.0.2.
    Released:July19,2011,LastUpdated:August9,2011Thisdocumentisaccurateatthetimeofrelease.ForanychangesandadditionalinformationregardingGIPSU11.2.0.2.3,seetheserelateddocumentsthatareavailableatMyOracleSupport(http://supp......
  • 免费使用Salesforce Data Cloud!详细操作步骤来啦
    DataCloud是Salesforce向市场推出的增长最快的产品,这对Salesforce来说是一个重要竞争优势。近期,Salesforce宣布客户可以免费使用DataCloud。这就是所谓的零美元SKU,换句话说,这是一条不会产生任何成本的Salesforce产品线。启用DataCloudStep1:签署订单合同单击齿轮图标时,可......
  • Backtrader - AttributeError: 'OptReturn' object has no attribute 'datas'
    1.0ErrorTraceback(mostrecentcalllast):File"D:/PycharmProjects/dbpower.backtrader.001/app/main_machine_learning.py",line191,in<module>img=cerebro.plot(style='line',plotdist=0.1,grid=True)File"D:\P......
  • The database cluster initialisation failed but was not the same version as ini
    问题:不论装哪个版本的postgresql,都报Theprogram"postgres"wasfoundby".../initdb.exe"butwasnotthesameversionasinitdb.和Thedatabaseclusterinitialisationfailed的错误。过程:1设置目录权限无效2更后版本无效3更改目录的路径无效最后解决:根据网......
  • 讲述vue中data值都有哪些,如何调用
    讲述vue中data值都有哪些,如何调用1,字符串2,对象3,函数4,数字<html>  <head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,initial-scale=1.0">  <title>vue.js</title> ......
  • JavaScript Library – YouTube Embedded、YouTube Player API、YouTube Data API
    YouTube EmbedVideo参考: Embedvideos&playlists它和 GoogleMapsEmbed 类似,是通过iframe完成的。<iframewidth="800"style="aspect-ratio:16/9"src="https://www.youtube.com/embed/vEZCoe9GJFk"title="粉色海洋"......