为什么Linux运行不了exe

时间:2024-10-12 19:29:49

1、计算机硬件是由操作系统OS管理的,可以理解exe或者app是由操作系统控制的一个动态模块。因此一个app的加载运行,申请资源,最后退出清理全部必须由OS进行调配。

为什么Linux运行不了exe

2、windows是基于视窗的操作系统,linux仅赞迢鹣嘞仅是一个内核,桌面是在linux基础上的XServer,Xc造婷用痃lient,不同发行版也是有所不同的,编程接口xlib目前会用的人极少,基本都用二次封装的gtk和qt,和windows机理完全不同。

为什么Linux运行不了exe

3、一个app的可执行文件格式是由不同操作系统定义的格式,不同OS,不同版本OS对格式的兼容性都不一样。这个结构在windows上叫PE格式。

为什么Linux运行不了exe
为什么Linux运行不了exe

4、Linux和各种unix使用更加公共一点的ELF格式。各种*nix虽然都是ELF格式但是OS内核完全不同,还是无法兼容的。

为什么Linux运行不了exe

5、启动点,创建进程,主线程,其他线程,向操作系统申请和释放内存,操作文件系统,访问网络,甚至错误处理等等,这些都要依赖操作系统提供的接口,不同操作系统这些都不一样。

为什么Linux运行不了exe

6、现代操作系统接口还会对app能否执行,调用的API做严格的限制以保障安全,cpu3级权限下直接汇编指令里面调用中断操作硬件被非常严格的进行了限制,并不是什么汇编指令都能随便执行的。不同操作系统的管控机理也有所不同。

为什么Linux运行不了exe

7、当然,这个差别再大,要执行也是有办法的,茧盯璜阝就是做适配器,比如wine,真windows太复杂,wine无法完全模拟,有很多问题,相对成熟的解决方案是硬件虚拟技术,就是敦饪测怙虚拟机,linux上推荐kvm或virtual box。

为什么Linux运行不了exe
为什么Linux运行不了exe
© 手抄报圈