Search
Duplicate

C#/ DLL 사용하기

C#에서 만든 DLL 사용하기

C#에서 만들어진 DLL 사용하는 방법은 매우 쉽다. using 키워드로 해당 DLL 을 불러온 후에 일반 클래스 사용하듯이 사용하면 된다.
using MyDLL; static void Main (string[] args) { // MyDLL에 정의된 클래스로 객체 정의하기 Calcurate cal = new Calcurate(); int resultAdd = cal.add(1, 2); int resultMinus = cal.minus(5, 3); int resultMultiply = cal.multiply(2, 4); int resultDivide = cal.divide(6, 3); }
C#
복사

C, C++에서 만든 DLL 사용하기

C나 C++로 만든 DLL은 System.Runtime.InteropServices을 using 한 후에, DLLImport라는 애트리뷰트와 extern이라는 키워드를 이용해서 사용해야 한다.
using System.Runtime.InteropServices; public class SqliteDatabase { [DllImport("sqlite3", EntryPoint = "sqlite3_open")] private static extern int sqlite3_open (string filename, out IntPtr db); ... void Open (string path) { IntPtr _connection; if (sqlite3_open (path, out _connection) != 0) { throw new SqliteException ("Could not open database file: " + path); } } }
C#
복사
extern은 해당 메서드의 구현을 바깥 –여기서는 DLL– 에 맡긴다는 의미다. extern 한정자가 붙은 메서드는 static으로 선언되어야 한다.
extern 키워드가 들어간 함수 이름과 매개변수는 DLL 코드 안에 정의된 것과 같아야 한다. 이렇게 정의된 메서드는 일반 메서드처럼 사용할 수 있다.
위와 같은 기본타입 —int, double, string— 외에 더 복잡한 데이터 타입에 대해 C++의 DLL과 연동한다면 아래 글 참조