Was passiert eigentlich, wenn ein Programm eine Funktion in einer DLL aufruft und diese einen falschen Variablentyp zurückliefert? z.B. Programm erwartet bool, die DLL Funktion gibt aber long zurück.
Kann man das Vorhersagen, oder hängts vom Compiler ab? Stürzt das Programm ab? Gibt Windows eine Fehlermeldung aus? Läufts weiter (abgesehen davon, was das Programm mit einem falschen Rückgabewert macht...)?
naja bool ist im endeffekt nur ne speicheradresse. wenn das dll ein long zurückgibt, kriegst du halt in der anwendung nen falschen wert zurück. manchmal geht sowas gut, meist jedoch stürzt dir dann die anwendung ab. Ansonsten prüft der compiler sowas nur, wenn du die dll statisch bindest, also nicht manuell mit LoadLibrary und Co die Funktionen lädst. -- class God : public ChuckNorris { };