Avertissement des outils Éditeur de liens LNK4222
le symbole exporté 'symbol' ne doit pas être affecté à un ordinal
Les symboles suivants ne doivent pas être exportés par ordinal :
DllCanUnloadNow
DllGetClassObject
DllGetClassFactoryFromClassString
DllInstall
DllRegisterServer
DllRegisterServerEx
DllUnregisterServer
Ces fonctions sont toujours situées par nom, à l’aide GetProcAddress
de . L’éditeur de liens avertit de ce type d’exportation, car il peut entraîner une image plus grande. Cela peut se produire si la plage de vos exportations ordinales est importante avec relativement peu d’exportations. Par exemple :
EXPORTS
DllGetClassObject @1
MyOtherAPI @100
nécessite 100 emplacements dans la table d’adresses d’exportation avec 98 d’entre eux (2-99) juste remplissage. D'un autre côté
EXPORTS
DllGetClassObject
MyOtherAPI @100
nécessite deux emplacements. (N’oubliez pas que vous pouvez également exporter avec l’option /EXPORT Linker.)