gpt4 book ai didi

c# - 在 C# 中嵌入 Julia

转载 作者:太空宇宙 更新时间:2023-11-03 23:19:17 25 4
gpt4 key购买 nike

我从 here 中提取了代码与此相关 post在 Github 上,但它对我不起作用。

我运行的是 Windows 10、Visual Studio 2012,我的 julia 目录是 c:\julia-0.4.3\bin。我对代码做了一点小改动以反射(reflect)我的路径:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
class Program
{
[DllImport("libjulia.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void jl_init(string julia_home_dir);

[DllImport("libjulia.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void jl_eval_string(string str);

static void Main(string[] args)
{
// Pass

jl_init(@"C:\Julia-0.4.3\bin");

// Crash
jl_eval_string("print(sqrt(2.0))");

}
}
}

当我在 Visual Studio 中运行该程序时,我得到:试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)

如果我将 ConsoleApplication1.exe 文件复制到 c:\julia-0.4.3\bin 并从 cmd 行运行它,我得到:未处理的异常:System.BadImageFormatException:尝试加载格式不正确的程序。 (HRESULT 异常:0x8007000B) 在 ConsoleApplication1.Program.jl_init(字符串 julia_home_dir) 在 ConsoleApplication1.Program.Main(String[] args)

是我做错了什么,还是 Windows 10 是罪魁祸首?我对 C# 有点陌生,所以这里可能有一些对于更熟练的程序员来说显而易见的东西。

谢谢!

最佳答案

因为你正在将 32 位库加载到 64 位 exe 中,反之亦然

尝试转到项目属性并关闭“首选 32 位”

关于c# - 在 C# 中嵌入 Julia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35992240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com