2013-02-21 2 views
2

C++/CLI의 관리 코드에서 연산 오버플로에 예외를 발생시키는 방법이 있습니까? C#에는 검사 된 키워드와이를 가능하게하는 전역 프로젝트 플래그가 있지만 C++/CLI에서는 찾을 수 없습니다.C++/CLI와 동일한 기능의 C# 확인 키워드

내 상황은 .NET에서 C++ 라이브러리를 래핑하는 것입니다. 때때로 C++ 네이티브 코드가 오버플로됩니다. 필자는 민감한 계산을 기존 C++/CLI 래퍼로 옮기는 것을 고려하고 있었지만 이것이 가능하지 않을 수 있습니까?

+0

가능한 [C#에 해당하는 C#은 무엇입니까] (http://stackoverflow.com/questions/14500593/what-is-the-c-sharp-checked) –

+0

가능한 복제본 http://stackoverflow.com/questions/14500593/what-is-the-c-equivalent-of-the-c-sharp-checked –

+0

허! 우리는이 링크를 거의 동시에 정확하게 게시했습니다 : D –

답변

4

링크 된 복제본은 의미가 없으므로 C++/CLI는 C++ 규칙을 따릅니다. C++에는 연산 오버플로를 감지하는 기본 제공 메커니즘이 없습니다. 확인되지 않은 키워드를 사용

는 원래 C++/CLI의 미래 확장을 위해 계획되었다. Ecma-372은 현재 언어 표준이며 부록 F.2.1에서이 확장을 제안합니다. 그러나 이것은 결코 일어나지 않았으며 실행될 가능성은 거의 없습니다.

따라서 오버플로 검사를 직접 구현해야합니다. this question에 대한 안내가 있습니다.

+0

감사합니다. 나는 그 연결된 질문에 혼란스러워했다. –