Commutateur /env
Le commutateur /env sélectionne l’environnement dans lequel l’application s’exécute.
midl /env { win32 | ia64 | amd64 | win64 }
-
win32
-
Indique au compilateur MIDL de générer des fichiers stub, ou un fichier de bibliothèque de types, pour un environnement 32 bits.
-
ia64
-
Indique au compilateur MIDL de générer des fichiers stub, ou un fichier de bibliothèque de types, pour un environnement Intel Architecture 64 bits (IA64).
-
amd64
-
Indique au compilateur MIDL de générer des fichiers stub, ou un fichier de bibliothèque de types, pour un environnement AMD64 (Advanced Micro Devices 64 bits).
-
win64
-
Même comportement que ia64.
Le commutateur /env affecte principalement le niveau d’emballage utilisé pour les structures de cet environnement. Veillez à spécifier le même paramètre de niveau d’empaquetage pour le compilateur MIDL et le compilateur C.
Le commutateur /env détermine le niveau d’empaquetage et d’autres paramètres comme suit :
- Lorsque vous spécifiez win32, les stubs générés utilisent le niveau d’empaquetage 8 du compilateur C pour tous les types impliqués dans les opérations à distance. Les types de données int sont de 32 bits. Les pointeurs sont de 32 bits.
- Lorsque vous spécifiez ia64 ou amd64, le compilateur MIDL s’exécute en mode inter-compilateur pour la plateforme 64 bits indiquée (Intel ou AMD). Les stubs générés utilisent le niveau d’empaquetage 8 du compilateur C pour tous les types impliqués dans les opérations à distance. Les types de données long et int sont de 32 bits. Les pointeurs sont de 64 bits.
Les commutateurs /align, /pack et /Zp sont prioritaires sur les paramètres /env .
Pour plus d’informations sur la prise en charge 64 bits pour MIDL et RPC, consultez Conception d’interfaces compatibles 64 bits.
midl /env win32 filename.idl
midl /env ia64 filename.idl
midl /env amd64 filename.idl
midl /env win64 filename.idl