DLL和可执行文件是否可以通过不同的进程进行通信?
例如:
Child.dll is loaded into Target.exe...
Owner.exe is running...
Owner.exe sent message "close" to Child.dll
Child.dll received message "close" from Owner.exe
Child.dll executed: ExitProcess( 0 );
Target.exe has exited, therefore Child.dll has already been unloaded.
那么,有可能吗?如果是这样,怎么办?谢谢。
最佳答案
DLL不在单独的进程中运行,它在进程的进程空间中运行,该进程调用某些方法或访问DLL中包含的数据。
因此,如果没有使用DLL的进程存在,则操作系统可能决定将为DLL映射的内存页面交换到SWAP空间,甚至完全从内存中卸载DLL。
关于c++ - C++ DLL和可执行文件是否可以通过不同的进程进行通信?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15104689/