1、VS_debug和release区别
原文链接:https://www.cnblogs.com/xuzhen1993/p/7566846.html
vs中的程序有debug和release两个版本:
- Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。
- Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试,所以不保存调试信 息。同时,它往往进行了各种优化,以期达到代码最小和速度最优,为用户的使用提供便利。
debug程序通常比release程序要慢,尤其在 处理视频方面release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况,原因大致如下:
debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致;用作数组下标将会使程序崩溃;更加可能是造成其他变量的不准确而引起其他的错误。所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。
只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。
2、ASCII和binary文件区别
计算机文件基本上分为二种:binary(二进制文件)和 ASCII(也称纯文本文件)
二进制文件:图形文件及文字处理程序等计算机程序,含有特殊的格式及计算机代码
ASCII文件:可以用任何文字处理程序阅读的简单文本文件
简单区别:用记事本打开,正常的就是ASCII文件,是乱码的就是二进制文件
为什么要转换格式?计算机可以直接识别二进制文件,而读取文本文件还需要“翻译”成自己能识别的。传大量文件时,二进制文件形式传输速率自然快上不少
参考:https://www.cnblogs.com/zhuwenlubin/p/5147572.html