Autore Topic: [C++] & [C#] : creare una dll in C++ e utilizzarla in un prg  (Letto 1907 volte)

Offline MazinKaesar

  • ASM Lover
  • *****
  • Post: 412
  • Karma: +3/-0
  • Super Robot Pilot
    • Mostra profilo
Volevo provare a creare una dll in C++ e utilizarla "dentro" un programma C#.

Se la dll contine solo delle funzioni non è difficile, per esempio ho scritto questa semplice dll:

Codice: [Seleziona]
#include <stdio.h>

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

e richiamarla dentro un programma C# è facile:

Codice: [Seleziona]
using System;
using System.Runtime.InteropServices;     // DLL support

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

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

questo programma (una console application) semplicemente stampa "Hello from DLL !" sulla console.

Se però la dll C contiene anche per esempio una definizione di una struttra, la posso "esportare" ed usare nel programma C# o la dovrei "trasformare" in una classe usando StructLayout? Qualcuno conosce qualche esempio?
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »






Tags: