C 개발 환경

C 개발 환경

C 개발을 위한 편리하고 생산적인 개발 환경 설정에 대한 아이디어를 찾고 있습니다. 나는 찾았다Vim으로 C 편집하기매우 도움이 되지만 더 폭넓은 제안을 받고 싶습니다.

답변1

  • 이맥스/정력//... - 개인적으로 저는 Emacs 사용자입니다. 컨트롤 시퀀스로 인해 새끼손가락이 지치면 Viper 모드로 설정하세요. Emacs는 유닉스에 잘 통합되어 있어 한 곳에서 모든 것을 쉽게 제어할 수 있습니다. Vim도 여기서 좋은 일을 하지만 저는 Elisp가 Vim Script보다 훨씬 더 강력한 확장 언어라고 생각합니다. C 개발을 위해 Emacs를 설정하는 모든 방법에 대해 몇 시간 동안 이야기할 수도 있습니다. 플라이메이크 모드언급되었으며 모든 일의 시작이 되었습니다. 나는 Eclipse에 익숙하지 않고 화면에 코드를 위한 충분한 공간을 남겨두지 않으며 그것이 얼마나 비대해지는지도 좋아하지 않습니다(Vim 사용자는 Emacs에 대해 같은 말을 할 것입니다). 나는 또한 순전히 미적인 이유로 Java로 작성된 모든 것에 대해 부당하게 편견을 갖고 있습니다.

  • C태그- Vim이나 Emacs 등이 파일에서 약간의 하이퍼텍스트 연결을 수행할 수 있도록 C(또는 다른 많은 언어) 기능에 태그를 지정합니다. 여기저기 돌아다니다가 어떤 기능을 보고 머리를 긁적이며 "저건 또 무슨 일을 하는 거지? 이름이 좀 모호해."라고 말한다고 가정해 보세요. Plink-plank-plunk, 당신은 그것의 정의를 바로 알 수 있습니다.

  • Cmake/Gnu-Autotools- Make는 훌륭하지만, 어느 시점에서는 테스트할 방법이 없는 모든 종류의 시스템에서 프로젝트가 자체적으로 구축될 수 있도록 사물을 약간 추상화해야 합니다. *nix에서 코드를 빌드할 사람만 필요한 경우 Autotools가 훌륭하지만 어쨌든 Cmake에 익숙해져야 합니다. Cmake 팀은 가능한 모든 구성으로 코드를 빌드하고 사용자가 골치 아픈 일을 겪을 필요가 없는지 확인합니다. 프로젝트를 쉽게 선택하고 다른 프로젝트를 구매하려면 이러한 도구 중 하나가 중요합니다.

  • 힘내/수은제/파괴/... - 버전 제어 소프트웨어를 연구하는 데 몇 달을 보낼 수도 있지만 아마도 Git을 사용하는 것이 좋습니다. 견고하고 분산되어 있으며 @$!#%& Linux 커널이 추적됩니다. Linus에게 충분하다면 당신에게도 충분할 것입니다. Mercurial에 대해서도 좋은 소식을 들었습니다. 분명히 G**gle이 Mercurial을 사용하고 있으니 나쁘지 않을 것 같습니다. 어떤 사람들은 Subversion과 CVS 등을 좋아하는 것 같습니다. 나는 그것들이 단일체이기 때문에 그것을 좋아하지 않습니다. 그것은 나에게 매우 불편하고 제한적입니다.

  • 그루터기/wmii/XMonad/... - 어느 시점에서는 작업 흐름을 유지하기 위해 할 수 있는 모든 것이 결과를 크게 향상시킬 것이라는 점을 깨닫게 될 것입니다. 두뇌가 맥락을 깨뜨리지 않도록 하는 가장 좋은 방법 중 하나는 타일링, 키보드 기반 창 관리자로 전환하는 것입니다. 나는 개인 팬이다.그루터기WM, 창 관리자의 Emacs입니다. 즉석에서 사용자 정의 가능한 Common Lisp 프로세스로 완벽하게 구현되어 반복적으로 수행하는 모든 작업을 함수로 추방하고 명령에 바인딩할 수 있습니다. 훌륭한 물건입니다. 나는 다른 것에 대해 잘 모르지만 아마도 더 자세한 설명은 다른 스레드에 맡기는 것이 더 나을 것입니다. 가능한 한 키보드를 사용하십시오.

  • GDB- 다른 디버거는 잘 모르지만 이것이 사실상의 표준인 것 같습니다.

  • 발그린드- 이 일을 이렇게 잘하는 다른 일이 있는지는 모르겠습니다. Valgrind는 계속 진행하려는 모든 성가신 프로파일링/메모리 누수 검색에 매우 중요합니다. Valgrind 없이는 malloc/calloc을 사용하여 코드를 작성할 수 없습니다.

답변2

나는 한동안 Vim을 사용했는데, VIM 기본 사항만 있는 UNIX 상자를 어딘가에서 항상 찾을 수 있기 때문에 VIM 기본 사항을 아는 것이 가치가 있지만 Emacs를 사용해 본 후 뒤돌아보지 않았습니다. Eclipse는 '현대적인' 대안입니다. 내 시스템에는 세 가지가 모두 있습니다!

답변3

이는 지극히 개인적인 취향이므로 제가 무엇을 사용하는지 말씀드리는 것 외에는 더 드릴 말씀이 없을 것 같습니다. 나는 Emacs를 설정했습니다플라이메이크 모드, 작업 중인 파일을 주기적으로 컴파일하고 컴파일러 출력을 구문 분석하여 어떤 오류가 발생했는지 파악합니다. 버퍼의 오류/경고를 강조 표시하고 관련 컴파일러 오류 메시지를 표시합니다.

답변4

나는 임베디드 터미널과 함께 gedit를 사용합니다.

관련 정보