C# 프로젝트 설정의 실제 기능은 무엇입니까? "안전하지 않은 코드 허용"

StackOverflow https://stackoverflow.com/questions/233759

문제

C# 프로젝트 설정 "안전하지 않은 코드 허용"이 프로젝트 자체의 안전하지 않은 C# 코드에만 적용되는지 궁금합니다. 아니면 기본 C ++ DLL에서 링크 할 때이 옵션을 설정해야합니까? 자체 자체가 기본 DLL에 연결되는 관리되는 DLL에 연결하는 것은 어떻습니까? 이 옵션은 실제로 무엇을합니까?

도움이 되었습니까?

해결책

C#의 "안전하지 않은"키워드와 관련이 있습니다. "안전하지 않은"은 일반적으로 발생하는 모든 수표를 끄고 메모리에 직접 액세스 할 수 있습니다. 기본 C ++ DLL 또는 인터페이스를 호출하는 것은 아닙니다.

다른 팁

"안전하지 않은"블록을 사용할 수 있습니다.

unsafe(...)
{
}

이것은 단지 사용과 관련이 있습니다 unsafe 블록 (포인터를 사용할 수있는 곳). P/Invoke에 적용되지 않습니다.

안전하지 않은 {} 컨텍스트를 사용해야합니다. 예전에는 sizeof ()를 사용해야했지만 더 이상 사실이 아닙니다.

C와 같은 다른 언어로 작성된 다른 DLL에 빠지면 안전하지 않은 코드를 허용 할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top