国内那伙做发行版的,应该都研究过吧。
首先 wine 是一个类似 ld.so 的 loader,只是加载的是 PE 格式的可执行文件。wine 准备好可执行文件的各种内存区段。这样子调用 win32api 的时候就会跳转到 wine 准备好的 dll 里面去,这些 dll 实现 win32api 对应的功能。
有个单一的 wine-server 进程充当 nt 内核的角色。能在用户层实现的 wine dll 就自己实现了,需要进 nt 内核的,实际上是跳到 wine-server 里面去执行。
【 在 jinjinjin3 的大作中提到: 】
: wine这东西,有人深入研究过吗?
--
FROM 47.243.39.*