PDA

View Full Version : استفاده از هدر سی ++ در سی شارپ



sataho
شنبه 05 تیر 1389, 21:49 عصر
سلام
من یه سری کلاس و تابع و .... توی سی پلاس پلاس نوشتم . حالا میخوام ازشون توی سی شارپ استفاده کنم . چطور باید این کار رو انجام بدم ؟
:متفکر:

sia_2007
شنبه 05 تیر 1389, 22:32 عصر
میتونی ازشون DLL بسازی ؟
در اون صورت میتونی Invoke شون کنی

sataho
شنبه 05 تیر 1389, 22:40 عصر
آره می تونم dll بسازم .
حالا باید چیکار کنم ؟

r00tkit
شنبه 05 تیر 1389, 23:35 عصر
سلام
راه اول توابع رو export کن بعد p/invoke

را دوم از manage c++ استفاده کن

sataho
شنبه 05 تیر 1389, 23:37 عصر
چه جوری توابع را export کنم ؟
میشه یه مثال بزنین ؟

r00tkit
شنبه 05 تیر 1389, 23:40 عصر
#include <stdio.h>

extern "C"
{
__declspec(dllexport) void DisplayHelloFromDLL()
{
printf ("Hello from DLL !\n");
}
}




using System;
using System.Runtime.InteropServices;

class HelloWorld
{

[DllImport("TestLib.dll")]
public static extern void DisplayHelloFromDLL ();

static void Main ()
{
Console.WriteLine ("This is C# program");
DisplayHelloFromDLL ();

}

}

sataho
شنبه 05 تیر 1389, 23:53 عصر
خیلی ممنون:لبخند:
یه سوال دیگه :
اونوقت فایل dll را دقیقا کجا باید کپی کنم ؟

r00tkit
شنبه 05 تیر 1389, 23:59 عصر
مسیر برنامه

sataho
یک شنبه 06 تیر 1389, 13:38 عصر
سلام
من یه مشکل دیگه هم برام پیش اومد !
برای کلاس ها نمی تونم این کار رو انجام بدم ! میشه یه مثال ساده هم برای کلاسهاش بزارین ؟

r00tkit
یک شنبه 06 تیر 1389, 21:33 عصر
گوگل ایز یور فرند

http://msdn.microsoft.com/en-us/library/aa278950%28VS.60%29.aspx

http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx