C#에서 C++ DLL로 배열을 전달해야하는 응용 프로그램이 있습니다. 가장 좋은 방법은 무엇입니까? 인터넷에서 일부 검색을 수행하고 C#에서 ref를 사용하여 배열을 전달해야한다는 것을 알아 냈습니다. 동일한위한 코드 : C++에서 DLLC#에서 C++로 배열을 전달할 때의 문제
status = IterateCL(ref input, ref output);
입력과 출력 어레이의 길이가 20이고 코드 대응이 한번 잘 동작
IterateCL(int *&inArray, int *&outArray)
이다. 하지만 두 번째로 루프에서 C# 함수를 호출하려고하면 C#의 입력 배열이 한 요소의 배열로 표시됩니다. 왜 이런 일이 일어나고 C#에서이 함수를 반복적으로 호출 할 수 있는지 알려주세요.
감사합니다. Rakesh.
@ILya : 엡를, 그것은 필요하지 않습니다. – abatishchev
@abatishchev OutAttribute가없는 이유는 무엇입니까? 우리는 C++에서 C#으로 값을 반환해야한다고 생각했지만 InAttibute는 단 한 방향입니다. – ILya
OP 함수 선언에서 첫 번째 매개 변수는 In이고 두 번째 매개 변수는 Out입니다. 두 매개 변수에 대해 두 속성을 모두 지정할 수는 있지만 과용이 될 것입니다. – abatishchev