第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

從64位進(jìn)程中調(diào)用32位代碼

從64位進(jìn)程中調(diào)用32位代碼

慕虎7371278 2019-10-29 10:30:57
我有一個(gè)應(yīng)用程序正在嘗試從32位遷移到64位。它是使用x64標(biāo)志編譯的.NET。但是,我們有大量用FORTRAN 90編寫的DLL都是為32位編譯的。FORTRAN DLL中的功能非常簡單:將數(shù)據(jù)放入,將數(shù)據(jù)拉出;沒有任何狀態(tài)。我們也沒有花太多時(shí)間,總計(jì)可能只有3%,但是它執(zhí)行的計(jì)算邏輯是無價(jià)的。我可以通過64位代碼以某種方式調(diào)用32位DLL嗎?MSDN建議,我不能這樣做。我已經(jīng)做了一些簡單的黑客攻擊,并對(duì)此進(jìn)行了驗(yàn)證。一切都會(huì)引發(fā)無效的入口點(diǎn)異常。到目前為止,我發(fā)現(xiàn)的唯一可能的解決方案是為所有32位DLL函數(shù)創(chuàng)建COM +包裝器,并從64位進(jìn)程中調(diào)用COM。這似乎很頭疼。我們也可以在WoW仿真中運(yùn)行該過程,但隨后不會(huì)增加內(nèi)存上限,將內(nèi)存上限限制為1.6gb。還有其他方法可以從64位CLR進(jìn)程調(diào)用32位DLL嗎?
查看完整描述

3 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

您需要將32位dll加載到單獨(dú)的32位進(jìn)程中,并讓您的64位進(jìn)程通過進(jìn)程間通信與其進(jìn)行通信。我認(rèn)為沒有其他方法可以將32位dll加載到64位進(jìn)程中。

查看完整回答
反對(duì) 回復(fù) 2019-10-29
?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

您需要將可執(zhí)行進(jìn)程寫為32位進(jìn)程(而不是任何CPU或x64),以便它們隨Vista的WoW32一起加載。這將以32位仿真模式加載它們,而您不會(huì)遇到入口點(diǎn)問題。您可以將庫保留為AnyCPU模式,但必須將可執(zhí)行文件編譯為x86。


查看完整回答
反對(duì) 回復(fù) 2019-10-29
?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果您不想重新編譯現(xiàn)有的dll,John的答案是正確的。但是,這也可能是您的選擇。

我們的團(tuán)隊(duì)目前正在將x86 FORTRAN代碼遷移到x64,以增加內(nèi)存上限。


查看完整回答
反對(duì) 回復(fù) 2019-10-29
  • 3 回答
  • 0 關(guān)注
  • 830 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)