Sdílet prostřednictvím


Silné psaní

C je slabě typovaný jazyk, tj. kompilátor umožňuje operace, jako je přiřazení a porovnání proměnných různých typů. C například umožňuje přetypování hodnoty proměnné na jiný typ. Schopnost používat proměnné různých typů ve stejném výrazu podporuje flexibilitu i efektivitu.

Jazyk silného typu omezuje operace mezi proměnnými různých typů. V takových případech kompilátor vydá chybu zakazující operaci. Tyto přísné pokyny týkající se datových typů jsou navržené tak, aby se zabránilo potenciálním chybám.

Potíže s používáním slabě napsaného jazyka, jako je C pro vzdálená volání procedur, spočívá v tom, že distribuované aplikace mohou běžet na několika různých počítačích s různými kompilátory jazyka C a různými architekturami. Když aplikace běží jenom na jednom počítači, nemusíte se zabývat interním formátem dat, protože data se zpracovávají konzistentním způsobem. V distribuovaném výpočetním prostředí ale mohou různé počítače pro své základní datové typy používat různé definice. Některé počítače například definují typ int, takže jeho interní reprezentace je 16 bitů, zatímco jiné počítače používají 32 bitů. Jedna architektura počítače, která se označuje jako "little endian", přiřazuje nejméně významný bajt dat k nejnižší adrese paměti a nejvýznamnější bajt nejvyšší adrese. Jiná architektura, která se označuje jako "big endian", přiřazuje nejméně významný bajt k nejvyšší adrese paměti přidružené k datům.

Vzdálená volání procedur vyžadují striktní kontrolu nad typy parametrů. Pro zpracování přenosu a převodu dat přes síť MIDL striktně vynucuje omezení typů pro data přenášená přes síť. Z tohoto důvodu MIDL obsahuje sadu dobře definovaných základních typů . MIDL vynucuje silné psaní tím, že vyžaduje použití klíčových slov, která jednoznačně definují velikost a typ dat. Nejviditelnějším účinkem silného psaní je, že FUNKCE MIDL neumožňuje proměnné typu void *.

V následujících tématech tato část popisuje funkce jazyka MIDL, které vynucují silné zadávání dat: