[Ayuda] Librería dinámica.

Iniciado por Zodiak98, 14 Noviembre 2015, 13:34 PM

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

Zodiak98

Bueno, iré al grano, me puse a crear una librería dinámica y para ser honesto no sé si estoy haciendo bien la importación/exportación.

Acá el código:

// main.h
Código (cpp) [Seleccionar]

#ifndef __MAIN_H__
#define __MAIN_H__


#ifndef DLL_MATH
   #define DLL_MATH __declspec(dllimport)
#else
   #define DLL_MATH __declspec(dllexport)
#endif

int DLL_MATH suma(int a, int b);
int DLL_MATH resta(int a, int b);
int DLL_MATH multip(int a, int b);

#endif //__MAIN_H__



// main.cpp
Código (cpp) [Seleccionar]

#include "main.h"

int DLL_MATH suma(int a, int b) {
   return (a + b);
}

int DLL_MATH resta(int a, int b) {
   return (a - b);
}

int DLL_MATH multip(int a, int b) {
   return (a*b);
}



Como verán es bastante simple, hasta ridículo. Si cambio el orden, es decir, de esta forma:

//main.h
Código (cpp) [Seleccionar]

#ifndef __MAIN_H__
#define __MAIN_H__


#ifndef DLL_MATH
   #define DLL_MATH __declspec(dllexport)
#else
   #define DLL_MATH __declspec(dllimport)
#endif

int DLL_MATH suma(int a, int b);
int DLL_MATH resta(int a, int b);
int DLL_MATH multip(int a, int b);

#endif //__MAIN_H__



Sí funciona, pero a lo mejor he captado mal de dónde he leído, ¿no se suponía que si la macro no estaba definida se debía importar en la DLL, y una vez definida, exportar hacia el programa con el cual la estemos corriendo? Corregidme acá, por favor. :)

Zodiak98

Oh, ya lo he pillado. No debí precipitarme en publicar esto, mi error. Un moderador por favor cierre el tema. :)