문제

Symbian뿐만 아니라 Windows 응용 프로그램에서도 사용될 C ++ 라이브러리를 작성하려고합니다. Linux는 현재 요구 사항이 아니지만 일반적으로 가능해야합니다.
이러한 이유로 나는 대신 STL/BOOST 명명 규칙을 사용하고 싶습니다. Symbian 's, 내가 생각하는 것은 익숙해지기가 어렵습니다.
Carbide.c ++로 코드를 컴파일 할 때 Symbian Naming Convention을 시행 할 때 이미 문제가 발생하는 것 같습니다.

"정상적인"이름을 어떻게 사용하고 여전히 Symbian 호환이 될 수 있습니까? 나는 먼저 조건부에 대해 생각했다#define-심부리 플랫폼의 클래스 이름을 사용하지만, 나는 이것이 혼란을 초래할 것이라고 두려워합니다.

Symbian의 명명 대회를 준수하지 않음으로써 다른 문제가 발생할 수 있습니까?

도움이 되었습니까?

해결책

코딩 규칙은 엄격하지 않습니다. 그들은 우리 인간에게 코드를 더 쉽게 이해할 수 있도록합니다. 멀티 플랫폼 라이브러리를 쓰고 있다면 편안한 컨벤션을 자유롭게 사용하십시오.

물론, 라이브러리는 아마도 기본 운영 체제와 어떤 방식 으로든 인터페이스해야 할 것입니다. 의 도움으로 C/C ++ 라이브러리를 엽니 다, 당신은 기본 Symbian C ++ API와 이름 지정 규칙을 사용할 필요없이 많은 일을 할 수 있습니다.

Carbide.c ++에서는 Codescanner 정적 분석을 비활성화 할 수 있습니다. 기본 Symbian C ++로 작성된 코드에만 유용하기 때문입니다.

요약하면 문제는 다음과 같습니다.

  • 원주민 Symbian C ++ 배경에서 오는 사람들은 당신의 컨벤션에 즉시 익숙하지 않습니다.
  • 기본 Symbian C ++ API를 사용하면 일부 플랫폼 별 특성 (예외 대 잎, 트랩 하네스, 활성 스케줄러 등)이 노출 될 수 있습니다.
  • Codescanner와 같은 Symbian 관련 정적 분석기는 Symbian C ++ 코드 스타일을 가정하고 실제로 신경 쓰지 않아도되는 오류/경고를 생성 할 수 있습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top