Bagikan melalui


Compiler Warning (level 1) C4747

Memanggil 'titik masuk' terkelola: Kode terkelola mungkin tidak dijalankan di bawah kunci pemuat, termasuk titik masuk DLL dan panggilan yang dicapai dari titik masuk DLL

Pengkompilasi menemukan titik masuk DLL (kemungkinan) yang dikompilasi ke MSIL. Karena potensi masalah dengan memuat DLL yang titik masuknya telah dikompilasi ke MSIL, Anda sangat tidak dianjurkan untuk mengkompilasi fungsi titik masuk DLL ke MSIL.

Untuk informasi selengkapnya, lihat Inisialisasi Rakitan Campuran dan Kesalahan Alat Linker LNK1306.

Untuk memperbaiki kesalahan ini

  1. Jangan mengkompilasi modul dengan /clr.

  2. Tandai fungsi titik masuk dengan #pragma unmanaged.

Contoh

Sampel berikut menghasilkan C4747.

// C4747.cpp
// compile with: /clr /c /W1
// C4747 expected
#include <windows.h>

// Uncomment the following line to resolve.
// #pragma unmanaged

BOOL WINAPI DllMain(HANDLE hInstance, ULONG Command, LPVOID Reserved) {
   return TRUE;
};