在C#中调用C++函数并返回const char*类型的值

在C#中调用C++函数并返回const char*类型的值,可以使用Interop服务来实现。以下是一个示例代码:

C++代码(generate_project_code.cpp):

const char* generateProjectCode()
{
    const char* code = "Generated code";
    return code;
}

C++代码需要编译为动态链接库(DLL)。

C#代码:

using System;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("generate_project_code.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern IntPtr generateProjectCode();

    static void Main()
    {
        IntPtr codePtr = generateProjectCode();
        string code = Marshal.PtrToStringAnsi(codePtr);
        Console.WriteLine(code);
    }
}

在C#中,使用DllImport特性将C++函数声明为外部函数。在Main方法中,调用generateProjectCode函数并将返回的指针转换为const char*类型的字符串。

你可能感兴趣的:(C\C++,c#,c++)