Biblioteki DLL

  1. Utwórz bibliotekę DLL:
    • wyeksportuj z niej funkcję Komunikat, która wyświetla okno MessageBox z zadanym w argumencie komunikatem,
    • wyeksportuj klasę o nazwie MojaKlasa zawierającą metodę publiczną Komunikat działającą identycznie jak powyższa funkcja.
    • korzystając z narzędzia DumpBin.exe zobacz listę eksportowanych (oraz importowanych) funkcji z utworzonego pliku .dll oraz .lib.
    • do eksportowania wykorzystaj modyfikator:
      extern "C" __declspec(export)
  2. Utwórz w ramch tego samego rozwiązania nowy projekt i zlinkuj bibliotekę statycznie (niejawnie). Przetestuj działanie dostępnych w bibliotece funkcji i klas.
    • dodaj do biblioteki DLL funkcję DllMain. Wyświetl komunikaty (MessageBox) infromujące o tym jaki był powód uruchomienia tej funkcji (np. DLL_PROCESS_ATTACH)
    • do importowania funkcji i zmiennych z biblioteki wykorzystaj modyfikator:
      extern "C" __declspec(import)
    • korzystając z DumpBin.exe zobacz listę eksportowanych (oraz importowanych) funkcji z utworzonego pliku .exe
    • utwórz dodatkowy wątek tak aby wywołać w bibliotece dll funjcę DllMain z DLL_THREAD_ATTACH
  3. Utwórz w ramch tego samego rozwiązania nowy projekt i zlinkuj bibliotekę dunamicznie (jawnie) w czasie działania programu. Przetestuj działanie dostępnych w bibliotece funkcji i klas.
    • korzystając z DumpBin.exe zobacz listę eksportowanych (oraz importowanych) funkcji z utworzonego pliku .exe
    • wyświetl pełną ścieżkę i nazwę wczytanej biblioteki,
    • przydatne funkcje:
  4. Umieść w bibliotece DLL następujące zasoby: dowolny napis, dowolne menu