为什么要用大写的那些类型修饰符?如INT与int、BOOL与bool

转载 2018年04月16日 20:20:36
本文转载自:https://blog.csdn.net/yjn001/article/details/3761709


一般的任何一个正规的项目开发第一件事情要做的就是在开发环境上架一层自己的环境,主要包括类型定义、内存管理和文件管理。主要的目的是为了代码的可移植性和可维护性。  
   
  例如在标准C的环境下,16位处理器的int是16位,32位处理器的int却是32位。如果我想用一个int值来做标记,定义其倒数第2位的意义,在处理bit的时候的代码就没法写,因为不知道到底应该把标记右移几位才能到倒数第二位。这时候一个长度固定的变量是很重要的,例如我想要16位的值。这时就可以写  
  //在32位平台  
  #ifdef   __WIN32__  
  #define   INT   short   int  
  #else  
  //在16位平台  
  #define   INT   int  
  #endif  
   
  以后就用INT好了,不用再担心int到底是几位。  
   
  另外一点就是语言本身的标准和编译器厂商对标准的支持。以C++为例,直到98年才出台第一个标准,在那之前不同编译器的C++有细节上的不同。其中之一就是bool值。其实在标准出现之后,编译器厂商也不一定就支持全部标准。(一个最明显的例子就是VC6)。这样对于bool值,如果你用的是支持bool的C++编译器,就可以  
  #define   BOOL   bool  
  对于不支持bool关键字的,就可以  
  #define   BOOL   unsinged   long  
  其他类似的还有一些C++模板的关键字。  
   
  对于内存管理,也可以这样设定,例如MFC中很明显就有  
  #ifdef   DEBUG  
  #define   new   DEBUG_NEW  
  #endif  
   
  总之,最终的目的就是使代码尽量不受编译平台、编译器的限制。如果非得要限制的话,也要把在更新平台和编译器后所需要的改动量降到最小。楼主只看到MFC这样,是因为没有看过其他公司的东西,如果有机会到一个大的软件企业工作就全明白了。

为什么要用大写的那些类型修饰符?如INT与int、BOOL与bool、UINT等...

一般的任何一个正规的项目开发第一件事情要做的就是在开发环境上架一层自己的环境,主要包括类型定义、内存管理和文件管理。主要的目的是为了代码的可移植性和可维护性。         例如在标准C的环境下,1...
  • yjn001
  • yjn001
  • 2009-01-12 17:51:00
  • 1273

为什么要用大写的那些类型修饰符?如INT与int

一般的任何一个正规的项目开发第一件事情要做的就是在开发环境上架一层自己的环境,主要包括类型定义、内存管理和文件管理。主要的目的是为了代码的可移植性和可维护性。         例如在标准C的环境下,1...
  • Laiger001
  • Laiger001
  • 2010-04-16 17:28:00
  • 1966

关于C++多线程程序中简单类型(int/bool)的安全性

关于这个问题,很少有听到权威的解答。偶这里也只是收集各处资料,以尝试对今后写出高质量的代码做一定的保证。 通常会联想到这个问题应该跟CPU架构相关。CSDN上也有人做了实验。根据其结论,在x86上,对...
  • superarhow
  • superarhow
  • 2014-01-08 20:34:50
  • 3557

error C2664: “BOOL CDC::TextOutW(int,int,const CString &)”: 不能将参数 3 从“const char [18]”转换为“const CString &”

这是在Visual studio2005或者更高版中使用TextOut()函数或者SetWindowText()等函数时出现的问题。 解决方法:----------------------------...
  • lh3325251325
  • lh3325251325
  • 2009-12-23 22:55:00
  • 5348

分别给出 BOOL,int,float,指针变量 与“零值”比较的 if 语句

试题 :分别给出 BOOL,int,float,指针变量 与“零值” 比较的 if 语句(假设变量名为 var)   解答:    BOOL 型变量:if(!var)    int 型变量: ...
  • u010193457
  • u010193457
  • 2015-11-04 15:51:12
  • 1906

分别写出BOOL,int,float,指针类型的变量a与“零”的比较语句

BOOL :  if ( !a ) or if(a) int :   if ( a == 0) float : const EXPRESSION EXP = 0.000001    if ( a -E...
  • Denkensk
  • Denkensk
  • 2015-02-28 10:23:18
  • 4256

clock_ctrl_src,clock_src

  • 2010年10月16日 15:17
  • 3.17MB
  • 下载

Swift学习之五:Bool类型

Swift中的基本类型Bool,Bool值是逻辑值,因为Bool会上
  • woaifen3344
  • woaifen3344
  • 2014-06-08 11:29:16
  • 8484

BOOL和bool的效率问题

在网上看到有人说用BOOL比用bool有效率。不明白所以上网查了一下,现在总结一下。不知道说的是否正确。 -----------------------------------------------...
  • qinmi
  • qinmi
  • 2008-04-13 15:09:00
  • 1789

封装的串口类(写串口,读串,设置超时,C++)

  • 2009年07月07日 09:58
  • 2KB
  • 下载
收藏助手
不良信息举报
您举报文章:为什么要用大写的那些类型修饰符?如INT与int、BOOL与bool
举报原因:
原因补充:

(最多只允许输入30个字)