C sharp - Crear una DLL y llamarla en otro lenguaje

 
Vista:
sin imagen de perfil
Val: 168
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Crear una DLL y llamarla en otro lenguaje

Publicado por Meta (122 intervenciones) el 25/07/2018 11:10:16
Hola:

Quiero hacer esto desce cero con Visual studio Community 2017. Creo una dll en Win32 C++. En él solo hay dos cosas, una fórmula matemática y un mensaje. Por ejemplo.

Fórmula matemática:

2 + 3

Mensaje:

Hola. Soy una DLL Win32.

Una vez creada una dll en C++ Win32 con lo indicado arriba, quiero ahora crear otro proyecto con Windows Form hecho bajo el lenguaje C#. En el formulario tiene incluido un label1 para mostrar el mensaje y otro label2 para mostrar el resultado de la suma.

Cualquier cosa que se entienda, lo repito de otra manera. Lo hice así tan sencillo para aprender de una vez y rápido como hacerlo.

Muchas gracias por su tiempo. ;)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear una DLL y llamarla en otro lenguaje

Publicado por miguel (5 intervenciones) el 03/08/2018 18:03:43
Primero asegurate que tus metodos sean publicos, suena tonta esta verificacion pero no esta por
demas.

Segundo si tu libreria es 32 bits tu aplicacion en c# tambien debe estar en 32 bits,

ahora solo es cuestion de que agregues la dll en la carga de tu clase principal
continuando con tu ejericio esto podria ser


//Nota es pseudo codigo no recuerdo bien todos los comandos

class Program
{
// la ruta de la dll puede variar dependiendo de su carpeta
[DllImport("SoyDll32.dll", EntryPoint = "?Suma@@YAXXZ")]
public static extern int Suma(int X, int Y);
public static void Main(string[] args)
{

string resultadoSuma= Suma(3,2).ToString();

console.writeLine("sumando enteros [2, 3] mediante una libreria en c++")
console.writeLine(resultadoSuma)
console.Read();
}
}

// como puedes ver solo es cosa que estudies el commando DllImport


saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar