新聞中心
Linux 安裝使用指南: wfor 模擬器簡(jiǎn)介

現(xiàn)代電腦游戲產(chǎn)業(yè)已經(jīng)成為世界戰(zhàn)略性重要的文化產(chǎn)業(yè)之一,游戲在娛樂(lè)、教育、科研等領(lǐng)域中也扮演著重要的角色。在這個(gè)快節(jié)奏的時(shí)代,玩家們需要每時(shí)每刻都能夠享受到高質(zhì)量、高畫(huà)面、高音效的游戲體驗(yàn),但是很多高質(zhì)量游戲只能在特定的操作系統(tǒng)平臺(tái)下運(yùn)行,這使得眾多玩家無(wú)法獲得相應(yīng)的操作系統(tǒng)。而Linux 作為一個(gè)免費(fèi)、開(kāi)源、自由、安全、穩(wěn)定的操作系統(tǒng)平臺(tái),成為了越來(lái)越多玩家的選擇。然而,很多玩家在Linux 上運(yùn)行游戲時(shí)會(huì)遇到很多困難,如何解決這些難題呢?今天我們就要給大家介紹一個(gè)有利于解決這些問(wèn)題的工具——wfor 模擬器。
1、wfor 模擬器是什么?
wfor 模擬器是一款完全免費(fèi)的基于Wine的Windows應(yīng)用程序兼容層,它的作用是將Windows 上的任意程序在Linux 上運(yùn)行。該軟件采用的是開(kāi)源協(xié)議分發(fā)和維護(hù),具有非常好的跨平臺(tái)性,可以在Windows、Mac OS X 和Linux 上進(jìn)行安裝和運(yùn)行。
2、如何安裝 wfor 模擬器?
wfor 模擬器的安裝非常簡(jiǎn)單,只需要在官方網(wǎng)站(https://www.wfor.com/)下載相應(yīng)的安裝程序即可。安裝過(guò)程中只需要按照提示一步一步操作即可。在啟動(dòng)模擬器之前,您需要檢查您的Linux 操作系統(tǒng)是否具有所需的軟件包和庫(kù)。
3、如何使用 wfor 模擬器?
安裝完 wfor 模擬器以后,就可以開(kāi)始在 Linux 上運(yùn)行 Windows 上的任何應(yīng)用程序了??梢酝ㄟ^(guò)以下步驟來(lái)使用 wfor 模擬器:
(1)首先您需要將Windows 安裝程序復(fù)制到Linux 的某個(gè)位置,例如桌面。
(2)然后在 Linux 中打開(kāi)終端,輸入以下命令 wfor 路徑/程序.exe(路徑是指Windows 程序所在的文件夾路徑,程序.exe 則是Windows 程序的文件名)
(3)等待 wfor 模擬器自動(dòng)模擬完成,就可以在 Linux 上看到程序啟動(dòng)器圖標(biāo)了,您現(xiàn)在可以直接運(yùn)行程序了。
4、wfor 模擬器的優(yōu)缺點(diǎn)
wfor 模擬器相對(duì)于其它 Windows 應(yīng)用程序兼容層在 Linux 上運(yùn)行 Windows 程序的優(yōu)勢(shì)在于:
(1)開(kāi)源協(xié)議,更容易得到修復(fù)和改進(jìn)
(2)穩(wěn)定、可靠的運(yùn)行環(huán)境
(3)兼容性更好,支持更多的 Windows 應(yīng)用程序
同時(shí),wfor 模擬器也有一些不足之處,例如:
(1)在 Linux 上運(yùn)行 Windows 應(yīng)用程序還是有很多不兼容、運(yùn)行錯(cuò)誤等問(wèn)題,尤其是一些復(fù)雜的 Windows 應(yīng)用程序。
(2)對(duì)于一些高質(zhì)量、高要求的游戲和軟件,wfor 模擬起來(lái)效果不如將 Linux 和 Windows 雙重啟動(dòng)系統(tǒng)在同一臺(tái)計(jì)算機(jī)上運(yùn)行。
5、
總體來(lái)說(shuō),盡管 wfor 模擬器是一款非常優(yōu)秀的程序,它可以幫助更多人在 Linux 上運(yùn)行 Windows 程序,但是它仍有一些不足之處。如果你想在 Linux 上運(yùn)行高質(zhì)量、復(fù)雜的 Windows 應(yīng)用程序,建議您還是選擇將 Linux 和 Windows 雙重啟動(dòng)系統(tǒng)在同一臺(tái)計(jì)算機(jī)上運(yùn)行。不過(guò),wfor 模擬器在幫助更多人解決在 Linux 上運(yùn)行 Windows 程序的問(wèn)題上做出了非常有益的貢獻(xiàn)。
相關(guān)問(wèn)題拓展閱讀:
- linux版本信息和區(qū)別
- 如何將vc中的overlapped結(jié)構(gòu)轉(zhuǎn)為linux
linux版本信息和區(qū)別
查看內(nèi)核版本命令:
1) # cat /proc/version
Linux version 2.6.18-238.el5 ((mailto:)) (gcc version 4.1.(Red Hat 4.1.2-50)) #1 P Sun Dec 19 14:22:44 EST 2023
?
?
2)信核# uname -r
2.6.18-238.el5
?
3)# uname -a
Linux SOR_SYS.99bill.com 2.6.18-238.el5 #1 P Sun Dec 19 14:22:44 EST 2023 x86_64 x86_64 x86_64 GNU/Linux
?
查看linux版本:
1) 登錄到服務(wù)器執(zhí)行 l_release -a ,即可列出所有版本信息,例如:
?
# l_release -a
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Release:
Codename:NahantUpdate4
?
注:這個(gè)命滑悄掘令適用于所有的linux,包括Redhat、SuSE、Debian等發(fā)行版。
2) 登錄到linux執(zhí)行cat /etc/issue,例如如下:
?
# cat /etc/issue
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Kernel \r on an \m
– 3) 登錄到linux執(zhí)行cat /etc/redhat-release ,例如如下:
– # cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
– 注:這種方式下可以直接看到具體的版本號(hào),比運(yùn)高如 AS4 Update 1
另:第3)、4)兩種方法只對(duì)Redhat Linux有效
5) # file /bin/bash
/bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
?
?
6) # file /bin/cat
/bin/cat: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
?
linux版本信息說(shuō)明
Linux內(nèi)核版本有兩種:穩(wěn)定版和開(kāi)發(fā)版 ,Linux內(nèi)核版本號(hào)由3個(gè)數(shù)字組成:r.x.y
?
r:目前發(fā)布的內(nèi)核主版本。
x:偶數(shù)表示穩(wěn)定版本;奇數(shù)表示開(kāi)發(fā)中版本。
y:錯(cuò)誤修補(bǔ)的次數(shù)。
?
內(nèi)核版本號(hào)每位都代表什么 ?
?
?以版本號(hào)為例: 2.6.18-128.ELp ,
?
?r: 2 , 主版本號(hào)
?
?x: 6 , 次版本號(hào),表示穩(wěn)定版本
?
?y: 18 , 修訂版本號(hào) , 表示修改的次數(shù),頭兩個(gè)數(shù)字合在一齊可以描述內(nèi)核系列。如穩(wěn)定版的2.6.0,它是2.6版內(nèi)核系列。
?
?128: 表示這個(gè)當(dāng)前版本的第5次微調(diào)patch , 而ELp指出了當(dāng)前內(nèi)核是為ELp特別調(diào)校的
?
?EL : Enterprise Linux ; p : 表示支持多處理器 , 表示該內(nèi)核版本支持多處理器
?
?
amd和intel
amd和Intel這倆公司的淵源很深,早期時(shí)Intel先是自己搞了個(gè)x86架構(gòu),然后amd拿到了x86的授權(quán)也可以自己做x86了。接著intel向64位過(guò)渡的時(shí)候自己搞了個(gè)ia64(x64架構(gòu))但是因?yàn)楹蛒86架構(gòu)不兼容市場(chǎng)反應(yīng)極差,amd率先搞了x86的64位兼容(32和64的混合架構(gòu))也就是后來(lái)的x86-64,后來(lái)Intel也拿到了生產(chǎn)這貨的授權(quán)(i和a兩家專利交叉的很?chē)?yán)重),也搞了x86-64,因?yàn)閍md先搞出來(lái)的所以x86-64也叫amd64
?
目前amd和Intel是世界上更大的兩家x86和x86-64的cpu廠家(intel比較給力,四分天下有其三)。除了這兩家還有幾家小的公司也有x86的授權(quán),比如via,不過(guò)技術(shù)水平真的很一般
?
?
x86
x86是指intel的開(kāi)發(fā)的一種32位指令集,從386開(kāi)始時(shí)代開(kāi)始的,一直沿用至今,是一種cisc指令集,所有intel早期的cpu,amd早期的cpu都支持這種指令集,ntel官方文檔里面稱為“IA-32”
早期的x86是cisc的代表,后來(lái)的發(fā)展中逐步引入了risc的部分理念,將內(nèi)部指令的實(shí)現(xiàn)大量模塊化,準(zhǔn)確來(lái)說(shuō)是一個(gè)cisc外加risc部分技術(shù)的架構(gòu)。目前x86的主要產(chǎn)品有Intel的至強(qiáng),酷睿,奔騰,賽揚(yáng)和凌動(dòng);amd的銳龍,apu等。上文提到的x64架構(gòu)目前只有intel 安騰而且已經(jīng)放棄了產(chǎn)品線。
?
到目前為止intel和amd的x86架構(gòu)cpu雖然指令集上有很大差別了但是還是相互兼容的,所以軟件可以直接用。’
?
x84_64 與amd64
x84_64是x86 CPU開(kāi)始邁向64位的時(shí)候,有2選擇:1、向下兼容x86。2、完全重新設(shè)計(jì)指令集,不兼容x86。AMD搶跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD稱之為AMD64,搶了64位PC的之一桶金,得到了用戶的認(rèn)同。而Intel選擇了設(shè)計(jì)一種不兼容x86的全新64為指令集,稱之為IA-64(這玩意似乎就是安騰),但是比amd晚了一步,而且IA-64也挺慘淡的,因?yàn)槭侨略O(shè)計(jì)的CPU,沒(méi)有編譯器,也不支持windows(微軟把intel給忽悠了,承諾了會(huì)出安騰版windows server版,但是遲遲拿不出東西)。。。后來(lái)不得不在時(shí)機(jī)落后的情況下也開(kāi)始支持AMD64的指令集,但是換了個(gè)名字,叫x86_64,表示是x86指令集的64擴(kuò)展,大概是不愿意承認(rèn)這玩意是AMD設(shè)計(jì)出來(lái)的。
也就是說(shuō)實(shí)際上,x86_64,x64,AMD64基本上是同一個(gè)東西,我們現(xiàn)在用的intel/amd的桌面級(jí)CPU基本上都是x86_64,與之相對(duì)的arm,ppc等都不是x86_64。
arm與mips
arm是risc的典型代表,不過(guò)在arm的發(fā)展過(guò)程中引入了部分復(fù)雜指令(完全沒(méi)有復(fù)雜指令的話操作系統(tǒng)跑起來(lái)異常艱難),所以是一個(gè)risc基礎(chǔ)外加cisc技術(shù)的cpu。
?
arm的主要專利技術(shù)在arm公司手中,像高通,三星,蘋(píng)果這些公司需要拿到arm的授權(quán)。
?
另一個(gè)risc的典型處理器就是mips。mips是一個(gè)學(xué)院派的cpu,授權(quán)門(mén)檻極低,因此很多廠家都做mips或者mips衍生架構(gòu)。我們平時(shí)接觸到的mips架構(gòu)cpu主要用在嵌入式領(lǐng)域,比如路由器。
?
目前最活躍的mips是中國(guó)的龍芯,其loongisa架構(gòu)其實(shí)是mips的擴(kuò)展。
?
?
mips mipsel mips64el 區(qū)別
– Debian目前提供3個(gè)端口,’mips’,’mipsel’和’mips64el’。 ‘mips’和’mipsel’端口分別是大端和小端變體,使用O32 ABI和硬件浮點(diǎn)。他們?cè)贘essie中使用MIPS II ISA,在Stretch中使用MIPS32R2 ISA。 ‘mips64el’端口是一個(gè)64位小端端口,使用N64 ABI,硬件浮點(diǎn)和MIPS64R2 ISA。
– mips 是32位大端字節(jié)序
如何將vc中的overlapped結(jié)構(gòu)轉(zhuǎn)為linux
最近要研究串口通信,其中用到了overlapped結(jié)構(gòu),一直不能理解,
今天在網(wǎng)上看到有人這樣解釋overlapped,太經(jīng)典的解釋了。
OVERLAPPED結(jié)構(gòu)主要在一些重疊IO等異步操作中起作用。
即:你需要操作系統(tǒng)傳遞一批數(shù)據(jù),于是填了一個(gè)overlapped的訂單,訂單上寫(xiě)著從哪里(數(shù)據(jù)的偏移位置)開(kāi)始傳輸,于是你去干別的事去了。系統(tǒng)完成傳輸就打個(gè)(激活hEvent)叫你驗(yàn)收,你看到overlapped訂單上系統(tǒng)寫(xiě)著的傳輸?shù)臄?shù)據(jù)數(shù)量驗(yàn)收接收的數(shù)據(jù)。
下面還有篇對(duì)overlapped的轉(zhuǎn)載:
OVERLAPPED,顧名思義為重疊,乍一看會(huì)很奇怪,重疊?誰(shuí)跟誰(shuí)重疊?
似乎在WIN32的Programming中沒(méi)有這個(gè)概念呀?要討論這個(gè)問(wèn)題就要追溯
到對(duì)設(shè)備I/O的訪問(wèn)中
在WIN32中,用戶不能象以前那樣直接對(duì)硬件進(jìn)行訪問(wèn),使得這一層
對(duì)開(kāi)發(fā)者而言是個(gè)”黑盒”,而是提供了一組對(duì)應(yīng)的API的接口.讓開(kāi)發(fā)者
基于提供的接口進(jìn)行開(kāi)發(fā),而把低層的訪問(wèn)交給了Driver或者內(nèi)核.
在WIN32中,設(shè)備的概念已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了Moniter,Printer等的范圍,大概
可以包括文件,目錄,串口,并口,管道以及控制臺(tái)等.很自然的,當(dāng)我們要
訪問(wèn)這個(gè)設(shè)備的時(shí)候,我們的之一步就是打開(kāi)這個(gè)設(shè)備,其中WIN32 API
提供的是CreateFile,具體的使用可以參考MSDN,其中包括的一些
參數(shù)表明了是否這個(gè)設(shè)備已經(jīng)存在(dwCreationDisposition),
是否以獨(dú)占的方式(dwShareMode)打開(kāi)等等.
這里大家可能已經(jīng)產(chǎn)生了這個(gè)想法:呀,既然是跟設(shè)備打交道,
那么設(shè)備的速度這么慢,而CPU的速度這么快,這兩者應(yīng)該怎么
協(xié)調(diào)好呢?舉個(gè)例子說(shuō),我要訪問(wèn)軟盤(pán)上的資料,哪怕它是一秒
后就讀出來(lái)了,那其實(shí)對(duì)CPU也是一種很大的浪費(fèi)呀.是的,的確
會(huì)有這個(gè)問(wèn)題,既然有問(wèn)題,我們就要解決,而MicroSoft
的解決方式就是這里我們的討論題目:OverLapped
這個(gè)字符到底是什么含義呢?其實(shí)它的意思就是當(dāng)程序在等待
設(shè)備操作的時(shí)候,可以繼續(xù)往下做而不必阻塞到那個(gè)地方等待
設(shè)備操作的返回,這就造成了程序運(yùn)行和設(shè)備操作時(shí)間上的
重疊.是的,是這樣的,神奇吧,那么程序該怎么知道設(shè)備操作
什么時(shí)候做完了返回了呢…
講到這個(gè)地方,我們又要引入多線程的概念了.其實(shí)
相信大家對(duì)多線程都有了一定的了解,其實(shí)多線程主要
就是一個(gè)同步的問(wèn)題,如何協(xié)調(diào)好這些”跑起來(lái)就不羈”
的線程,WIN32提供給我們的是WaitForSingleObject
和WaitForMultiObject這兩個(gè)函數(shù),而WIN32中提供了
一組專門(mén)用來(lái)同步的對(duì)象包括Critical Section,
Mutex,Semaphore,Event等,這其中的絕大多數(shù)都
屬于內(nèi)核對(duì)象(Kernal Object),其中這些對(duì)象與
一般對(duì)象的更大區(qū)別就是他們是屬于系統(tǒng)內(nèi)核維護(hù)
的一塊數(shù)據(jù)結(jié)構(gòu).程序不能直接訪問(wèn)他們.這些對(duì)象
都具備兩種形態(tài),這里我們不妨稱之為:有信號(hào)的和
無(wú)信號(hào)的.這樣當(dāng)我們使用Wait函數(shù)的時(shí)候,就可以
根據(jù)信號(hào)的有無(wú)來(lái)使得程序是否阻塞在wait的地方,
簡(jiǎn)單的說(shuō),就是當(dāng)我們調(diào)用一個(gè)函數(shù):WaiForSingObject(Event a);
的時(shí)候,如果a事件有信號(hào),那么程序就往下跑,如果是
無(wú)信號(hào)的,那么程序就阻塞在當(dāng)前位置,等待其變?yōu)?/p>
有信號(hào)的.舉個(gè)形象的粒子,比如線程是個(gè)在高速公路
上跑的汽車(chē),Wait函數(shù)的作用就是讓這輛汽車(chē)開(kāi)到
一個(gè)十字路口,等待路口的信號(hào)燈是否為綠色的,如果
是那么汽車(chē)接著往下跑,否則對(duì)不起,請(qǐng)等在那邊等
信號(hào)燈變?yōu)榫G色輪祥..
在這里,我使用下來(lái)最方便的就是Event這個(gè)對(duì)象了,
因?yàn)槲覀兛梢院芊奖愕膶?duì)它進(jìn)行操作,比如SetEvent
使的它變?yōu)橛行盘?hào)的,而ResetEvent使得它變?yōu)闊o(wú)信號(hào)的,
當(dāng)然其他的一些比如Mutex在使得程序不能重復(fù)
加載等地方也很方便..
這樣當(dāng)我們想要異步的(OVERLAPPED)訪問(wèn)設(shè)備
的時(shí)候,只要首先在CreataFile的時(shí)候用上(OVERLAPPED)
標(biāo)志,然后在讀寫(xiě)操作(對(duì)應(yīng)的是WriteFile和ReadFile)
的時(shí)候同樣使用這個(gè)標(biāo)志即可…
看看下面這段:
//臘巖搏//1處////以重疊方式棗槐接收指定字符,看函數(shù)是否讀取成功
fReadStat=ReadFile(hCom,lpBlock,dwLength,&dwLength,&osRead);
if(!fReadStat)
{
重疊方式操作在后臺(tái)進(jìn)行的情況…
if(GetLastError()==ERROR_IO_PENDING)
{
////2處
待1s,若接收事件處于信號(hào)態(tài),說(shuō)明重疊方式操作完成,超時(shí)…
////3處 if(WaitForSingleObject(osRead.hEvent,1000)==WAIT_TIMEOUT)
dwLength=0;
}
else dwLength=0;//異常情況
}
這樣當(dāng)程序在用異步的方式讀取資料的時(shí)候,不管
設(shè)備有沒(méi)有操作完,程序會(huì)立即往下跑而不用等待其返回(
如果是同步的那線程就會(huì)阻塞在這個(gè)地方).這樣我們
在2處的地方就可以自己做自己的事情而不用去管設(shè)備(這樣
也就實(shí)現(xiàn)了時(shí)間上的重疊),直到我們需要等待3處資料
進(jìn)來(lái)后再做進(jìn)一步的處理的時(shí)候,我們才會(huì)用上
那句WaitFor等待設(shè)備..
這樣的操作無(wú)疑提高了效率,使得程序和設(shè)備
的配合協(xié)調(diào)了不少,當(dāng)然OVERLAPPED里面是自己
新開(kāi)了線程來(lái)處理,這是毫無(wú)疑問(wèn)的…
參考文獻(xiàn): Advanced Windows
Mlutithreading Applications in Wim32
linux 版waifor的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 版waifor,Linux 安裝使用指南:waifor 模擬器簡(jiǎn)介,linux版本信息和區(qū)別,如何將vc中的overlapped結(jié)構(gòu)轉(zhuǎn)為linux的信息別忘了在本站進(jìn)行查找喔。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。
網(wǎng)站題目:Linux 安裝使用指南:waifor 模擬器簡(jiǎn)介 (linux 版waifor)
本文來(lái)源:http://fisionsoft.com.cn/article/dhegicc.html


咨詢
建站咨詢
