bonjour,
je voudrai importer un string à partir de ma dll mais je ne vois pas trop comment faire.
voici mon code:
programme:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| typedef void (*LibFunc)(int value);
int main()
{
HMODULE mHandle;
mHandle = LoadLibrary(LIB_PATH);
if( !mHandle )
{
cout << "Impossible de trouver le plugin." << endl;
return -1;
}
int *value = (int*)GetProcAddress(mHandle, "value");
if( value != 0 )
{
cout << "(Base) Value == " << *value << endl;
}
else
{
cout << "(Base) Impossible de récupérer la valeur" << endl;
return -1;
}
cout << "(Base) Appel de la fonction sur le plugin." << endl;
LibFunc lib_func;
lib_func = (LibFunc)GetProcAddress(mHandle, "lib_func");
if(!lib_func)
{
cout << "(Base) Impossible de récupérer la fonction" << endl;
return -1;
}
lib_func(*value);
string *title;
title = (string*)GetProcAddress(mHandle, "title");
cout << "(Base) Le titre est : " << *title << endl;
return 0;
} |
voici ma lib:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| using namespace std;
extern "C"
{
int DL_EXPORT value=10;
void DL_EXPORT lib_func(int val)
{
cout << "valeur = " << val << endl;
}
string DL_EXPORT title = "plugintitle";
} |
mon log crash des qu'il arrive a
cout << "(Base) Le titre est : " << *title << endl;
merci d'avance !
Partager