MinGW / GCC Delay Loaded DLL эквивалент? - PullRequest
4 голосов
/ 05 декабря 2009

Я пытаюсь перенести старый код MSVC C ++ в MinGW / GCC.

Одной из проблем является то, что проект в значительной степени зависит от параметра / DELAYLOAD для функций, которые не всегда используются, и где надлежащая DLL находится во время выполнения.

Есть ли такая похожая опция на MinGW / GCC?

Этот код предназначен для платформы Windows.

Ответы [ 2 ]

6 голосов
/ 05 декабря 2009

Для эльфийских целей (для Unix-подобных систем) вы можете указать параметр -z lazy (который в любом случае используется по умолчанию) с помощью ld (компоновщик, который также использует MinGW).

Насколько я знаю, цель i386 PE (для Windows) не имеет явную опцию отложенного связывания. Я не могу найти документацию о его доступности.

3 голосов
/ 20 марта 2010

И я хотел бы добавить, что, хотя DLL-библиотеки с задержкой загрузки, похоже, являются частью ОС Windows, они фактически реализованы в виде небольших заглушек, генерируемых компоновщиком. По крайней мере, так было раньше. Таким образом, не существует формального понятия «отложенная загрузка» на уровне ОС Windows. Существует соглашение, основанное на двоичном коде, генерируемом компоновщиком.

...