Я изучил примеры использования mathlink из Visual Studio. Вопрос в том, что у меня есть файл блокнота Mathematica, в котором выполняются необходимые вычисления. Теперь я хочу сделать то же самое, но из моей программы на C, используя Mathlink. Есть ли автоматический инструмент для преобразования файла записной книжки Mathematica в код C, чтобы они вызывались с помощью mathlink?
Как создать код C с помощью Mathlink
Ответы (1)
У меня есть файл блокнота Mathematica, в котором выполняются необходимые вычисления. Теперь я хочу сделать то же самое, но из моей программы на C, используя Mathlink.
Вероятно, вам следует прочитать ответы на https://stackoverflow.com/questions/8140869/minimal-effort-method-for-integrating-c-functions-into-mathematica
Есть ли автоматический инструмент для преобразования файла записной книжки Mathematica в код C, чтобы они вызывались с помощью mathlink?
Наиболее близким к автоматическому преобразованию, о котором я знаю, является использование Compile
с < a href="http://reference.wolfram.com/mathematica/ref/CompilationTarget.html?q=CompilationTarget&lang=en" rel="nofollow noreferrer">CompilationTarget -> "C"
в версии Mathematica 8.
Однако это, вероятно, не то, что вам нужно, потому что это потребует переписать ваш код таким образом, чтобы он мог быть обработан Compile
. Кроме того, он автоматически связывает функцию, а не встраивает ее во внешнюю программу.
Compile[ ... , CompilationTarget -> "C"]
делает это в некотором роде, но повторное использование выходного исходного кода совсем не будет тривиальным (поскольку он предназначен для загрузки ядром Mma после компиляции). ). Как правило: нет, преобразовать блокнот в код C невозможно. - person Szabolcs   schedule 18.01.2012