當前位置:首頁 » 文件管理 » linux可以用dll文件嗎

linux可以用dll文件嗎

發布時間: 2022-12-11 05:28:30

Ⅰ windows vs 編譯的動態庫 能不能在linux 下調用

這個理論上是可以實現的。但是很復雜,通用性不強。
1、windows上的動態庫DLL文件是PE格式,而linux上的可執行文件是ELF格式,這兩種格式首先不同。
2、但是,你可以在Linux上模擬實現一個PE載入器,然後載入DLL文件,實際上就是在Linux上實現一個PE Loader。 但是,這是一個相當復雜的事情,因為,微軟沒有公布PE的完全細節,我們現在所有了解的PE結構,那都是非官方公布的!

綜上所述,不建議這樣操作,但是理論上能實現。

Ⅱ wine是怎麼實現在linux下調用win32裡面的dll文件的

使用wine可以達到您要的效果,但不是100%成功,個別的軟體會報dll錯誤。 以下是詳細使用方法: 在安裝前請確保你的系統中裝有 gcc 3.x (推薦使用 3.2.x ),很多讀者反映在 gcc 2.9.x 上編譯存在問題。 wine 的安裝配置 wine 的最新版本是 2003.wine是怎麼實現在linux下調用win32裡面的dll文件的

Ⅲ linuxvscode生成dll文件

1、首先在linux中新建文件夾,vscode打開。
2、其次vscode中使用快捷鍵ctrl+shift+p打開搜索欄,輸出cmake,選擇cmake:quickstart。
3、然後隨便輸入一個名字。
4、然後選擇生成可執行文件還是鏈接庫、
5、然後什麼報錯都不要管,直接點擊vscode底部欄中的build選項,此時打開build文件夾,你要的文件已經出現。
6、最後對於dll可執行文件,還可以直接點擊底部欄的三角形(run),直接運行。

Ⅳ 在linux下怎麼去調用dll文件

用交叉編譯環境是可以的。
如mingw。
建議在Windows下安裝mingw,然後調試。直接調用是肯定不行的。
參考我的博客:http://jeremiah.blog.51cto.com/539865/183560

有個 mono你可以試試,或者是利用wine來讀取,不過不管怎麼樣都不能直接讀取,但是間接的是可以的。大概的就這兩種方法,你可以去wine和mono的網站看看。
應該有不少這方面的資料的

Ⅳ 如何在Linux下來調用用dll庫

微軟表示:我們的編譯器並沒有考慮生成的機器碼還要能夠讓linux運行……
開個玩笑,這個問題你得先了解編譯原理,windows下的庫有兩種,一種是native code,這種就別想了,它之所以能夠在windows上運行,當然是因為編譯器把它們編譯成了windows操作系統能夠識別的機器碼組織形式(嚴謹地來說,是鏈接器和載入器的不同,以及各自的系統調用壓根就沒有互映射性,導致了linux不能使用它們);第二種是.net平台編譯出來的類庫,這個是生成了中間語言(IL),跟java一樣,原則上是跨平台的,不過很多年以來,它只是原則上而已,從來就沒跨過。不過現在的好消息是,.net standard已經在包括linux之內的若干操作系統上完成了實現,所以如果你在.net平台上編寫一個完全符合.net standard庫的dll的話,它是可以跑在linux上的(嚴格來說,是某些非常新的linux發行版),這就是大名鼎鼎的.net core,也是微軟目前在軟體開發方向上大力投入的開源社區項目。所以總的來說,微軟還是充分考慮到你的這種應用需求的。如果你確實想完成把windows下的應用程序改到linux下面來運行,.net core是目前最好的選擇(因為還有個叫Mono的哥們也在做同樣的事兒,你同樣可以參考)

Ⅵ PHP在linux下怎麼調用.dll文件有關問題

哈?????
頭一次聽說 windows編譯的dll能在linux下載入
也沒准 據說新版C#可以跨平台 在 烏班圖的圖形界面編譯程序

如果你是想自定義擴展庫的話 需要在編譯時候 加入編譯參數
比如加入 curl擴展(這個最常用吧)
--with-curl[=DIR]

[]是你的擴展庫的路徑

Ⅶ Linux中mscrolib.dll文件從哪裡下載

操作如下:
一、如果在運行某軟體或編譯程序時提示缺少、找不到_mscorlib.dll等類似提示,您可將從腳本之家下載來的_mscorlib.dll拷貝到指定目錄即可(一般是system系統目錄或放到軟體同級目錄裡面),或者重新添加文件引用。
二、您從我們網站下載下來文件之後,先將其解壓(一般都是rar壓縮包), 然後根據您系統的情況選擇X86/X64,X86為32位電腦,X64為64位電腦。默認都是支持32位系統的, 如果您不知道是X86還是X64,您可以看這篇文章。
三、根據軟體情況選擇文件版本。此步驟比較復雜
如果是Windows的dll文件
版本號以5.0開頭的或含有 nt 一般是windows2000的文件。
版本號以5.1開頭的或含有 xp、xpsp1、xpsp2、xpsp3 信息的一般是windowsXP的文件。
版本號以6.0開頭的或含有 longhorn、vista 信息的一般是windowsVista的文件。
版本號以6.1開頭的或含有 win7 信息的一般是windows7的文件。
版本號以6.2開頭的或含有 win8 信息的一般是windows8的文件。
版本號以6.3開頭的或含有 win8.1 信息的一般是windows8.1的文件。
版本號以10.0開頭的或含有 win10 信息的一般是windows10的文件。
如果不是windows的dll文件,則需要靈活查看版本號、描述、網友提供的信息、以及相關dll的版本號去判斷。
四、直接拷貝該文件到系統目錄里:
1、Windows 95/98/Me系統,將_mscorlib.dll復制到C:WindowsSystem目錄下。
2、Windows NT/2000系統,將_mscorlib.dll復制到C:WINNTSystem32目錄下。
3、Windows XP/WIN7/win10系統(64位系統對應64位dll文件,32位系統對應32位dll文件),將_mscorlib.dll復制到C:WindowsSystem32目錄下。
4、如果您的系統是64位的請將32位的dll文件復制到C:WindowsSysWOW64目錄,具體的方法可以參考這篇文章:win7 64位旗艦版系統運行regsvr32.exe提示版本不兼容
五、打開"開始-運行-輸入regsvr32_mscorlib.dll",回車即可解決。

Ⅷ 是否有辦法在LINUX上引用windows的DLL,LIB庫文件

如果該lib沒有使用Windows API,應該是可以直接用的。DLL沒辦法。

Ⅸ linux中如何調用windows dll

這個肯定是不行的,dll文件是windows的動態鏈接庫文件

Ⅹ Linux操作系統下可以用jacob嗎,那個jacob.dll怎麼處理

不可以,jacob 是在 win32 下用 Java 來操作 COM 組件的,在 Linux 下 COM 不可用。