View Full Version : استفاده از هدر سی ++ در سی شارپ
sataho
شنبه 05 تیر 1389, 22:49 عصر
سلام
من یه سری کلاس و تابع و .... توی سی پلاس پلاس نوشتم . حالا میخوام ازشون توی سی شارپ استفاده کنم . چطور باید این کار رو انجام بدم ؟
:متفکر:
sia_2007
شنبه 05 تیر 1389, 23:32 عصر
میتونی ازشون DLL بسازی ؟
در اون صورت میتونی Invoke شون کنی
sataho
شنبه 05 تیر 1389, 23:40 عصر
آره می تونم dll بسازم .
حالا باید چیکار کنم ؟
r00tkit
یک شنبه 06 تیر 1389, 00:35 صبح
سلام
راه اول توابع رو export کن بعد p/invoke
را دوم از manage c++ استفاده کن
sataho
یک شنبه 06 تیر 1389, 00:37 صبح
چه جوری توابع را export کنم ؟
میشه یه مثال بزنین ؟
r00tkit
یک شنبه 06 تیر 1389, 00: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
یک شنبه 06 تیر 1389, 00:53 صبح
خیلی ممنون:لبخند:
یه سوال دیگه :
اونوقت فایل dll را دقیقا کجا باید کپی کنم ؟
r00tkit
یک شنبه 06 تیر 1389, 00:59 صبح
مسیر برنامه
sataho
یک شنبه 06 تیر 1389, 14:38 عصر
سلام
من یه مشکل دیگه هم برام پیش اومد !
برای کلاس ها نمی تونم این کار رو انجام بدم ! میشه یه مثال ساده هم برای کلاسهاش بزارین ؟
r00tkit
یک شنبه 06 تیر 1389, 22:33 عصر
گوگل ایز یور فرند
http://msdn.microsoft.com/en-us/library/aa278950%28VS.60%29.aspx
http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.