Peringatan Kompilator (tingkat 1) C4835
'variabel' : inisialisasi untuk data yang diekspor tidak akan dijalankan sampai kode terkelola pertama kali dijalankan di rakitan host
Saat mengakses data antar komponen terkelola, disarankan agar Anda tidak menggunakan mekanisme impor dan ekspor C++ asli. Sebagai gantinya, deklarasikan anggota data Anda di dalam jenis terkelola dan referensikan metadata dengan #using
di klien. Untuk informasi selengkapnya, lihat Direktif #using.
Contoh
Sampel berikut menghasilkan C4835.
// C4835.cpp
// compile with: /W1 /clr /LD
int f() { return 1; }
int n = 9;
__declspec(dllexport) int m = f(); // C4835
__declspec(dllexport) int *p = &n; // C4835
Sampel berikut menggunakan komponen yang dibangun dalam sampel sebelumnya, menunjukkan bahwa nilai variabel tidak seperti yang diharapkan.
// C4835_b.cpp
// compile with: /clr C4835.lib
#include <stdio.h>
__declspec(dllimport) int m;
__declspec(dllimport) int *p;
int main() {
printf("%d\n", m);
printf("%d\n", p);
}
0
268456008
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk