導航:首頁 > 數據分析 > 如何讓mcr修改數據

如何讓mcr修改數據

發布時間:2023-08-08 21:38:39

A. mcr 是什麼文件格式

.mcr是minecraft的游戲文件,主要記錄游戲里區塊的數據。如:r.-3.-2.mcr這個文件記錄的就是坐標X='-3',Z='-2'里區塊的類型。一般在路徑為"C:\MCLDownload\Game\.minecraft\saves\MCGame-722e23d7-2c7b-4a7e-888f-a12684cb273f\region"里。

B. 如何將MATLAB程序編譯成獨立可執行的程序

一、生成獨立可執行的程序(exe文件)步驟

1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2003實現。

2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。

3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc
-mfilaname;

4、安裝<matlab
path>\toolbox\compiler\deploy\win32目錄下的MCRInstaller。

二、脫離matlab運行可執行程序
MCR是由matlab的運行環境,佔用不到300M的對於用不同matlab版本生成的exe文件,MCR版本也會有不同,因此,在程序打包時,最好將相應版本的MCR一起打包。MCR環境的設置文件存放目錄如下:

<matlab path>
\toolbox\compiler\deploy\win32
文件名為MCRInstaller.exe。可將其拷貝到自己的文件夾中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里運行可執行程序的辦法是在前面加一個!,比如:!picshow,後綴名可有可無。
在其它沒有安裝matlab的機器上運行exe文件前:
首先安裝matlab的運行環境。在同一機器上可以並存不同版本的matlab環境(換句話說不同版本不兼容)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
問題:目前此方法可完全運行在沒有安裝MATLAB以及C/C++的電腦上,但是如果是在AMD的CPU可以運行,但是不會出現任何MATLAB編譯的界面。
美中不足就是,運行的時候dos的那個黑色地窗口一直存在。下面將實現去除黑屏的辦法:

消除運行MATLAB生成的exe程序的dos黑屏的辦法
基於MATLAB生成exe文件後,每次運行都存在dos黑屏的問題,現在可以通過以下方法解決:
方法一: 在命令窗口輸入:
cd(prefdir)
edit compopts.bat
在打開的文件最後添加以下語句:

A.VC環境下:

set
LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup

B.LCC環境下:
set LINKFLAGS=%LINKFLAGS%
-subsystemwindows

C. Borland:

set LINKFLAGS=%LINKFLAGS% -aa

保存以後,再重新編譯m文件,生成的exe文件運行起來就沒有dos窗口了

方法二:使用suppress工具
下載附件中的suppress壓縮包後解壓,(當然您可以自己去Google然後再下載)會看到一個suppress.ini文件,用記事本打開,然後將
其中「Name=test.exe」中text.exe的改為你生成的exe文件名。將suppress.exe(有個關盤和顯示器的圖標),改後的
suppress.ini放到你生成的exe的同目錄下。執行suppress.exe或者您自己生成的exe可以了。當然您可以自己修改
suppress.exe的名字,改為您自己想要的名字。

其中的方法一在使用後生成的exe再到沒有任何安裝MATLAB的機子上運行也不會有黑屏了。
方法二的缺點就是要同時存在您生成的exe以及supress.exe,必須在同一目錄下。

C. MATLAB Compiler Runtime怎麼用

使用MATLAB Compiler

(一)准備

什麼是MATLAB Compiler?MATLAB Compiler能夠將你的matlab程序轉換為自包含(self-contained)的應用程序和組件,這樣你就可以將程序發放給你的終端用戶,而且終端用戶無需安裝matlab就可以運行這些程序。MATLAB Compiler能夠生成的應用或者組件包括下面這幾類:

1、獨立的應用程序
2、C和C++共享庫(動態鏈接庫,在Windows平台上是DLL,在Linux平台下是.so文件)
3、Excel插件
4、COM和.NET對象

本文中我們只看matlab是如何生成獨立的應用程序的。其他組件生成方式可以參考matlab的幫助文檔。注意:在你使用MATLAB Compiler和閱讀相關說明文檔之前,要求你一定要已經安裝了MATLAB Compiler,也就是安裝的時候必須要選中MATLAB Compiler復選框。在我使用的matlab 2005a上,安裝的是MATLAB Compiler version 4。

假定你已經安裝好了MATLAB Compiler。下面我們看一下與MATLAB Compiler相關的兩個重要概念MCR和CTF。

MCR的全稱是MATLAB Component Runtime,它是一組獨立的共享庫,通過它能夠執行在MATLAB中編寫的M文件。MCR支持MATLAB語言的所有功能。

CTF的全稱是Component Technology File,這是一種歸檔技術,通過它,MATLAB將可部署文件包裝起來。需要注意的是,位於CTF歸檔文件中的所有M文件都採用了AES(Advanced Encryption Standard)進行加密,AES的對成密鑰則通過1024位的RSA密鑰保護。除此之外,CTF還對歸檔文件進行了壓縮。顯然,通過這種方式,可以只將可知行的應用程序或者組件發布給終端用戶,而保證源代碼不被泄漏。

MATLAB Compiler的構建過程分為下面五步:
1、分析依賴關系
2、代碼生成
3、創建歸檔文件(archive)
4、編譯
5、鏈接

事實上,只有前面三步是針對M文件的,第四步和第五步和通常編譯C或者C++程序毫無二致。因此,你可能會想到,這不就能夠混合使用MATLAB和C以及C++了么?是的。MATLAB Compiler可以讓你很簡單很容易地做到這一點,不過這並不是本文要講述的內容。

既然MATLAB Compiler是將M文件中的代碼編譯成C/C++介面,那麼應該使用什麼樣的C/C++編譯器呢?MATLAB Compiler支持的ANSI C和C++編譯器有這樣一些:
1、Lcc C version 2.4.1,這個是MATLAB Compiler自帶的編譯器,也是默認的編譯器,但是它只能支持C代碼;
2、Borland C++ version 5.5,5.6,以及5.5免費版
3、Microsoft Visual C/C++(MSVC)version 6.0和7.1
4、對於UNIX系統,支持的編譯器是gcc和g++

(二)開始

要使用MATLAB Compiler,在MATLAB的command窗口或者DOS命令窗口輸入mcc即可。比如,我們在MATLAB的command窗口下輸入(本文中以加色的字元表示交互信息):

>> mcc

將會出現:

Error: No source files were specified (-? for help).
??? Error executing mcc, return status = 1.

這里的提示表明一定要給mcc指定源代碼文件,也即使已經寫好的M文件。你也可以輸入:

>> mcc -?

或者:

>> help mcc

來獲取mcc的幫助信息。當然,詳盡的幫助文檔應該參考MATLAB Help。

這里以我在上一篇日誌中給出的write_dicom.m文件為例進行說明:
如果要生成獨立的應用程序,那麼只需要在MATLAB的command窗口或者DOS命令窗口輸入:

>> mcc -m write_dicom

即可。如果要生成動態鏈接庫,那麼只需要將選項改為:

>> mcc -l write_dicom

即可。

注意,必須要確保write_dicom.m在MATLAB的當前工作目錄下。否則會出錯。
假設我現在是想生成獨立的應用程序,那麼在執行了:

>> mcc -m write_dicom

之後(在我的機器上這個過程可能需要一分鍾左右,有點慢)。在當前工作目錄下會多出這樣一些文件:

write_dicom_main.c
write_dicom_mcc_component_data.c
write_dicom.ctf
write_dicom.exe

其中,write_dicom_main.c中是包裹函數,write_dicom_mcc_component_data.c中包含了解壓write_dicom.ctf的數據(如密鑰等)。而write_dicom.exe則是我們可以直接運行的應用程序,很遺憾,這里我們只能通過DOS命令窗口對它進行調用,不過這對於我們而言並沒有什麼,不是么?接下來,我們打開DOS命令窗口,切換到MATLAB的工作目錄下面(也就是這里生成出來的幾個文件所在的目錄)。然後在命令行下輸入:

C:\matlab2006\work>write_dicom ya.jpg ya.dcm
Extracting CTF archive. This may take a few seconds, depending on the
size of your application. Please wait...
...CTF archive extraction complete.
C:\matlab2006\work>

可以看到,write_dicom先從write_dicom.ctf抽取出相關的文件,注意到抽取完成之後在當前目錄下會多出一個write_dicom_mcr\文件夾來。在這個文件夾中,不僅包含了原來的程序文件write_dicom.m,還包括了toolbox\下與DICOM讀寫等有關的M文件,但是這些文件都已經被加密了,直接用MATLAB Editor是看不到文件的真正內容的,出來的是一堆毫無意義的亂碼。

上面的程序執行起來同樣比較慢,不過,只要它能正確執行,誰在乎這點時間呢?況且我的機器配置並不好^_^

可以看到,此時,ya.dcm已經生成了,就在C:\matlab2006\work\目錄下,我們同樣可以用CVIEW.exe等等DICOM工具查看圖像或者查看DICOM元數據(metadata)。

閱讀全文

與如何讓mcr修改數據相關的資料

熱點內容
qq空間頭像旁邊有個心 瀏覽:581
rom文件zip格式 瀏覽:41
linux讀取目錄下的文件夾 瀏覽:4
有沒有裸體app軟體 瀏覽:249
哪個app可以看好友距離 瀏覽:75
dbf文件找不到 瀏覽:174
如何搞word文件 瀏覽:393
表格多建立資料庫 瀏覽:430
win10文件圖標修復工具 瀏覽:190
蘋果手機攜程旅遊怎麼領流量 瀏覽:721
bestsonny系統升級 瀏覽:122
限制特定文件類型的是哪個 瀏覽:874
javaexcel導出2007 瀏覽:21
linuxcentos7top詳解 瀏覽:245
win10打開sep文件出錯 瀏覽:8
用編程怎麼做幸運大轉盤 瀏覽:274
編程溫州哪裡有學 瀏覽:305
做貿易app哪個好 瀏覽:38
電腦區域網傳輸文件 瀏覽:746
linuxshell覆蓋文件 瀏覽:725

友情鏈接