반응형
2023.01.31 - [개발/C++] - 1. VS 2019에서 C++ 프로젝트를 DLL로 빌드하기
2023.01.31 - [개발/C++] - 2. C++ DLL을 C#에서 이용하기
방법1. std::wstring 사용
C++ DLL 코드
#include <string>
extern "C" __declspec(dllexport) void FunctionName(const std::wstring& inputString)
{
std::wcout << inputString << std::endl;
}
C# 코드
using System;
using System.Runtime.InteropServices;
class Program
{
[DllImport("MyCppDll.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
public static extern void FunctionName(string inputString);
static void Main(string[] args)
{
string inputString = "Hello, C++ DLL!";
FunctionName(inputString);
}
}
728x90
방법2. char* 사용
C++ DLL 코드
#include <string>
extern "C" __declspec(dllexport) void FunctionName(const char* inputString)
{
std::cout << inputString << std::endl;
}
C# 코드
using System;
using System.Runtime.InteropServices;
class Program
{
[DllImport("MyCppDll.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
public static extern void FunctionName(string inputString);
static void Main(string[] args)
{
string inputString = "Hello, C++ DLL!";
FunctionName(inputString);
}
}
반응형
'개발 > C++' 카테고리의 다른 글
[Design Pattern] Strategy Pattern(전략 패턴) 정리 (2) | 2023.11.06 |
---|---|
c++에서 http호출을 쉽게해보자! cpp-httplib 연동하기 (0) | 2023.06.16 |
2. C++ DLL을 C#에서 이용하기 (0) | 2023.01.31 |
1. VS 2019에서 C++ 프로젝트를 DLL로 빌드하기 (0) | 2023.01.31 |
C++ 람다 함수 정리 (1) | 2023.01.25 |