0
WiringPi C 라이브러리 내의 mcp23017.c에있는 함수를 사용하여 C# 래퍼 클래스를 만들고 싶습니다. 나는이 기존의 C# WiringPi WrapperClass 다른 기능을했다. 이 래퍼 클래스를 확장하여 mcp23017의 함수를 사용하려고합니다. 나는 wrapper 내에서 하나의 함수로 새로운 클래스를 만들려고 시도했다 :C 라이브러리의 C# 래퍼 클래스
public class mcp23017
{
[DllImport("libmcp23017.so", EntryPoint = "myPinMode")]
public static extern void myPinMode(struct wiringPiNodeStruct *node,Int32 pin, Int32 mode);
}
그러나 구조체 요소에 대해 이러한 에러가 발생한다.
) expected.
; expected.
{ expected.
} expected.
Invalid token "*" in class struct or interface member declaration
래퍼 클래스에 구조체를 정의해야합니까? 어떻게 작동합니까? C#을 처음 사용하는 것에 익숙하지 않습니다.
하지만 파일 wiringPi.h (링크 : WiringPI)에서 C 라이브러리에 정의 된'구조체 wiringPiNodeStruct'를 사용하고 싶습니다. Wrapper 클래스의 구조체를 참조 할 수 있습니까? –
직접적으로. .net 측에서 구조체를 다시 생성 한 다음 마샬링하여 .net과 c 사이에서 메모리를 변환하도록 처리해야합니다. –
좋습니다. 어떻게 수행 할 수 있는지에 대한 예제 또는 참고 자료가 있습니까? 또는 래퍼 클래스를 만들지 않고 C 라이브러리의 함수를 사용하는 다른 방법은 없습니까? –