C# 프로젝트 설정의 실제 기능은 무엇입니까? "안전하지 않은 코드 허용"
문제
C# 프로젝트 설정 "안전하지 않은 코드 허용"이 프로젝트 자체의 안전하지 않은 C# 코드에만 적용되는지 궁금합니다. 아니면 기본 C ++ DLL에서 링크 할 때이 옵션을 설정해야합니까? 자체 자체가 기본 DLL에 연결되는 관리되는 DLL에 연결하는 것은 어떻습니까? 이 옵션은 실제로 무엇을합니까?
해결책
C#의 "안전하지 않은"키워드와 관련이 있습니다. "안전하지 않은"은 일반적으로 발생하는 모든 수표를 끄고 메모리에 직접 액세스 할 수 있습니다. 기본 C ++ DLL 또는 인터페이스를 호출하는 것은 아닙니다.
다른 팁
"안전하지 않은"블록을 사용할 수 있습니다.
unsafe(...)
{
}
이것은 단지 사용과 관련이 있습니다 unsafe
블록 (포인터를 사용할 수있는 곳). P/Invoke에 적용되지 않습니다.
안전하지 않은 {} 컨텍스트를 사용해야합니다. 예전에는 sizeof ()를 사용해야했지만 더 이상 사실이 아닙니다.
C와 같은 다른 언어로 작성된 다른 DLL에 빠지면 안전하지 않은 코드를 허용 할 필요가 없습니다.
제휴하지 않습니다 StackOverflow