Il existe some new integer types dans l'API Windows pour prendre en charge Win64. Ils n'ont pas toujours été soutenus; par exemple. they aren't present in MSVC6. Comment puis-je écrire une condition #if
pour détecter si ces types sont pris en charge par <windows.h>
?Comment détecter si le type Windows DWORD_PTR est supporté, en utilisant un ifdef?
(Mon code doit compiler sous de nombreuses versions différentes de Microsoft Visual C++, y compris MSVC6. Je dois fournir mes propres définitions de ces types, avec un #if
pour les désactiver dans les compilateurs les plus récents).
(Pour les chercheurs, la liste complète des types est: DWORD_PTR, INT_PTR, LONG_PTR, UINT_PTR, ULONG_PTR)
Juste parce que le compilateur VC6 ne veut pas dire que ces types ne sont pas définis, habituellement vous utiliserez VC6 avec une plate-forme quelque peu à jour sdk – Anders
Le commentaire d'Anders devrait être la réponse acceptée, mettre à jour votre plate-forme sdk, don ' Essayez de coder autour de versions obsolètes. – Blindy
"#ifdef MAXULONG_PTR" est parfait, merci! – user9876