ایجاد DLL، ساده ترین مثال – سایر – 7 ژوئیه 2023
سلام! ابتدا برای این کار به استودیو ویژوال نیاز دارید. آن را نصب کنید، آن را راه اندازی کنید. زبان برنامه نویسی را انتخاب کنید سیستم عامل را انتخاب کنید کتابخانه را انتخاب کنید کتابخانه پیوند پویا را انتخاب کنید، ظاهر می شود روی Next کلیک کنید اسمش را بگذار روی ایجاد کلیک کنید منتظر
سلام!
ابتدا برای این کار به استودیو ویژوال نیاز دارید.
آن را نصب کنید، آن را راه اندازی کنید.
- زبان برنامه نویسی را انتخاب کنید
- سیستم عامل را انتخاب کنید
- کتابخانه را انتخاب کنید
- کتابخانه پیوند پویا را انتخاب کنید، ظاهر می شود
روی Next کلیک کنید
اسمش را بگذار
روی ایجاد کلیک کنید
منتظر بمانید تا کامپیوتر کند پروژه را ایجاد کند
این اولین چیزی است که ممکن است ببینید، کاوشگر می تواند در سمت راست تنظیمات شما باشد.
با نمای dllMain.cpp باز می شود:
حالا اگر باتجربهتر هستید، من را تصحیح کنید، اما هر فایل cpp. (چون ما c++ را انتخاب کردهایم) در داخل پروژه میتواند قابل دسترسی باشد.
در DLL
برای این یکی بیایید همه چیز را در یک فایل بسته بندی کنیم زیرا در برنامه نویسی مشکل داریم. 😊
بنابراین بیایید یک فایل cpp جدید به نام “mySimpleDLL.cpp” ایجاد کنیم، می توانید نام آن را هر چه می خواهید بگذارید، نگران نباشید.
- در solutions explorerTab روی نام پروژه کلیک راست کنید
- به آیتم منو “افزودن” بروید
- به آیتم منو “مورد جدید” بروید
- از پنجره بازشو “فایل C++” را انتخاب کنید، اگر نتوانستید آن را ببینید، روی “نمای تفصیلی” پایین سمت چپ کلیک کنید.
- فایل خود را نام ببرید
- “افزودن” را بزنید
موارد زیر را در بالای فایل cpp جدید خود اضافه کنید:
- نام آن را + _EXPORTS بگذارید
- نام آن را +_API بگذارید
آیا این مهم است (قرارداد نامگذاری)؟ نمیدونم یکی باتجربه تر توضیح بده
این هم فرم کد:
#pragma once #include "pch.h" #include <utility> #include <limits.h> #ifdef MYSIMPLEDLL_EXPORTS #define MYSIMPLEDLL_API __declspec(dllexport) #else #define MYSIMPLEDLL_API __declspec(dllimport) #endif
عالی، حالا بیایید یک تابع را در معرض نمایش بگذاریم!
- خارجی “C”
- نام api همانطور که تعریف شده است
- نوع بازگشت
- نام تابع
- پارامترهای تابع
در کد، a+b ساده در بازگشت:
extern "C" MYSIMPLEDLL_API int hard_math(int a, int b) { return(a+b); }
عالی است، اما آیا کار می کند؟
در برگه کامپایل در هدر:
- روی «اشکالزدایی» کلیک کنید (اگر میگوید انتشار این مرحله را رد کنید)
- “آزادی” را انتخاب کنید
منتظر بمانید تا کامپیوتر سریع شما آماده شود
در کنار آن
- اگر DLL برای MT4 است، x86 را انتخاب کنید
- اگر DLL برای MT5 است، x64 را انتخاب کنید
- روی “ساخت” در منوی بالا کلیک کنید
- روی “ساخت راه حل” کلیک کنید
اگر با موفقیت کامپایل شود، این را در کنسول خواهید دید
حالا خوب، بیایید فایل (dll) را پیدا کنیم
- در زیر solution explorer روی نام پروژه کلیک راست کنید
- “باز کردن پوشه در فایل اکسپلورر” را انتخاب کنید
کاوشگر فایل شما را به پوشه ای به شکل زیر می فرستد:
یک سطح به بالا بروید، باید در پوشه ای باشید که با نشانگر صورتی مشخص شده است
- در پوشه “Release” حرکت کنید
- فایل dll شما برای x86 (32 بیت) موجود است
آن را کپی کرده و به پوشه مشاور متخصص خود منتقل کنید تا آن را آزمایش کنید.
برای اولین آزمایش یک پوشه در متخصصان به نام mySimpleDLL ایجاد کنید و dll mySimpleDLL.dll را در آن پوشه قرار دهید.
یک فایل test1.mq4 در ویرایشگر ایجاد کنید، باید شبیه به این باشد
در test1.mq4 این را به هدر اضافه می کنیم تا تابع را از dll وارد کنیم:
#import "mySimpleDLL.dll" int hard_math(int a,int b); #import
ببینیم کار نمیکنه
این کد منبع است:
#property version "1.00" #property strict #import "mySimpleDLL.dll" int hard_math(int a,int b); #import int OnInit() { int result=hard_math(3,5); Print("DLL says "+IntegerToString(result)); return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { } void OnTick() { }
آن را کامپایل کنید و هنگام پیوست کردن به نمودار مطمئن شوید که در EA بررسی شده است:
همچنین :
- به Tools بروید
- به گزینه ها بروید
- به مشاوران متخصص مراجعه کنید
- اطمینان حاصل کنید که مجوز واردات dll بررسی شده است
همین است، وقت آن است که آن را امتحان کنید.
انجام می دهد . عالی
آموزش مجازی مدیریت عالی حرفه ای کسب و کار Post DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت عالی و حرفه ای کسب و کار DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت کسب و کار MBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه |
مدیریت حرفه ای کافی شاپ | حقوقدان خبره | سرآشپز حرفه ای |
آموزش مجازی تعمیرات موبایل | آموزش مجازی ICDL مهارت های رایانه کار درجه یک و دو | آموزش مجازی کارشناس معاملات املاک_ مشاور املاک |
- نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد.
- نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
- نظراتی که به غیر از زبان فارسی یا غیر مرتبط با خبر باشد منتشر نخواهد شد.
ارسال نظر شما
مجموع نظرات : 0 در انتظار بررسی : 0 انتشار یافته : ۰