当前位置: 首页 > news >正文

64位和32位对C++ 对long类型的使用造成程序崩溃、内存泄漏问题。

系列文章目录

1、理解32位和64位下long类型和int类型不同
2、理解release和debug版本编译的可执行程序的区别
3、谨慎在64位下对long类型与int类型去赋值和相互转换


文章目录

  • 系列文章目录
  • 前言
  • 一、int、long类型
  • 二、使用步骤
    • 1.示例代码


前言

编译环境:qt -c++、linux系统


一、int、long类型

在这里插入图片描述
在这里插入图片描述

二、使用步骤

在64操作系统和64位编译器下
如果用整型int去接收long,可能会造成数据溢出但是在32位编译器下不会出现此问题,因为long和int的字节数都是4。

1.示例代码

代码如下(示例):

        char buf[128] = "1111111111111 8.98767";int tmp1 = 0;double tmp2 = 0;sscanf(buf, "%ld %lf", &tmp1, &tmp2);cout << "tmp1 = " << tmp1 << endl;cout << "tmp2 = " << tmp2 << endl;

分析代码:
代码第四行,我们使用了整型int去接受字符串buf里面的长整型long,
如果在32位下 可能不会出现任何问题,因为long和int的字节数和范围是一样的
如果在64位下如果要接受的长整型范围比较大,我们用整型去接受可能就会造成内存泄漏,软件崩溃崩溃问题,因为long是8字节而int是4字节。


相关文章:

  • 鸿蒙ArkTS声明式开发:跨平台支持列表【显隐控制】 通用属性
  • 【Python爬虫--scrapy+selenium框架】超详细的Python爬虫scrapy+selenium框架学习笔记(保姆级别的,非常详细)
  • HTTPS 原理技术
  • 专科生听劝 这种情况你就不要专转本了
  • 【QT】qcombox的信号使用小细节,activated(int)和currentIndexChanged(int)
  • 数据分析案例-在线食品订单数据可视化分析与建模分类
  • 【YashanDB知识库】自动选举配置错误引发的一系列问题
  • java实现地形dem产汇流流场数据提取解析
  • 《少年小鱼的魔法之旅——神奇的Python》,在悬疑和冒险中学会Python编程,Python启蒙入门的推荐书籍
  • 组合数计算方法(递推公式、乘法逆元)
  • MFC工控项目实例之二添加iPlotx控件
  • MySQL基础索引知识【索引创建删除 | MyISAM InnoDB引擎原理认识】
  • 【爱空间_登录安全分析报告】
  • ChatGPT AI专题资料合集【65GB】
  • 记 Codes 开源免费研发管理平台 —— 日报与工时融合集中式填报的创新实现
  • [译] 怎样写一个基础的编译器
  • Docker入门(二) - Dockerfile
  • Elasticsearch 参考指南(升级前重新索引)
  • es6要点
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vue 动态创建 component
  • Vue2 SSR 的优化之旅
  • vue数据传递--我有特殊的实现技巧
  • 工作中总结前端开发流程--vue项目
  • 关于使用markdown的方法(引自CSDN教程)
  • 将回调地狱按在地上摩擦的Promise
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 扑朔迷离的属性和特性【彻底弄清】
  • 使用API自动生成工具优化前端工作流
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #162 (Div. 2)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #数学建模# 线性规划问题的Matlab求解
  • $refs 、$nextTic、动态组件、name的使用
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (39)STM32——FLASH闪存
  • (55)MOS管专题--->(10)MOS管的封装
  • (C)一些题4
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (八)Spring源码解析:Spring MVC
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (十二)Flink Table API
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)VC++中ondraw在什么时候调用的
  • (转)大道至简,职场上做人做事做管理
  • (转)负载均衡,回话保持,cookie
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例