تور لحظه آخری
امروز : جمعه ، 25 آبان 1403    احادیث و روایات:  پیامبر اکرم (ص):بهترين سخن، كتاب خدا و بهترين روش، روش پيامبر صلى‏لله‏ عليه ‏و ‏آله و بدترين ام...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

 






آمار وبسایت

 تعداد کل بازدیدها : 1829594425




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

چگونه نوع مقدار بازگشتي تابع رو stdcall قرار بدم؟ -


واضح آرشیو وب فارسی:سایت ریسک: چگونه نوع مقدار بازگشتي تابع رو stdcall قرار بدم؟ roebuck 11 فروردين 1390, 11:23سلام و خسته نباشيد سال نو مبارك.. من با c# يك class library براي ساخت dll ساختم . حالا ميخوام نوع مقدار بازگشتي تابع رو stdcall قرار بدم.. چطور بايد اينكار رو انجام بدم؟ __stdcall‌ رو بايد بعد از نوع تابع بنويسم؟ از چه Using اي بايد استفاده كنم؟ ممنون ميشم سريعتر راهنماييم كنيد MDP 11 فروردين 1390, 20:14این نوعی که میگید چی هست؟ اگر نوع خاصیه یک کلاس با این اسم بسازید و نوع خروجی رو از اون تعیین کنید ! the_king 12 فروردين 1390, 13:59سلام و خسته نباشيد سال نو مبارك.. من با c# يك class library براي ساخت dll ساختم . حالا ميخوام نوع مقدار بازگشتي تابع رو stdcall قرار بدم.. چطور بايد اينكار رو انجام بدم؟ __stdcall‌ رو بايد بعد از نوع تابع بنويسم؟ از چه Using اي بايد استفاده كنم؟ ممنون ميشم سريعتر راهنماييم كنيد زبان های Net. با ماشین مجازی شان اجرا می شوند، DLL ای که می سازند هم مشابه DLL های معمولی که خروجی شان کد ماشین حقیقی است نیستند و اصولا فقط توسط زبان های Net. قابل استفاده اند. متد های stdcall و cdecl و thiscall برای ارتباط برقرار کردن با توابعی است که از پشته و رجیستر های واقعی پردازنده استفاده می کنند، ماشین مجازی همچین حالتی ندارد. در ماشین حقیقی مجبور بودن که برای ارتباط برقرار کردن با توابع یک متد ابداع کنند، چون تابع از نظر پردازنده حقیقی مفهوم خاصی ندارد. طبیعتا پشته و رجیستر ها هم دم دستی ترین امکاناتی بود که داشتند. اما در ماشین مجازی تابع یک مفهوم از پیش تعریف شده است و برای ارسال کردن پارامتر و دریافت خروجی نیاز به ابداع کردن یک شیوه خاص نیست. به همین جهت درون کد ماشین مجازی شیوه ارسال پارامتر ها و دریافت خروجی از توابع مشخص نمی شود و ارتباطی هم با stdcall و غیره ندارد. اگر می خواهید با #C کتابخانه ای بسازید که مثلا در Visual C++ 6.0 یا Visual Basic 6.0 قابل استفاده باشد، اولا که همچین کاری توصیه نمی شود و در ثانی باید یک Wrapper بسازید که بین دو ساختار مستقلی که توابع در محیط مجازی Net. و محیط حقیقی Native دارند واسطه شود. به این لینک مراجعه کنید، مثال مناسبی است : Exporting .NET DLLs with Visual Studio 2005 to be Consumed by Native Applications () roebuck 16 فروردين 1390, 14:36ممنون از توضيحات دقيق شما. از اين dll ميخوام در نرم افزار ديگه اي استفاده كنم(متاتريدر). كه مثال شما (لينك اي كه فرستاديد) دقيقا به همين منظور هست.اما مثل اينكه يه جايي بايد كدم رو از C# به C++ تبديل كنم كه كمي پيچيده هست برام. roebuck 17 فروردين 1390, 11:32براي تبديل اين كد از C# به C++ مشكل دارم: public string Encrypt(string plainText) { byte[] initVectorBytes = Encoding.ASCII.GetBytes("laksjdhfgmznxsdf"); byte[] saltValueBytes = Encoding.ASCII.GetBytes("pass1"); byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); PasswordDeriveBytes password = new PasswordDeriveBytes( "pass2", saltValueBytes, "SHA 1", 2); byte[] keyBytes = password.GetBytes(256 / 8); RijndaelManaged symmetricKey = new RijndaelManaged(); symmetricKey.Mode = CipherMode.CBC; ICryptoTransform encryptor = symmetricKey.CreateEncryptor( keyBytes, initVectorBytes); MemoryStream memoryStream = new MemoryStream(); CryptoStream cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write); cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length); cryptoStream.FlushFinalBlock(); byte[] cipherTextBytes = memoryStream.ToArray(); memoryStream.Close(); cryptoStream.Close(); string cipherText = Convert.ToBase64String(cipherTextBytes); return cipherText; } با converter (دانلود كردم) كه تبديل ميكنم كلي خطا داره. ممكنه راهنماييم كنيد؟ roebuck 30 فروردين 1390, 11:19اين خط كد كه به زبان c# هست را ميتونيد به c++‌تبديل كنيد؟ byte[] initVectorBytes = Encoding.ASCII.GetBytes("laksjdhfgmznxbcv"); سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 417]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن