2012-10-24 1 views
0

이 메시지는 C# 코드에 표시 한 후 보호 된 메모리를 쓰려고 유형 "System.AccessViolationException"... 보호 된 메모리를 읽거나 쓰려고 시도했습니다.읽거나 처리되지 않은 예외가 있다고 번째 라인이</p> <pre><code>function(); int i = 0; </code></pre> <p>같다 DLL 코드로부터 함수를 호출 한 후 통근 기능

+2

'함수()'란 무엇입니까? 어떻게 정의됩니까? 그것이 'extern'이라면 실제 구현은 선언과 일치합니까? 특히 반환 유형 ('void','int' 등)이 맞습니까? 이 메시지는 일반적으로 스택의 불균형 또는 유사한 것을 의미합니다. 그리고 좋은 방법 : 'extern' 메서드는 값을 반환하지 않겠다고 약속했을 때 값을 반환하거나 그렇지 않을 때는 값을 반환하지 않습니다. –

답변

1

함수가 외부에 있으면 선언에 문제가 있습니다. 반환 값 또는 매개 변수 유형의 크기가 잘못되어 스택에서 데이터가 "팝"되었을 때 오류가 발생합니다.

관련 문제