programing

왜 #if 0 vs #if (1 > 1)?

elecom 2023. 10. 15. 16:58
반응형

왜 #if 0 vs #if (1 > 1)?

레거시 코드로 작업을 하다가 다음을 발견했습니다.

#if (1 > 1)
//define some function
#endif

확실하지는 않아요, 이게 일반적인 것과 어떻게 다를 수 있죠?#if 0, 암호를 설명하는 거에요?무슨 생각 있어요?

두 표현식 모두 거짓이므로 코드가 컴파일되지 않습니다.

여기 프로그래머가 왜 명백한 것을 사용하지 않으려 했는지에 대한 잠재적인 설명이 있습니다.#if 0코드 섹션을 비활성화하는 전처리기 지시:

  • 프로그래머는 원하지 않았습니다.grep '#if 0'그의 코드 조각을 찾기 위해서입니다.
  • 지역 부호화 규약이 허용되지 않음#if 0스크립트로 이 규칙을 적용할 수도 있습니다.프로그래머는 일그러진 해결책을 찾았습니다.
  • 어떤 프로그래머의 편집자들(예:vim) 색을 입힙니다.#if 0섹션을 주석으로 사용하면 다른 전처리기 표현을 사용할 수 없습니다.
  • 프로그래머는 다음에 부울식이 필요하다고 생각했을지도 모릅니다.#if. 괄호를 사용하는 것이 이 설명을 뒷받침하지만 프로그래머만이 알 수 있습니다.
  • 원래 가지고 있던 코드#if (OPTION > 1)그리고.OPTION로 변경되었습니다.1와 함께sed스크립트 또는 기타 글로벌 텍스트 대체 방법을 사용할 수 있습니다.
  • 프로그래머는 다음 독자의 관심을 끌고 싶었을지도 모릅니다.유머러스한 목적이나 다른 모호한 목표를 위해.이 경우의 목표 달성.
  • 몇몇 댓글에서 언급된 것처럼, 이것은 암호를 해독하고 고용 안정성을 높이기 위한 어설픈 시도일 수 있습니다.이를 위해 gets 연산자를 제안합니다.#if (0 <- 1)또는 크롤링 가산기:#if (1 <~~ 1).

제 생각에는.(1 > 1)독자에게 코멘트 역할을 합니다.스마일이나 다른 이모티콘입니다! :-)

글을 쓰는 것 또한 가능했을 것입니다.(0>0)또는 유사한.

언급URL : https://stackoverflow.com/questions/37060228/why-if-0-vs-if-1-1

반응형