Можно ли загрузить 64-битную DLL в 32-битный процесс? - PullRequest
0 голосов
/ 09 января 2012

Можно ли загрузить 64-битную dll в 32-битный процесс?
Вообще говоря, я знаю, что это не может произойти.
Еще, может быть, есть некоторые исключения?

Ответы [ 3 ]

2 голосов
/ 09 января 2012

Нет, и ни один 64-битный процесс не может загрузить 32-битную DLL.

Если вы работаете в 64-битной ОС, вы можете загрузить DLL в 64-битном процессе и установить связь с 32-битным процессом через IPC .

Если у вас 32-битная ОС, вам не повезло.

0 голосов
/ 02 октября 2013

В .NET можно загрузить 64-битную DLL в 32-битный процесс только для отражения . Для получения подробной информации, пожалуйста, проверьте " Анализ 64-битной DLL из шаблона T4 в Visual Studio (32-битной) с использованием Reflection ".

Я знаю, что это особый случай, но я решил добавить его в любом случае, потому что это может помочь другим, ищущим решение, подобное мне.

0 голосов
/ 23 февраля 2012

Но новый компьютер, купленный сегодня, по крайней мере, имеет 4G оперативной памяти. Мы не можем предотвратить использование 64-битной ОС, чтобы избежать проблем. Мы должны столкнуться с 64-битной положительно! Сервер 2008 R2 имеет только 64-разрядную версию. Проблемы вокруг EXE AnyCPU / x86, 32-битной COM / C ++ dll должны быть обработаны. Идеально компилировать 32- и 64-битные COM / C ++ dll.

...