Может ли Windows различать 32-битные и 64-битные библиотеки DLL?

Должны ли приложения Windows в общем случае иметь возможность различать две библиотеки DLL с одинаковым именем, одна из которых 32-битная, а другая 64-битная, если они находятся в двух разных путях в системной переменной PATH?

В частности, прямо сейчас у меня есть 32-разрядные и 64-разрядные библиотеки DLL для FreeImage, и они находятся в двух отдельных папках, free_image_path \ dist32 и free_image_path \ dist64 , обе из которых я добавил в систему PATH. Однако приложение, созданное для их использования, тоже не может их найти, и мне интересно, связано ли это с тем, что есть две библиотеки DLL с одинаковым именем, и они не могут их различить.

Я также попытался поместить 32-разрядные и 64-разрядные библиотеки DLL в папки windows \ system и windows \ SySWoW64 соответственно, и это сработало для 32-разрядного приложения, но не для 64-разрядного.

Спасибо.

7
задан SSilk 9 June 2011 в 19:26
поделиться