다음 예제 코드가 있으며이를 피하기 위해 사용할 수있는 주석의 종류를 알고 싶습니다.NULL에 대한 주석 GCC의 사전 실행 및 컴파일에서의 참조 해제
int Function(classA* pInput) {
if (pInput == NULL) {
classA::Create(pInput);
}
return pInput->value;
}
문제는 PREfast는 기능을 평가하기 때문에이 Create
포인터를 초기화 것을 알고하지 않습니다.
classA::Create
에 대한 헤더 파일에서 __out
주석을 사용하여 해결할 수 있다고 생각했지만 작동하지 않았습니다.
프리프 패스가 함수 정의에서 선택하도록 코드의 어디서나 단지 __analysis_assume
에 대한 좋은 대안이 있는지 궁금합니다.
둘째로, 나는이 코드를 리눅스 나 GCC와 함께이 전처리 지시어로 구축 할 수 있도록 빌드 구성을 어떻게 설정해야하는지 궁금합니다. LINUX 빌드에 있는지 확인한 다음 해당 주석을 빈 매크로로 추가해야합니까?
나는이 들여 쓰기 스타일을 지난 주 동안 _lot_ 보았습니다. 어떤 교과서에서 온 것인가? –
'Create '가 실제로 객체를 할당하고 초기화하는 정적 메소드라고 가정하면 그 코드에 아무런 문제가 없습니다. 오류가 있습니까? – AJG85
나는이 들여 쓰기 스타일을 불로 타기위한 움직임을 전달하고 싶습니다. –