#include <windows.h>
#include <stdio.h>
#pragma warning(disable : 4996)


__declspec(dllexport) int bonjour(int a)
{
  return 42;
}

__declspec(dllexport) int truc(int a)
{
  return a + 10;
}

__declspec(dllexport) int machin(int a)
{
  return -2*a;
}

int main(int argc, char** argv)
{
  char fct_name[20];
  int a,r;
  int (*fct)(int);
  printf("Quel est la fonction ? ");
  scanf("%s",fct_name);
  printf("Quel est l'argument de la fonction ? ");
  scanf("%d",&a);
  fct = (int(*)(int))GetProcAddress(GetModuleHandle(NULL),fct_name);
  r = fct(a);
  printf("Le resultat est : %d\n",r);
  return 0;
}
