PDA

View Full Version : سوال: آیا امکان استفاده از فایلLib. در C#‎ وجود دارد



rose_200354
دوشنبه 28 اسفند 1391, 09:17 صبح
با سلام
من می خواهم از فایلLib. که بزای C++‎ داخل C#‎ فراخوانی کنم ولی بلد نیستم:ناراحت:

RED-C0DE
دوشنبه 28 اسفند 1391, 19:53 عصر
اگه منظورتون استفاده از یک .dll ک در C++ نوشتین/نوشتن باشه :
اگه اون DLL یک اسمبلی .net باشه (تحت .net‌ کامپایلش کرده باشید/باشند و Managed‌ باشه) یا COM باشه، می تونید مثل یک dll معمولی بهش Reference بدین و ازش استفاده کنید..
اما اگه غیر از این باشه، می تونید بصورت P/Invoke ازش (از توابع و اعضایی ک بصورت public static extern تعریف شدن) استفاده کنید

rose_200354
سه شنبه 29 اسفند 1391, 05:21 صبح
دستگاه آلتراسوند داریم که میشه پروگرام کرد.و 6 تا کتابخانه داره با هدر فایل (.lib .h) پسوند .lib
من C++‎‎ کم بلدم (winapplication) با C#‎‎ هم نمی تونم باز کنم؟
P/Invoke این میشه یکم بیشتر توضیح بدین؟
این لینک کتابخانه:
http://www.ultrasonix.com/wikisonix/index.php/SDK_Overview

RED-C0DE
سه شنبه 29 اسفند 1391, 09:43 صبح
اگه ساخت DLL دست خودتون نبود مجبور بودین لیست توابع قابل استفادش رو در بیارین. یا از طریق مستندات معمولا، یا در بدترین حالت از طریق ابزارها و برنامه هایی ک اینکارو براتون می کنن ک فعلا بحث اونا نیست چون شما می تونین خودتون برنامه رو هرجوری بخواین تغییر بدین و کامپایل کنید با VisualStudio و در نهایت ی DLL بدست می یارین...
توی اون dll ی سری توابع قراره باشن ک بشه از بیرون بهش دسترسی پیدا کرد...

این توابع signature خاص خودشون رو هم دارن
برای آشنایی :
http://www.dotnetperls.com/dllimport

وقت بذارین و مطالعه کنید در موردش

http://www.codeproject.com/Articles/1392/Using-Unmanaged-code-and-assembler-in-C

این سایت هم یکی از مراجع اعظم! در این زمینه ها است:
http://pinvoke.net/