نرم افزارهای VIP در کانال تلگرام آپلود می شود. جهت دسترسی به فایلها، به کانال تلگرامی مراجعه نمایید: EngPedia_ir@

آموزش ساخت فایل EXE در متلب

ساختن فایل application با پسوند.exe از هر برنامه ای، این قابلیت را ایجاد می‌کند بتوان در هر کامپیوتری که حتی آن نرم افزار بر روی آن نصب نباشد، آن برنامه را اجرا کرد.

یکی از راههای مخفی کردن کد از دیگران ساختن فایل کامپایل شده آن به کمک دستور pcode می‌باشد. اما فایل با پسوند.p تنها در متلب اجرا می‌گردد. حال به دنبال روشی بوده که بدون نیاز به متلب بتوان فایل را اجرا نمود. دستورات زیر را در داخل m فایلی به نام test.m نوشته و ذخیره نمائید:

// EngPedia.ir

x=0:0.01:2*pi;

y=sin(x);

disp(x)

plot(x,y)

حال m فایل را ببندید.

به کمک دستور mcc می‌توان فایل.exe مربوط به m فایل را با دستور زیر ایجاد نمود:

mcc –m اسم فایل

دستور mcc دارای قابلیت‌های مختلفی می‌باشد که در اینجا بدان پرداخته نمی‌شود.

>> mcc -m test

با اجرای دستور بالا (اگر برای اولین بار دستور mcc را اجرا می‌کنید) متلب پیغامی به صورت زیر در داخل command window نشان می‌دهد:

MATLAB:I18n:InconsistentLocale - The system locale setting, Farsi_Iran.1256, is

different from the user locale setting, English (United States)_United States.1252.

Select a compiler:

[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2008a\sys\lcc

[0] None

Compiler:

در واقع با این پیغام متلب کامپایلرهای موجود را برای ایجاد فایل exe لیست کرده و منتظر انتخاب compiler توسط کاربر می‌باشد. کامپایلر Lcc-win32 مربوط به خود متلب بوده و مربوط به متلب 32bit می‌باشد. توجه کنید که در متلب 64bit این کامپایلر وجود ندارد. با انتخاب عدد 0 عملیات ساخت فایل exe لغو شده و با انتخاب عدد 1 عملیات ساختن فایل exe آغاز شده و با اتمام آن فایل‌های مختلفی در current directory(Folder) ایجاد می‌گردد که یکی از آن‌ها test.exe می‌باشد:

MATLAB:I18n:InconsistentLocale - The system locale setting, Farsi_Iran.1256, is

different from the user locale setting, English (United States)_United States.1252.

Select a compiler:

[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2008a\sys\lcc

[0] None

Compiler: 1

Trying to update options file: C:\Documents and Settings\ServoMechanism\My

Documents\MATLAB\R2010b\compopts.bat

From template:

C:\PROGRA~1\MATLAB\R2010b\bin\win32\mbuildopts\lcccompp.bat

Done...

چنانچه برای مثال برنامه Visual studio هم در روی کامپیوتر نصب باشد کامپایلر آن هم در لیست کامپایلرها نشان داده می‌شود:

>> mcc -m test

MATLAB:I18n:InconsistentLocale - The system locale setting, Farsi_Iran.1256, is different

from the user locale setting, English (United States)_United States.1252.

Select a compiler:

[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2008a\sys\lcc

[2] Microsoft Visual C++ 2005 in C:\Program Files\Microsoft Visual Studio 8

[0] None

Compiler:

که می‌توانید با کامپایلر مربوط به این نرم افزار فایل exe ساخته شود. توجه کنید از آنجا که در متلب 64 بیتی کامپایلر lcc وجود ندارد باید برنامه ای مانند Visual studio را نصب کرده تا بتوانید از کامپایلر آن جهت ایجاد .exe استفاده کنید.

حال می‌توانید متلب را بسته و به کمک command prompt ویندوز فایل exe را اجرا نمائید. توجه کنید که اگر فایل exe دارای دستورات گرافیکی باشد (مانند دستور plot) و بخواهید این فایل را در کامپیوتری که متلب بر روی آن نصب نمی‌باشد اجرا کنید، نیاز است که ابتدا در آن کامپیوتر کامپایلرهای مورد نیاز متلب برای اجرای فایل exe نصب شوند.

در کامپیوتر خود به مسیر نصب نرم افزار متلب و فولدرهای اشاره شده در آدرس زیر مراجعه کنید( به جای درایو E داخل درایوی که نرم افزار متلب را نصب کرده‌اید این آدرس را جستجو کنید).

E:\Program Files\MATLAB\R2010b\toolbox\compiler\deploy\win32\MCRInstaller.exe

در این مسیر فایلی به نام MCRInstaller وجود دارد که باید در کامپیوتری که در آن متلب نصب نمی‌باشد قبل از اجرای برنامه exe ابتدا این فایل نصب شود.

پس چنانچه بخواهید فایل exe را اگر دارای دستورات گرافیکی می‌باشد در کامپیوتری که در آن متلب نصب نمی‌باشد اجرا نمائید فایل MCRInstaller را به آن کامپیوتر منتقل کرده و در آن جا نصب نمائید، سپس اقدام به اجرای برنامه exe کنید.

انتخاب کامپایلرها تنها در اولین بار که از دستور mcc استفاده می‌شود پرسیده خواهد شد و در دستورات بعدی که احیاناً از mcc استفاده می‌کنید ممکن است انتخاب کامپایلر پرسیده نشود و با همان گزینه اولیه انتخابی، اقدام به ساختن فایل exe می‌نمایید.

برای مثالی دیگر دستورات زیر را در m فایلی به نام test.m نوشته و exe آن را ایجاد نمایید.

x=input('Enter Vector: ');

disp(['your Vector is: ' num2str(x)])

با اجرای فایل test.exe در داخل command prompt برنامه اجرا می‌شود که خروجی در شکل زیر آمده است.

مطالب مرتبط

دیدگاهتان را بنویسید

بخش های مورد نیاز علامت گذاری شده اند نشانی ایمیل منتشر نخواهد شد

نویسنده : آدرس سایت : ایمیل :

تعداد 11 دیدگاه برای نوشته " آموزش ساخت فایل EXE در متلب" ارسال شده است .

  1. مینو گفت:

    واقعا عالی بود. ممنون. 🙂

  2. قاسم گفت:

    مهندس خیلی زیبا بود.حال کردم.ممدانی رو تست کردم خوشکل جواب داد.سپاس.من قبلا dll ساخته میساختم بعد میبردم #C اجرا میکردم.ولی الان مستقیم جواب داد.

    • مدیریت گفت:

      خواهش میکنم.
      دوست دارین، نحوه dll ساختن رو تو سی شارپ رو برامون ارسال کنید.
      به اسم خودتون تو یه پست جدید ارسال کنیم.
      موفق باشید.

  3. نوید گفت:

    باعرض سلام و خسته باشید.
    سوالی داشتم که اگر پاسخ دهید، بسیار ممنون می شوم.
    اگر برای اجرای M-file یا function-file هم زمان به چندین فایل دیگر با فرمت های مختلف مانند (اکسل، تکس و…) نیاز باشد، چگونه می شود آن M-file یا function-file را به صورت GUI در آورد و آیا می شود بعد از تبدیل کدها به GUI در متلب، آن را هک کرد و دوبار به کدها دسترسی داشت؟ همچنین متلب من 2014 است، چگونه در متلب ورژن 2014 به بالا، می توان M-فایل را GUI تبدیل کرد؟ آیا آموزش قدم به قدم برای GUI کردن کد در متلب وجود دارد؟
    ضمنا سایتتون واقعا بی نظیره.

    ا

    • مدیریت گفت:

      سلام
      بله
      میشه همه را در GUI قرار داد و کاری کرد که نشه با هک کردن کد را استخراج نمود
      آموزشی در این زمینه وجود ندارد
      باید تخصصی برنامه نویسی کار کنین تا خودتون به این مرحله برسین

  4. نوید گفت:

    مرسی از پاسخ شما. من به صورت حرفه ای با MATLAB کار کرده ام و یک سری آموزش نسبتا کامل در مورد ساخت GUI در متلب پیدا کردم. اگر یادش گرفتم، ان شالله آموزششو برا شما می فرستم که در سایت خوبتون بذاریدش.
    نوید

  5. سعید گفت:

    سلام ممنون از سایت خوبتون
    من یک کد نوشتم که یک سری اطلاعات از کاربر به صورت رابط گرافیکی GUI دریافت میکنه و پردازش می کند یک شکل نمایش می دهد و خروجی های مورد نظر در یک اکسل ریخته و باز می کند.کد نوشته شده همه این کار هارا بی نقص انجام می دهد.
    اما وقتی به صورت EXE در می آرم هر اطلاعات را دریافت کند همان نتایج کد که در اخرین مرحله وارد شده نمایش می دهد !! واقعا چرا ؟؟؟
    ممنون میشم اگر راهنمایی کنید

  6. mojdeee گفت:

    سلام
    میخواستم بدونم روش ایجاد فایل exe در matlab برای زمانی که یک پروژه چندین mfile دارد که در یک script دیگر فراخوانی می شود، چگونه است؟ و آیا زمانی که این فایل exe تولید شد، امکان دسترسی به کدهارا به اشخاص دیگر می دهد؟
    ممنون می شوم پاسخ بدهید

    • مدیریت گفت:

      سلام
      اطلاع دقیقی ندارم ولی بهتر است همه را در یک ام فایل قرار دهید. راحت تر است.
      اگر فقط exe باشه امکان دسترسی به کدها وجود ندارد.


0

شبکه های اجتماعی

دانشنامه تخصصی مهندسی ایران را در شبکه های اجتماعی دنبال کنید

0 0

عضویت در خبرنامه

برای دریافت آخرین اخبار در زمینه مهندسی شامل نرم افزارها، استانداردها و آموزش ها به سامانه اطلاع رسانی ما بپیوندید.

بدون پرداخت هزینه، تا هر وقت بخواهید.

تست

همکاران ما

گروه مپنا
گروه مپنا
دانشگاه تهران
دانشگاه تهران
سایپا
سایپا
ایران خودرو
ایران خودرو
شرکت ملی نفت ایران
شرکت ملی نفت ایران
ذوب‌آهن اصفهان
ذوب‌آهن اصفهان
فولاد خوزستان
فولاد خوزستان
مشاوره

نیاز به مشاوره دارید؟

 
                    همکاران ما پاسخگو شما خواهند بود.