手持两把锟斤拷,口中直呼烫烫烫;

脚踩万钧屯屯屯,笑看万物锘锘锘。

是不是一脸懵逼????

哈哈哈哈

别急,作为一名程序员,且听本妹纸慢慢道来:

这里所谓的“烫烫烫烫烫烫”并不是程序对滚烫的CPU所发出的控诉,而是——乱码

但为什么乱码偏偏是这串有点好笑的“烫烫烫烫烫烫”呢?

那就要从这段程序到底经历了什么开始讲起了。

Visual Studio的编译器分配完空间后,会顺手往里面装进去一点内容。默认装进去的东西也有几种差别:

①未分配或静态分配但未赋初值的内存空间,初值用0xCCCC填充;

②动态分配但未赋初值的内存空间,初值用0xCDCD填充;

③动态分配后又被回收了的内存空间,用0xDDDD填充;

正常情况下,这些内容是不会被访问到的。当然,这是正常情况。

当发生一些bug,如非常常见的数组越界的时候,事情就发生了。

因为bug,刚好以字符输出了情况①的填充内容,我们就会看到华丽而壮观的……

我们知道,在中国,VS输出汉字用的是GBK编码。

是的,0xCCCC就是“烫”的GBK编码!

顺带一提,0xCDCD对应的是汉字“屯”,而0xDDDD对应的是汉字“葺”。

这个bug实在是太常见了,“烫烫烫烫烫烫”也就顺势走红,甚至被当成了黑话。

不过,这个bug不是每次都会以这个滑稽又有点可爱的形式出现。

只有在按字符输出的情况下才能看到这些。

按int输出的话,看到的,只有索然无味的

-858993460(0xCCCCCCCC)

-842150451(0xCDCDCDCD)

-572662307(0xDDDDDDDD)

GBK编码确实为中国程序员带来了很多意想不到的麻烦。但也为大家带来了很多莫名其妙的欢乐。

比如名声更大的神秘东方武器“锟斤拷”,感兴趣的小伙伴们可以自己查一查哦~

Tips:还有程序员小哥哥表示,cc 是int 3的机器码的单字节形式,以前用作缓冲区溢出跳到debug版程序分配的内存的时候触发调试中断用的,根本不是乱码。

不知大家的意见如何呢?欢迎下方评论互动,表达你的观点哟~~~

我是汇智妹,一枚程序员萌妹纸,每天除分享IT技术干货之外,也会聊聊IT圈热议的那些事儿;

公号【汇智动力学院】——职场技能提升、就业加薪升职、以及有对转行IT感兴趣的小伙伴,记得关注一波哟~比心❤

程序员叫啥名字_程序员有什么梗啊?相关推荐

  1. 程序员叫啥名字_他们的名字叫程序员

    每天电脑前铺满了各种代码,每天后台系统都在拼命刷屏测试. 每天都键盘哗啦啦响个不停,每天纠结于各种bug.rule.test.code.review等之间. 每天都会为了遇到的问题争论不休,问一个是与 ...

  2. 程序员初试和复试_程序员因肌肉发达面试被质疑能力,网友:这做程序员有啥关系呢?...

    如今的程序员,是互联网界的重要职业,不仅各种项目和系统需要程序员维护,还有很多前沿技术的进步也需要程序员来开发,因此程序员往往比较忙,而因此程序员被套上了各种职业病的标签.可是近日,有一位HR在招聘程 ...

  3. 程序员初试和复试_程序员的软微mem经验贴

    一背景 程序员一枚,在刷朋友圈时候看到有朋友发招生简章,突然来了兴致,决定试一把. 本科16年毕业刚刚符合报名资格,对现在状态比较满意,不愿意摆脱社会人身份,所以报名了非全日制.的人工智能方向(毕竟是 ...

  4. 小程序背景图满屏_程序员的PPT写作方式果然别具一格啊

    | 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...

  5. 程序员离职代码交接_程序员离职大半个月,被老板命令回单位讲代码,员工:一次1万...

    正常情况下,如果我们已经被辞退大半个月了,那么与上一家公司也就没了任何关系,而根据<劳动合同法>的规定,离职人员应该按照双方的约定,办理工作交接,公司也应当依照法律的规定,在我们办理完工作 ...

  6. python程序员自我介绍范文_程序员的自我介绍|史上最有趣的版本

    原标题:程序员的自我介绍|史上最有趣的版本 这篇文章的原文来自:A Little Printf Story,作者仿照<小王子>中的情节,通过小printf遇见的不同类型的程序员,最后悟出什 ...

  7. 英文 程序员编程技能描述_程序员最重要的非编程技能

    英文 程序员编程技能描述 by Ali Spittel 通过Ali Spittel 程序员最重要的非编程技能 (The most important non-programming skills fo ...

  8. python程序员加班多吗_程序员加班严重,如何才能不加班

    毕竟加班不是生活的常态,新人程序员们也不必太过担心,一般的大型IT公司都有严格的工作休息制度,大部分情况是不加班的.只有项目很赶的时候会加班,而且加班也只是开发加班.加班几个小时是常态,通宵加班几年说 ...

  9. java 程序员英语自我介绍_程序员英语面试自我介绍范文

    程序员是一种典型的知识工作者,他们的工作包括在不同的应用之间生产.转移和消费大量的不同种类的信息,以下是小编为你整理的,希望大家喜欢. 篇1 Good morning, my name is jack ...

最新文章

  1. E - Right-Left Cipher CodeForces - 1087A (模拟)
  2. 豆瓣评分9.7,Github 9.9K Star的中文版《神经网络与深度学习》分享(附PDFPPT下载)...
  3. Win2K下关联进程/端口之代码初步分析
  4. go使用SQLite数据库
  5. 跨链(6)波卡Polkadot “系统框架”
  6. crt mysql中文乱码_CRT 和mysql 中文乱码解决方式
  7. Mysql 主从复制常用管理任务介绍
  8. 二进制数据结构:JavaScript中的树和堆简介
  9. UML学习笔记(一):UML简介
  10. adb下载安装及使用
  11. 2019互联网行业程序员工资大数据报告
  12. iradon函数和radon函数
  13. Nginx从入门到精通(笔记)
  14. 大数据存储引擎-bigstore
  15. flutter取消动态字体大小
  16. ros2 foxy 报错缺少“diagnostic_updater“,By not providing “Finddiagnostic_updater.cmake“ in CMAKE_MODULE_P
  17. 转载:微信Windows版-无效的wechatwin.dll文件errcode:126,点击“确定”下载最新版本
  18. 使用vue/cli出现defineConfig is not function 错误
  19. P1345 [USACO5.4]奶牛的电信Telecowmunication
  20. RK3588平台开发系列讲解(DP篇)DP的相关调试手段

热门文章

  1. 学期内表情的变化--兔斯基版
  2. 直流电动机在matlab,基于MATLAB直流电动机控制系统的建模与仿真
  3. 10-26 查询成绩最高的前三名同学(MSSQL)
  4. Win10下安装 Redis
  5. Android 关于RoomDataBase的使用
  6. 我该选择留下,还是离开?
  7. 浪潮联手宽邦科技助推金融行业智慧化转型,践行“T计划”共建AI服务生态丨Xtecher 观察
  8. knockout.js实例二~购物车
  9. JavaScript中的Array下篇
  10. 分享个人建站的一点经验