Importowanie i eksportowanie
Można zaimportować symbole publicznych do aplikacji lub wyeksportować funkcji z biblioteki DLL przy użyciu dwóch metod:
Użyj pliku definicji (DEF) moduł Konstruując biblioteki DLL
Użyj słowa kluczowe __declspec(dllimport) lub opcję __declspec(dllexport) w definicji funkcji w aplikacji głównej
Przy użyciu pliku .def
Plik definicji modułów (DEF) jest plikiem tekstowym zawierającym instrukcje modułu, które opisują różne atrybuty biblioteki DLL.Jeśli nie używasz __declspec(dllimport) lub opcję __declspec(dllexport) do eksportowania funkcji DLL, biblioteka DLL wymaga pliku .def.
Można korzystać z plików .def zaimportować do aplikacji lub wyeksportować z biblioteki DLL.
Przy użyciu __declspec
Visual C++ zastosowań __declspec(dllimport) i opcję __declspec(dllexport) do zastąpienia __export poprzednio używane w 16-bitowe wersje programu Visual C++ słowo kluczowe.
Nie trzeba używać __declspec(dllimport) dla kodu skompilować poprawnie, ale czyniąc umożliwia generowanie lepszego kodu kompilatora.Kompilator jest w stanie wygenerować kod lepsze, ponieważ można ustalić, czy funkcja istnieje w bibliotece DLL lub nie, który umożliwia kompilatora do tworzenia kodu, która pomija poziom pośrednia, które byłyby normalnie obecne w wywołaniu funkcji, która przekroczenia granicy DLL.Jednakże, należy użyć __declspec(dllimport) do importowania zmiennych używanych w bibliotece DLL.
Do wywozu sekcji pliku .def właściwego opcję __declspec(dllexport) nie jest wymagane.opcję __declspec(dllexport) został dodany do łatwy sposób eksportowania funkcji z pliku .exe lub .dll, bez używania pliku .def.
Format Win32 Portable Executable jest przeznaczony do zminimalizować liczbę stron, które musi stykać się ustalenie przywozu.Aby to zrobić, umieszcza w jednym miejscu o nazwie tabela adres importować wszystkie adresy importu dla dowolnego programu.Dzięki temu program ładujący do modyfikowania tylko jedną lub dwie strony podczas uzyskiwania dostępu do tego przywozu.