다음을 통해 공유


링커 도구 경고 LNK4222

내보낸 기호 'symbol'에 서수가 할당되어서는 안 됩니다.

다음 기호는 서수로 내보내지 않아야 합니다.

  • DllCanUnloadNow

  • DllGetClassObject

  • DllGetClassFactoryFromClassString

  • DllInstall

  • DllRegisterServer

  • DllRegisterServerEx

  • DllUnregisterServer

이러한 함수는 항상 이름을 사용하여 찾습니다 GetProcAddress. 링커는 이러한 종류의 내보내기에 대해 경고합니다. 이는 더 큰 이미지를 초래할 수 있기 때문입니다. 이는 서수 내보내기의 범위가 비교적 적은 내보내기가 있는 경우 발생할 수 있습니다. 예를 들면 다음과 같습니다.

EXPORTS
   DllGetClassObject   @1
   MyOtherAPI      @100

는 내보내기 주소 테이블에 100개의 슬롯이 필요하며 그 중 98개(2-99개)는 채우기만 합니다. 다른 한편으로는

EXPORTS
   DllGetClassObject
   MyOtherAPI      @100

는 두 개의 슬롯이 필요합니다. (/EXPORT 링커 옵션을 사용하여 내보낼 수도 있습니다.)