Compartir a través de


Advertencia de las herramientas del vinculador LNK4222

no debería asignarse un ordinal al símbolo "symbol" exportado

Observaciones

El ordinal no debe exportar los símbolos siguientes:

  • DllCanUnloadNow

  • DllGetClassObject

  • DllGetClassFactoryFromClassString

  • DllInstall

  • DllRegisterServer

  • DllRegisterServerEx

  • DllUnregisterServer

Estas funciones siempre se ubican por nombre, mediante GetProcAddress. El enlazador advierte sobre este tipo de exportación porque podría dar lugar a una imagen más grande. Esto podría ocurrir si el intervalo de las exportaciones ordinales es grande con relativamente pocas exportaciones. Por ejemplo,

EXPORTS
   DllGetClassObject   @1
   MyOtherAPI      @100

requerirá 100 ranuras en la tabla de direcciones de exportación, en la que 98 de ellas (de la 2 a la 99) simplemente son relleno. Por otro lado,

EXPORTS
   DllGetClassObject
   MyOtherAPI      @100

requerirá dos ranuras. (Tenga en cuenta que también puede usar la opción del enlazador /EXPORT para exportar).