Как общие библиотеки работают в смешанной 64bit/32bit системе?

Я недавно попытался передать вывод по каналу одного свободного obfuscator в другой свободный obfuscator - а именно, CE Dotfuscator и новый Babel obfuscator на CodePlex. Больше деталей на моем блоге .

Что касается сериализации, я переместил тот код в различный DLL и включал это в проект. Я обосновал, что не было никаких секретов там, которые не находятся в XML так или иначе, таким образом, ему не была нужна путаница. Если существует какой-либо серьезный код в тех классах, использование частичных классов в основном блоке должно покрыть его.

16
задан Adam Goode 13 November 2009 в 15:44
поделиться

3 ответа

В качестве временного решения оберните вызов Java в небольшой сценарий оболочки, который сбрасывает s LD_LIBRARY_PATH , а затем вызывает исполняемый файл. В качестве альтернативы это также может сработать:

LD_LIBRARY_PATH= java...

Обратите внимание на пробел между "=" и именем исполняемого файла.

2
ответ дан 30 November 2019 в 22:50
поделиться

Просто установите LD_LIBRARY_PATH для обоих путей (используйте двоеточия для разделения). Компоновщик игнорирует библиотеки, которые он не может прочитать.

0
ответ дан 30 November 2019 в 22:50
поделиться

В Solaris можно использовать LD_LIBRARY32_PATH и LD_LIBRARY64_PATH , но это не поддерживается в Linux.

В общем случае , / usr / lib32 или / usr / lib64 как подходящим, или

  • создайте свое 32-битное приложение с помощью -Wl, -rpath = / path / to / 32-bit / libs
  • 3
    ответ дан 30 November 2019 в 22:50
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: