* 다음에 약간의 삽질을 줄일까 싶어 그냥 기록으로 남김

* 환경은 Visual Studio 2022

 

1. C# 프로젝트 만들기

2. C++ dll 프로젝트 만들기

3. C# 프로그램에서 dll 함수 호출

 

1. C#프로젝트 만들기

 

 

2. C++ dll 만들기

(1) 프로젝트 생성

(2) pch.cpp 파일에 다음과 같이 추가한다.

extern "C" __declspec(dllexport) int AddFunc(int index1, int index2) {
	return index1 + index2;
}

(3) dll 프로젝트의 속성 > 빌드 후 이벤트에 다음과 같이 입력한다

 

copy $(OutDir)$(TargetFileName) $(SolutionDir)ConsoleApp_CppDllCall\bin\Debug\$(TargetFileName)

 

(4) dll 프로젝트를 빌드하면 C# 출력 폴더로 복사한다

 

3. C#프로그램에서 C++ dll 호출

(1) C# 프로젝트의 속성에서 64비트로 구동하게 해줘야 한다.(다른 방법도 있지만 귀찮아서 생략)

 

(2) 다음과 같이 호출하는 코드 작성

internal class Program
{
    [System.Runtime.InteropServices.DllImport("CppDll.dll")]
    public static extern int AddFunc(int index1, int index2);


    static void Main(string[] args)
    {
        Console.WriteLine("Add Result : " + AddFunc(1, 2));
    }
}

+ Recent posts