Dynamiczne dołączanie bibliotek DLL

0

Witam,

Szukałem tego w google ale google wyżuc ami tytuły ksoążek nie wazne co bym napisał w 'szukaj'
na forum nic nie znalazłem więc pytam się użytkowników, jak dynamicnzie dołączyć biblioteke DLL do programu. jakby co to używam DEV-C++
Z góry dziękuję za odpowiedź:)

Pozdr.
GM

1

pewnie chodzi ci o funkcje LoadLibrary / GetProcAddress / FreeLibrary

HANDLE asdf;
int (*func)( void );
asdf = LoadLibrary( "asdf.dll" );
func = (int(*)(void)) GetProcAddress( asdf, "funkcja" );
func( );
FreeLibrary( asdf );
0

Witam,

Oto listing mojego programu:

#include <windows.h>
#include <allegro.h>


int kw(int wyk)
{
  int i,wynik=1;
  for(i=0;i<=wyk;i++) wynik*2;

  return wynik;
}
END_OF_FUNCTION(kw);

int nap()
{
  int bajt[8];
  int i,b,wynik=0;

  LPTwrite(0);
  rest(50);
  LPTwrite(2);
  LPTwrite(0);
  LPTwrite(2);
  LPTwrite(0);


  for(b=7;b>=0;b--)
  {
    LPTwrite(2);
    if(LPTread()==255) bajt[b]=1;
    else if(LPTread()==253) bajt[b]=0;
    LPTwrite(0);
  }


  LPTwrite(2);
  LPTwrite(0);
  LPTwrite(3);

  for(i=0;i<8;i++) if(bajt[i]==1) wynik=wynik+kw(i);

  return wynik;
}
END_OF_FUNCTION(nap);


int main()
{
  int pos=0;

  allegro_init();
  set_color_depth(32);
  set_gfx_mode(GFX_AUTODETECT_WINDOWED,340,255,0,0);
  set_window_title("Oscyloskop");
  install_keyboard();
  install_timer();

  HANDLE LPTdll;
  int (*LPTwrite)( int data, int adr );
  int (*LPTread)( int adr );

  LPTdll = LoadLibrary("LPTdll.dll");
  if(LPTdll == NULL)
  {
    allegro_message("Nie można załadować biblioteki DLL!!!");
    return 1;
  }

  LPTwrite = (int(*)(int data, int adr) GetProcAddress( LPTdll, "LPTwrite");
  LPTread = (int(*)(int adr) GetProcAddress( LPTdll, "LPTwread");

  return 0;

  LPTwrite(255);

  while(!key[KEY_ESC])
  {
    line(screen,pos,0,pos,255,makecol(0,0,0));
    putpixel(screen,pos,nap(),makecol(255,255,255));
    pos++;
    if(pos==341) pos=0;
    line(screen,pos,0,pos,255,makecol(200,200,200));
    rest(50);
  }

  FreeLibrary(LPTdll);

  return 0;
}
END_OF_MAIN();

Ale wyskakują przy kompilacji błędy oto one:
user image

Dziękuje z góry za odpowiedź (o ile taka w ogóle będzie... :-/ )

Pozdr.
GM

1 użytkowników online, w tym zalogowanych: 0, gości: 1