Rakitan campuran (asli dan terkelola)

Rakitan campuran mampu berisi instruksi mesin yang tidak dikelola dan instruksi MSIL. Ini memungkinkan mereka untuk memanggil dan dipanggil oleh komponen .NET, sambil mempertahankan kompatibilitas dengan pustaka C++ asli. Dengan menggunakan rakitan campuran, pengembang dapat menulis aplikasi menggunakan campuran kode .NET dan C++ asli.

Misalnya, pustaka yang ada yang sepenuhnya terdiri dari kode C++ asli dapat dibawa ke platform .NET dengan mengkompilasi ulang hanya satu modul dengan sakelar kompilator /clr . Modul ini kemudian dapat menggunakan fitur .NET, tetapi tetap kompatibel dengan sisa aplikasi. Bahkan dimungkinkan untuk memutuskan antara kompilasi terkelola dan asli berdasarkan fungsi demi fungsi dalam file yang sama (lihat terkelola, tidak dikelola).

Visual C++ hanya mendukung pembuatan rakitan terkelola campuran dengan menggunakan opsi /clr compiler. Opsi pengkompilasi /clr:pure dan /clr:safe tidak digunakan lagi di Visual Studio 2015 dan tidak didukung di Visual Studio 2017. Jika Anda memerlukan rakitan terkelola murni atau dapat diverifikasi, kami sarankan Anda membuatnya dengan menggunakan C#.

Versi sebelumnya dari toolset kompilator Microsoft C++ mendukung pembuatan tiga jenis rakitan terkelola yang berbeda: campuran, murni, dan dapat diverifikasi. Dua yang terakhir dibahas dalam Kode Murni dan Dapat Diverifikasi (C++/CLI).

Di bagian ini

Cara: Bermigrasi ke /clr
Menjelaskan langkah-langkah yang direkomendasikan untuk memperkenalkan atau meningkatkan fungsionalitas .NET di aplikasi Anda.

Cara: Mengkompilasi Kode MFC dan ATL Dengan Menggunakan /clr
Membahas cara mengkompilasi program MFC dan ATL yang ada untuk menargetkan Common Language Runtime.

Inisialisasi Rakitan Campuran
Menjelaskan masalah dan solusi "kunci pemuat".

Dukungan Pustaka untuk Rakitan Campuran
Membahas cara menggunakan pustaka asli dalam kompilasi /clr .

Pertimbangan Performa
Menjelaskan implikasi performa rakitan campuran dan marshaling data.

Domain Aplikasi dan Visual C++
Membahas dukungan Visual C++ untuk domain aplikasi.

Pengintaian Ganda
Membahas implikasi performa dari titik masuk asli untuk fungsi terkelola.

Menghindari Pengecualian pada Pematian CLR Saat Mengonsumsi Objek COM yang Dibangun dengan /clr
Membahas cara memastikan penonaktifan aplikasi terkelola yang tepat yang menggunakan objek COM yang dikompilasi dengan /clr.

Cara: Membuat Aplikasi Tepercaya Sebagian dengan Menghapus Dependensi pada DLL Pustaka CRT
Membahas cara membuat aplikasi Common Language Runtime yang tepercaya sebagian menggunakan Visual C++ dengan menghapus dependensi pada msvcm90.dll.

Untuk informasi selengkapnya tentang panduan pengodean untuk rakitan campuran, lihat Gambaran Umum Interoperabilitas Kode Terkelola/Tidak Terkelola.

Baca juga