Me pregunto por qué el WinAPI es muy diferente de la programación "normal" de C?¿Por qué WinAPI es tan diferente de la C "normal"?
Quiero decir, en la escuela aprendí que cada programa C tiene una función main() (WinAPI usa WinMain con algunos parámetros especiales), algunos tipos de variables como int, long, char, etc. (WinAPI usa cosas como LPCSTR, BOOL , etc.) entonces, ¿por qué Microsoft decidió ir de otra manera con su API de sistema operativo?
cuando vi mi primer programa de API de Windows que se parece más a un lenguaje nuevo para mí ...;)
Inno - No estoy seguro de por qué MS usa #defines para muchos de sus tipos de variables. Si quieres saber por qué decidieron hacer eso, enviaría un correo electrónico a Charles Petzold. Si alguien lo supiera, lo haría. –
@ J.Polfer: el uso de alias para los tipos de parámetros es muy común para el código de la biblioteca. Permite al autor cambiar el tipo específico en la interfaz mientras se mantiene la compatibilidad de la fuente. Todavía puede compilar código válido de Windows de 16 bits para apuntar a una versión de Windows de 64 bits, aunque los tipos subyacentes de, p. 'WPARAM' o' LPARAM' han cambiado varias veces. 'BOOL' tiene una historia diferente: cuando comenzó a trabajar en Windows, no había ningún tipo booleano en el lenguaje C. Fue introducido tan tarde como C99. – IInspectable