【发布时间】:2011-01-24 13:42:34
【问题描述】:
我正在关注有关引导加载程序的文章,
(http://www.codeproject.com/KB/tips/boot-loader.aspx?msg=3745692#xx3745692xx)
我找到了这部分:
"const char far* inStrSource"
整件事:
typedef unsigned char byte;
typedef unsigned short word;
typedef unsigned long dword;
typedef char bool;
byte CString::Strlen( const char far* inStrSource )
{
byte lenghtOfString = 0;
while(*inStrSource++ != '\0')
{
++lenghtOfString;
}
return lenghtOfString;
}
谁能解释一下,他为什么将char类型定义为bool,这个指针是怎么回事?
MVC++ 10 将这些识别为错误(typedef char bool 和 char far* intSource),但使用 16 位 VC 1.52 编译毫无疑问。
【问题讨论】:
-
作者将 char 定义为 bool,因为他(或她)是个傻瓜。
-
@DwB:代码来自20世纪下半叶,在
bool存在之前。
标签: c++ operating-system