Я ищу библиотеку C или C ++, которая может динамически загружать и связывать файлы obj (не важно ELF или obj) во время выполнения. Я трачу некоторое время на поиск такой библиотеки, но мои результаты не увенчались успехом.
Что я пробовал:
LLVM:
На данный момент мое лучшее решение! Я использовал Clang для генерации файлов .obj в формате байт-кода LLVM и использовал его JIT-функции для динамической загрузки и выполнения функции. Но LLVM огромен, и мой домашний компьютер не может собрать полный LLVM только для JIT. Также я столкнулся с некоторыми проблемами с переполнением перемещения или не реализованными типами перемещения.
libjit:
Я прочитал, что он может загружать .elf файлы и связывать их тоже. Но, к сожалению, я не смог скомпилировать его для Windows, поэтому я не мог попробовать.
Nanojit и NativeJit:
Кажется, что они не поддерживают JITting объектного файла.
Так что я могу сделать? Должен ли я остаться с LLVM? Есть ли альтернативы?
Задача ещё не решена.
Других решений пока нет …