Исправлено: я установил класс хранилища DLL импортируемой функции на dllimport
, и это позволило wasm-ld выдавать правильное пространство имен импорта.
Я создаю компилятор с помощью LLVMSharp * библиотека, и она испускает файлы модуля LLVM .b c, предназначенные для wasm32-unknown-unknown
. Я пытаюсь импортировать функции из интерфейса WASI, помечая эти значения функций атрибутом { "wasm-import-module"="wasi_unstable" }
. (Это должно быть эквивалентно тому, что clang делает с __attribute__((import_module(<module_name>)))
; см. здесь ). Однако, когда я передаю полученные файлы .b c в wasm-ld (установленная версия Windows 64-bit 9.0.0), полученный модуль .wasm все еще импортирует эти функции из "env"
, что не работа.
Есть ли какая-либо опция для перехода к wasm-ld, чтобы он правильно обрабатывал wasm-import-module
, или мне нужно go другой маршрут?
* В частности, я ' используя LLVMSharp 5.0.0, который является последней стабильной версией. Возможно, LLVMSharp 8.0.0 может поддерживать сборку модулей .wasm, но для него не выпущен релиз NuGet, и у бета-версии NuGet есть некоторые проблемы, которые мешают мне обновиться. Вот почему я еду по самому дорогому маршруту.