Como utilizar un módulo .obj en C++

Iniciado por TheEnmanuelRmrz, 1 Noviembre 2014, 08:14 AM

0 Miembros y 1 Visitante están viendo este tema.

TheEnmanuelRmrz

Saludos.
Hace tiempo leí por ahí que los archivos que obtienes cuando ensamblas un programa se pueden utilizar como subrutinas en programas C o C++ mi duda es como por ejemplo implementaría una función desde C que esté contenida en un .obj
y si tengo que exportarla o algo así?

Eternal Idol

¿Implementaria o llamaria a una funcion queres decir? Para poder llamarla tenes que declarar la funcion correctamente en ambos lenguajes, tiene que coincidir la convencion de llamada y el decorado. Un ejemplo en VC++ y MASM con stdcall:

Código (asm) [Seleccionar]

...
PUBLIC suma@8
...
suma@8:
  mov eax, dword ptr [esp + 4]
  add eax, dword ptr [esp + 8]
ret 8
...


Código (c++) [Seleccionar]
unsigned int __stdcall suma(unsigned int x, unsigned int y);
...
printf("%d\r\n", suma(5, 25));
...


La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón