Typage fort

C est un langage faiblement typé, c’est-à-dire que le compilateur autorise des opérations telles que l’affectation et la comparaison entre des variables de différents types. Par exemple, C autorise la conversion de la valeur d’une variable dans un autre type. La possibilité d’utiliser des variables de différents types dans la même expression favorise la flexibilité et l’efficacité.

Un langage fortement typé impose des restrictions sur les opérations entre des variables de types différents. Dans ce cas, le compilateur émet une erreur empêchant l’opération. Ces directives strictes concernant les types de données sont conçues pour éviter les erreurs potentielles.

La difficulté avec l’utilisation d’un langage faiblement typé comme C pour les appels de procédure distante est que les applications distribuées peuvent s’exécuter sur plusieurs ordinateurs différents avec différents compilateurs C et différentes architectures. Lorsqu’une application s’exécute sur un seul ordinateur, vous n’avez pas à vous soucier du format de données interne, car les données sont gérées de manière cohérente. Toutefois, dans un environnement d’informatique distribuée, différents ordinateurs peuvent utiliser différentes définitions pour leurs types de données de base. Par exemple, certains ordinateurs définissent le type int , de sorte que sa représentation interne est de 16 bits, tandis que d’autres ordinateurs utilisent 32 bits. Une architecture d’ordinateur, appelée « petit endian », affecte l’octet le moins significatif de données à l’adresse mémoire la plus basse et l’octet le plus significatif à l’adresse la plus élevée. Une autre architecture, appelée « big endian », affecte l’octet le moins significatif à l’adresse mémoire la plus élevée associée à ces données.

Les appels de procédure distante nécessitent un contrôle strict sur les types de paramètres. Pour gérer la transmission et la conversion des données sur le réseau, MIDL applique strictement les restrictions de type pour les données transférées sur le réseau. Pour cette raison, MIDL inclut un ensemble de types de base bien définis. MIDL applique un typage fort en obligeant l’utilisation de mots clés qui définissent sans ambiguïté la taille et le type de données. L’effet le plus visible du typage fort est que MIDL n’autorise pas les variables du type void *.

Dans les rubriques suivantes, cette section décrit les fonctionnalités de langage MIDL qui appliquent un typage de données fort :