기본 기능을 자체 파일로 분리하는 것이 좋습니다.


14

다른 모든 기능을 인터페이스 할 수 있도록 main 기능 만 있고 다른 기능은없는 main.c 파일을 갖는 것이 좋습니다.

결정적인 규칙이 없다면 언제 그렇게하는 것이 좋은가?

답변:


15

재사용 가능한 코드의 일부로 생각할 수있는 모든 작업은 라이브러리 형식으로 작성하는 것이 이상적 입니다. 균형 작업은 어디에 main()상주 해야하는지 별도의 신청서입니다 .

그러나 main()혼자서 따로 앉아있을 필요는 없습니다. 같은 기능은 parse_arguments(argc,argv) 별도의 메인 기능과 함께 제공되어야합니다.


7

우리의 코딩 표준은 main ()이 main.c에 있어야합니다. main.c의 다른 메소드는 높은 수준의 오류 처리기 및 main에 대한 도우미 함수 인 경향이 있습니다 (@Dipan은 "parse_arguments"및 "display_help"등).

좋은 규칙은 funcion이 실행중인 응용 프로그램을 지원하고 비즈니스 논리를 시작하는 것보다 더 많은 일을 시작할 때 main.c에서 벗어난 시간입니다.


4

두 가지 규칙이 있습니다.

  1. 독자는 main ()을 어디에 숨겼는지 궁금 할 필요가 없습니다.
  2. main ()은 관련없는 혼란을 포함하지 않아야합니다.

main ()은 항상 main.c라는 파일에 있어야한다는 코딩 표준을 구현하는 것이 좋습니다. 이 파일과 main () 자체에는 불필요한 혼란이 없어야합니다.

이상적으로 main () 및 main.c는 다음을 포함해야합니다

  • 프로그램 전체 헤더 파일을 포함합니다.
  • argv, argc의 인수 구문 분석 코드
  • 호스트리스 시스템 : 중요 레지스터 설정, 스택 포인터 설정 등. 그러나 main ()이 프로그램의 첫 번째 진입 점 인 경우에만 해당됩니다.
  • OS를 시작하기 위해 호출하거나 프로그램의 상태 시스템을 호출하는 루프 또는 호스트 된 데스크톱 시스템에서 주 GUI 스레드와 관련된 창의 작성 및 초기화를 호출합니다.
  • main ()에서 호출 된 내부 (정적) 함수 중 하나를 처리합니다.
  • 호스트 시스템에서 : 0을 리턴하십시오.

1

분리 된 파일의 깨끗한 진입 점을 통해 코드 흐름을 쉽게 이해하고 유지 관리 할 수 ​​있습니다. 나는 항상 프로그램 단계를 추적 할 수있는 곳과는 다른 파일에 매우 작고 간결한 main () 함수를 유지하는 습관을 가졌습니다. 청결을 위해서만 따로 보관하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.