gpt4 book ai didi

c# - 在 C# 中使用 C++ 函数

转载 作者:行者123 更新时间:2023-11-27 23:11:22 27 4
gpt4 key购买 nike

我有一个用 c++ 定义的函数,我想将它包含在某些 c# gui 中。这就是我所做的:

在cpp文件中:

extern "C"             //No name mangling
__declspec(dllexport) //Tells the compiler to export the function
int //Function return type
__cdecl //Specifies calling convention, cdelc is default,
//so this can be omitted
test(int number){
return number + 1;
}

在cs文件中:

...
using System.Runtime.InteropServices;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
label1.Text = test(9);
}
}

public static class NativeTest
{
private const string DllFilePath = @"c:\test.dll";
[DllImport(DllFilePath , CallingConvention = CallingConvention.Cdecl)]
static extern int test(int a);

}
}

我得到这个错误:

Error 1 The name 'test' does not exist in the current context Line 28

感谢任何帮助

谢谢

最佳答案

您需要调用 NativeTest.test() 而不仅仅是 test()

关于c# - 在 C# 中使用 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20123518/

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