elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:40  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Usar dll de C++ en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Usar dll de C++ en C#  (Leído 879 veces)
arenoide

Desconectado Desconectado

Mensajes: 150



Ver Perfil
Usar dll de C++ en C#
« en: 22 Octubre 2011, 13:39 »

Hola,

Mi aplicación principal la estoy haciendo en C#, pero he encontrado una función que me vendría muy bien. El tema es que está compilado en C++. He estado googleando un poco y he encontrado que para incluir una DLL en C# puedo aprovecharme de .NET Framework y con DLLimport usar las funciones de la DLL. La cosa está en que aunque tengo también el código C++ que genera la librería DLL, soy incapaz de saber cuales son las funciones de entrada de la DLL y demás.
Podría alguien explicarme cómo encontrar las funciones de una DLL en el código o pasarme algún link. Es que claro, al usar el Dllimport, ya no sirve poner el "." y que te salgan las funciones disponibles...

En el código C++ hay un proyecto de ejemplo, pero usa directamente los .h y demás, aunque cuando lo genero al final solo obtengo un .exe muy chico que no funciona si no pones la .dll al lado. Estoy un poco perdido, la verdad.

Gracias de antemano.

Edito:

Entre otras cosas el programa test en C++ tiene esto:

Código
#include "..\Calculator.h"
.
.
.
 
Calculator calc;
 
calc.Calculate(chars1,chars2, chars3, Trials, result);
 

Tras lo cual, la variable que a mí me interesa es la variable result. He usado el programa dll export viewer para detectar las funciones que tiene la dll y, entre otras me ha sacado estas:

const Calculator::`vftable'
public: __thiscall Calculator::Calculator(class Calculator const &)
public: __thiscall Calculator::Calculator(void)
public: class Calculator & __thiscallCalculator::operator=(class Calculator const &)
public: int __thiscall Calculator::Calculate(char const *,char const *,char const *,__int64,double *)
public: virtual __thiscall Calculator::~Calculator(void)

Entiendo que con eso y el Dllimport se puede recrear lo mismo, pero no sé cómo. Alquien me puede echar una mano?



« Última modificación: 23 Octubre 2011, 15:49 por arenoide » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
usar no-ip con conexion wireless para usar p.ivy
Hacking Básico
NeXuS^^ 5 2,932 Último mensaje 25 Diciembre 2008, 12:19
por darkirax
Usar TXT con PHP
PHP
IvanUgu 4 3,192 Último mensaje 2 Octubre 2009, 12:59
por SnakeDrak
usar
Redes
triki7 1 676 Último mensaje 6 Noviembre 2009, 19:39
por Sk9ITk5Z
al usar spoonwpa como hacer para usar dicionario propio?
Wireless en Linux
iuserp562 0 1,386 Último mensaje 3 Enero 2010, 22:18
por iuserp562
Usar DLL de VB6 en C
Programación C/C++
calk9 7 1,111 Último mensaje 4 Septiembre 2011, 22:32
por calk9
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines