Upozornění linkerů LNK4222
exportovaný symbol symbol 'symbol' by neměl být přiřazen ordinální
Následující symboly by neměly být exportovány pořadovým kódem:
DllCanUnloadNow
DllGetClassObject
DllGetClassFactoryFromClassString
DllInstall
DllRegisterServer
DllRegisterServerEx
DllUnregisterServer
Tyto funkce jsou vždy umístěny podle názvu pomocí .GetProcAddress
Linker varuje o tomto typu exportu, protože by mohl vést k větší imagi. K tomu může dojít v případě, že rozsah pořadových exportů je velký s relativně malým počtem exportů. Příklad:
EXPORTS
DllGetClassObject @1
MyOtherAPI @100
bude vyžadovat 100 slotů v tabulce exportních adres s 98 z nich (2-99) jen filler. Na druhou stranu
EXPORTS
DllGetClassObject
MyOtherAPI @100
bude vyžadovat dva sloty. (Mějte na paměti, že můžete exportovat také pomocí možnosti /EXPORT linker.)