導航:首頁 > 源碼編譯 > matlab文件編譯成dll

matlab文件編譯成dll

發布時間:2023-09-11 17:26:22

① Matlab 2017b編譯生成exe或DLL文件後無法運行的問題及其解決方法

問題原因

出現此問題是由於Windows 的system32目錄下兩個DLL文件版本太低,這兩個文件是SSLEAY32.DLL和LIBEAY32.DLL。

這兩個文件在MATLAB安裝目錄的\bin\win64目錄下也有,\bin\win64這個目錄是在添加到了系統的PATH變數里了的。但是Matlab編譯後的exe程序在運行時,system32目錄有高的優先順序,會使用system32目錄下的這兩個文件,導致初始化錯誤,直接閃退。

解決方法

知道了此原因,有兩種解決方法:

(1)將Matlab的安裝目錄 \bin\win64下的SSLEAY32.DLL和LIBEAY32.DLL復制到windows的system32目錄下,覆蓋舊版本的文件。但是這樣可能導致使用這兩個DLL文件的其他程序出現問題。

(2)將Matlab的安裝目錄 \bin\win64下的SSLEAY32.DLL和LIBEAY32.DLL文件復制到自己編譯後的exe同目錄下,這樣exe文件在運行時就是找自己目錄下的這兩個DLL文件,而不會使用windows\system32目錄下的DLL文件。

---------------------

原文:https://blog.csdn.net/hongandyi/article/details/79427078

② 在MATLAB中用C語言編寫S函數時,怎麼生成動態鏈接庫(DLL)文件

在編寫好S函數的實現代碼*.c文件後,還需要在Matlab的命令輸出窗口中進行命令行輸入,完成對源代碼的編譯,這樣才能被S函數模塊所調用。在命令窗口中輸入命令:
「mex

-g

RandomTimeDelay.c」
M文件S-函數在MATLAB環境下可以通過解釋器直接執行,而C文件或其它語言編寫的C-函數,則需要先編譯成可以在MATLAB內運行的二進制代碼:動態連接庫或靜態連接庫,然後才可以使用,這些經過編譯的二進制文件就稱作MEX文件。用MEX命令來對*.c文件進行編譯,然後會在相應的目錄下生成對應的*.mexw32文件。然後就可以在simulink模塊中引用這個s函數了。

閱讀全文

與matlab文件編譯成dll相關的資料

熱點內容
web應用安全pdf 瀏覽:47
linuxintel網卡驅動下載 瀏覽:217
資源解壓後怎麼刪除 瀏覽:868
編程之美15種演算法 瀏覽:147
java的圖形用戶界面設計 瀏覽:769
算數游戲源碼 瀏覽:999
壓縮機工作聲音判斷 瀏覽:985
事業單位程序員 瀏覽:506
易語言取相似顏色源碼 瀏覽:773
pyodbclinux 瀏覽:585
vivo為什麼把伺服器沉到深海 瀏覽:460
程序員能為電商做什麼 瀏覽:401
騰訊直充qq號加密碼 瀏覽:140
qt搭建msvc編譯器環境 瀏覽:338
單片機晶振壞了會不會工作不穩定 瀏覽:770
天天影迷APP顯示連接伺服器失敗怎麼回事 瀏覽:961
鋼鐵命令同盟第七關怎麼過 瀏覽:7
android底部控制項彈出 瀏覽:43
為程序員而自豪 瀏覽:583
可以進行c語言編譯的文件名 瀏覽:384