bagaimana dll berkomunikasi dengan yang dapat dieksekusi

pemrograman


Hai, yang di sana,

Saya tidak dapat menemukan jawabannya di situs web, jika ada yang tahu mohon klarifikasi,

DLL dan Executable berjalan di mesin yang sama dan dll telah mengirim pesan ke executable untuk menyelesaikan proses (misal: Memuat data/sumber daya dari dll).

Bagaimana DLL dapat mengintimidasi file yang dapat dieksekusi?

Salam,
Ranjith

Solusi 3

Anda dapat menggunakan apa yang dijelaskan Mike (panggilan balik)… tetapi jika ini untuk Windows… Saya akan menggunakan pesan Windows. Mengapa? …karena setelah Anda mengetahui tekniknya, mudah untuk menambah/menghapus pesan tanpa mengubah antarmuka DLL (tergantung apakah Anda ingin mengubah antarmuka DLL atau tidak).

Berikut artikel tentang pesan Windows dengan MFC, tetapi jika Anda tidak menggunakan MFC, Anda juga dapat melakukannya melalui WinAPI mentah (dan juga cukup mudah untuk melakukannya):

[^]

Solusi 4

Tidak masalah apakah kodenya dalam DLL atau EXE di dalam proses. Yang penting adalah Anda memiliki dua proses yang harus berkomunikasi satu sama lain. Saya berasumsi bahwa komunikasi tidak harus menggunakan penyampaian pesan async (Pesan lewatyaitu: kedua proses berjalan ketika komunikasi harus dilakukan.

Dalam hal ini Anda harus memilih dan menggunakan mekanisme IPC: Komunikasi Antarproses Windows

Dua metode komunikasi paling dasar dari mekanisme windows IPC yang terdaftar adalah pipa dan soket.
Favorit pribadi saya adalah soket karena:
– Mudah untuk porting ke platform apa pun
– Mudah menjalankan proses pada mesin terpisah dan kode komunikasi masih sama
– Mudah digunakan antar program yang ditulis dalam berbagai bahasa
– komunikasi loopback (ketika kedua titik akhir berada pada mesin yang sama) dioptimalkan pada semua platform utama sehingga menggunakan soket secara lokal sama efektifnya dengan menggunakan pipa

Solusi 1

Gunakan Panggilan Balik.

Lihat artikel ini untuk contohnya: Callback yang aman untuk mengetik di C++[^]

Solusi 2

Hai,

Saya pikir Anda membutuhkannya tetapi saya tidak yakin

Cara memuat perpustakaan tautan dynamyc

Semoga harimu menyenangkan

コメント

タイトルとURLをコピーしました