Avatar billede MLundager Nybegynder
02. juli 2010 - 19:52 Der er 6 kommentarer og
1 løsning

C++ Dll Function

Hej jeg er ved at lærer hvordan man laver en DLL og jeg har fundet en rigtig god tutorial og han viser en måde man kan importe dll til et program sådan her f.eks.

#include <iostream>
#include <windows.h>

typedef int (*AddFunc)(int,int);
typedef void (*FunctionFunc)();

int main()
{
  AddFunc _AddFunc;
  FunctionFunc _FunctionFunc;
  HINSTANCE hInstLibrary = LoadLibrary("DLL_Tutorial.dll");

  if (hInstLibrary)
  {
      _AddFunc = (AddFunc)GetProcAddress(hInstLibrary, "Add");
      _FunctionFunc = (FunctionFunc)GetProcAddress(hInstLibrary,
        "Function");

      if (_AddFunc)
      {
        std::cout << "23 = 43 = " << _AddFunc(23, 43) << std::endl;
      }
      if (_FunctionFunc)
      {
        _FunctionFunc();
      }

      FreeLibrary(hInstLibrary);
  }
  else
  {
      std::cout << "DLL Failed To Load!" << std::endl;
  }

  std::cin.get();

  return 0;
}

men der er en ting der undrer mig. hvad gør AddFunc _AddFunc;

hvorfor bruger han _ og hvad gør det?
Avatar billede arne_v Ekspert
02. juli 2010 - 19:58 #1
AddFunc er en type
_AddFunc er en variabel af den type

ikke nogen god navngivning efter min mening, men dem er set foer.
Avatar billede MLundager Nybegynder
02. juli 2010 - 20:10 #2
Ahh så i starten laver han en typedef af int som han kalder AddFunc også det _ betyder er at han laver en varible af AddFunc som svarer til int

er det rigtigt?
Avatar billede arne_v Ekspert
02. juli 2010 - 20:40 #3
foerst definerer han AddFunc til at vaere typen "funktion med to int argumenter som returnerer int"

saa laver han en variabel af den type
Avatar billede MLundager Nybegynder
02. juli 2010 - 20:47 #4
En ting til jeg har lagt mærke til at han flere gange skriver _AddFunc er det fordi vær gang man skal bruge den varible skal man bruge _AddFunc?
Avatar billede arne_v Ekspert
02. juli 2010 - 21:02 #5
Ja. Fordi det er jo variablens navn.

Der er ikke noget magisk i den underscore.

Programmer virker lige saa godt hvis _AddFunc erstatters af myadder.
Avatar billede MLundager Nybegynder
02. juli 2010 - 21:05 #6
Ahh tak der var det jeg blev forvirret over jeg troede det var noget specielt ved den underscore
Avatar billede arne_v Ekspert
02. juli 2010 - 21:38 #7
Saa smider jeg et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester