Tạo file .exe trong Matlab
06/02/2010
Chương trình viết bằng Matlab có thể dịch ra file EXE được, bằng công cụ gọi là Matlab Compiler (có sẵn trong bộ cài Matlab). Xem thêm về lệnh mc. Khi chạy chương trình đã dịch này thì không cần Matlab trong máy, nhưng phải có 1 cái kiểu như Matlab library cài trong máy (chắc cũng tầm hơn chục Mb)
Nếu không thích dịch ra EXE thì có thể tạo ra đối tượng COM từ chương trình Matlab với công cụ Matlab COM Builder. Sau đó có thể dùng nó trong VB, Excel và các công cụ phát triển nhanh (RAD) khác - Không phải lệnh nào, toolbox nào cũng có thể dịch được ra file EXE hay COM - Có thể viết chương trình bằng C/C++ hay Fortran, ADA, và khi cần tính toán phức tạp thì gọi thư viện tính toán của Matlab - Nếu lập trình bằng Java thì có thể từ Java gọi thư viện tính toán của Matlab, thậm chí control cả Matlab/Simulink. Công cụ để làm việc này tôi không nhớ tên chính xác, đại loại kiểu như Matlab Java Link, or something like that (search trên Google chắc sẽ ra ngay). - Có 1 công cụ mà tôi nghĩ khá hay là Easy Java Simulation (http://fem.um.es/Ejs/Ejs_en/index.html). Công cụ này cho phép thiết kế các Visual Simulation trên cơ sở Java, có GUI khá bắt mắt. Một tính năng hay là nó cho phép link với Simulink, do đó mình có thể tạo GUI khá đẹp cho Simulink simulation của mình mà không mất công lập trình M-file. Hồi trước khi phát triển bộ thí nghiệm điều khiển quá trình cho sinh viên ĐKTĐ BK, tôi phải lập trình GUI bằng M-file choSimulink rất vất vả. - Cuối cùng, với những ai thích lập trình Matlab, có 1 blog rất hay là Loren on the Art of Matlab (http://blogs.mathworks.com/loren/?ref=fp) Lâu bận thi cử không vào diễn đàn thường xuyên. Mong các bạn thông cảm. Sau đây mình sẽ giới thiệu cho các bạn cách tạo một chương trình .exe chạy độc lập trên máy tính khác.Mình đã đọc cái này lâu rùi mà lười không viết cho các bạn.
Bước 1: Chọn công cụ biên dịch C: (Bước này chỉ cần thực hiện 1 lần duy nhất ban đầu, nếu muốn chọn công cụ biên dịch khác thì chạy lại bước này)
>> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? y Select a compiler: [1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2007b\sys\lcc [2] Microsoft Visual C++ 2005 in C:\Program Files\Microsoft Visual Studio 8 [0] None Compiler: 1 Please verify your choices: Compiler: Lcc-win32 C 2.4.1 Location: C:\PROGRA~1\MATLAB\R2007b\sys\lcc Are these correct?([y]/n): y Trying to update options file: C:\Documents and Settings\Ngo Hai Bac\Application Data\MathWorks\MATLAB\R2007b\compopts.bat From template: C:\PROGRA~1\MATLAB\R2007b\bin\win32\mbuildopts\lcccompp.bat Done . . . >> Bước 2: Chạy công cụ Development Tool
>> deploytool
Hình 1: Giao diện chương trình Development Tool Các bạn nhìn hướng dẫn ban đầu của nó chắc cũng hiểu phải làm gì rùi đúng k?
Vào File -> new Deployment Tool:
Hình 2: New Development Tool
Có nhiều lựa chọn, tuy nhiên để chạy độc lập các bạn chọn Standardalone Application. Có nhiều loại Project đọc là biết để làm gì rùi như tạo thư viện C, C++,dll, để dùng vào lập trình với các ngôn ngữ khác.
Hình 3: Giao diện chương trình sau khi tạo
Sau đó các bạn vào menu Project -> Add file để thêm file của dự án các bạn vào. Lưu ý: có thể kích phải vào từng loại như Main Function, other files,.. và chọn Add File.
Note: Phải thêm hết các file trong dự án mà bạn muốn dịch vào trong Project vừa tạo.
Bước 3: Dịch chương trình:
Nếu muốn dịch thì các bạn chọn Tools -> Build (Ctr + B) để dịch. Các bạn phải kiên nhẫn chờ với project lớn nhé.
Nếu muốn đóng gói sản phẩn thì chọn Tools-> Package (Ctr + P) để dịch.
Thế là các bạn đã dịch xong rùi đó . Tuy nhiên để chạy dc trên máy khác chưa xong đâu. Các bạn cần phải copy file MCRInstaller.exe của phiên bản Matlab của bạn đang sử dụng cho vào cùng thư mục với file đóng gói vừa tạo ra. Khi mang sang máy khác thì chạy file .exe nó sẽ tự động cài MCR lần đầu. Còn lấn sau k phải cài nữa.
Để biết vị trí của MCRInstaller:
>> mcrinstaller The WIN32 MCR Installer, version 7.7, is: C:\Program Files\MATLAB\R2007b\toolbox\compiler\deploy\win32\MCRInstaller.exe MCR installers for other platforms are located in: C:\Program Files\MATLAB\R2007b\toolbox\compiler\deploy\<ARCH> <ARCH> is the value of COMPUTER('arch') on the target machine. Để biết version của MCR hiện tại gõ:
>> [mcrmajor,mcrminor]=mcrversion mcrmajor = 7 mcrminor = 7 Hiện tại mình đang dùng Matlab R2007b (bản mới nhất )
Mình đã biên dịch và chạy thành công Project RS232 Communication chạy độc lập trên máy không cài Matlab.
Ths. Nguyễn Trọng Dũng (Theo sưu tầm) |