Re[7]: тип BOOL
От: skyline Россия  
Дата: 02.08.03 05:15
Оценка:
Здравствуйте, SWW

Но это не булевский тип данных. Булевский тип данных — "это лампочка, которая либо горит, либо не горит"
If the milk turns out to be sour,
I ain't the kind of pussy to drink it
Re[2]: тип BOOL
От: Аноним  
Дата: 02.08.03 09:55
Оценка: +1
На самом деле нужно взглянуть на это дело более широко.

Windows API — интерфейс, посредством которого приложения получают доступ к системным функциям среды. Интерфейс этот "бинарный", то есть, он определяется на уровне таких "низменных" материй, как порядок передачи параметров через стек, размер этих параметров, используемый способ выравнивания структур и т. п.

Язык Си, который "от рождения" являлся довольно низкоуровневым, хорошо справляется с определением таких интерфейсов. Для этого достаточно определить ряд соглашений, связанных с платформой (ну, например, наличие поддержки способа вызова __pascal или наличие двухбайтного целочисленного типа).

Однако он является не единственным потенциальным языком написания приложений.

Например, мы могли бы писать прикладное ПО на Паскале, Модуле, Бейсике, Аде или Фортране. Могли бы изобрести собственный язык программирования.

У разных языков программирования — разные системы типов, поэтому основываться на системе типов языка Си было бы неверно. С другой стороны, нужна определенная минимальная унификация типов данных, иначе не от чего оттолкнуться в построении низкоуровневого интерфейса.

Естественно определить некий набор примитивных типов, соответствующих нуждам, основываясь на специфике платформы. Например, для Win16 мы имели INT, UINT, LONG, ULONG, WORD, DWORD, BYTE и т. п. Типы языка Си (int, long и т. п.) изначально в программном интерфейсе Windows не использовались вовсе.

Для описания специального предназначения определенных данных нужен тип BOOL. Он также должен быть примитивным типом. То есть невозможно определить его как-то более подробно, чем некий аппаратный тип; на роль такого аппаратного типа лучше всех подходит INT по причинам, которые здесь уже приводились.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.