Ślad: • 01_hello • zajecia5 • notatki • vs_wstep • pliki • dll

Biblioteki DLL

Writing /home/grochu/public_html/wiki/data/cache/f/f2bd9ec0198e0b35d16e9d0534ad3c78.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/cache/f/f2bd9ec0198e0b35d16e9d0534ad3c78.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/1/1b60f85ee828133b9c9abc9160cda529.i failed
Writing /home/grochu/public_html/wiki/data/cache/1/1b60f85ee828133b9c9abc9160cda529.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/f/f2bd9ec0198e0b35d16e9d0534ad3c78.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.

Biblioteki DLL

Zadanie 1

  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