C 개발 환경


10

C 개발을위한 편리하고 생산적인 개발 환경 설정에 대한 아이디어를 찾고 있습니다. Vim을 사용한 C 편집이 매우 유용 하다는 것을 알았지 만 제안을 더 넓게 샘플링하고 싶습니다.


@txwikinger 동의합니다. 저는 CW 경찰의 첫 번째 사람이되고 싶지 않았습니다 :). 또는 고통스러운 죽음으로 죽어야하는 [주관적인] 태그를 만드는 사람
Michael Mrozek

이미 커뮤니티 위키가 있습니다. 그래서 변명하지 마십시오 :) 그리고 주관적인 태그를 만들었으므로 모든 걱정이 사라졌습니다. 커뮤니티 위키를 지금 확인하십시오 :)
txwikinger

@txwikinger 그것은 실제로 낙담했습니다 . 그래서 나는 그것을 가진 모든 게시물에서 제거했습니다
Michael Mrozek

답변:


12
  • Emacs / Vim / Eclipse / ...-개인적으로 저는 Emacs 사용자입니다. 제어 시퀀스가 ​​새끼 손가락을 피로하게하는 경우 Viper-Mode를 사용하십시오. Emacs는 유닉스에 잘 통합되어있어 한 곳에서 모든 것을 쉽게 제어 할 수 있습니다. Vim은 여기서도 잘하지만 Elisp은 Vim Script보다 훨씬 강력한 확장 언어입니다. C 개발을 위해 Emacs를 설정하는 모든 방법에 대해 몇 시간 동안 이야기 할 수 있습니다. 플라이 메이크 모드 가 언급되었으며, 사물을 처음 시작합니다. 나는 이클립스에 익숙하지 않다. 코드가 화면에 충분한 공간을 차지하지도 않고 부풀어 오르는 방법을 좋아하지도 않는다 (Vim 사용자는 Emacs에 대해 같은 것을 말할 것이다). 또한 순수한 미학적 이유로 Java로 작성된 모든 것에 부당하게 편향되어 있습니다.

  • Ctags -Vim 또는 Emacs 또는 파일에서 약간의 하이퍼 텍스트 링크를 수행 할 수 있도록 C (또는 다른 많은 언어) 함수에 태그를 지정합니다. 당신이 돌아 다니면서 기능을 보았을 때 "그것이 또 무엇을합니까? 네이밍은 약간 모호합니다." Plink-plank-plunk, 당신은 그것의 정의로 바로 zap 할 수 있습니다.

  • Cmake / Gnu-Autotools -Make는 훌륭하지만 어느 시점에서 프로젝트를 테스트 할 방법이없는 모든 종류의 시스템에서 자체 빌드 할 수 있도록 약간 추상화해야합니다. 사람들이 * nix에서 코드를 작성해야하는 경우 Autotools는 훌륭하지만 실제로 Cmake에 익숙해 져야합니다. Cmake 팀은 가능한 모든 구성에서 코드를 작성하고 두통을 겪지 않아도됩니다. 프로젝트를 쉽게 픽업하고 다른 프로젝트를 구매하려면 이러한 도구 중 하나가 중요합니다.

  • Git / Mercurial / Subversion / ...-버전 제어 소프트웨어를 연구하는 데 몇 개월을 소비 할 수 있지만 Git과 함께 가야합니다. @ $! # % & Linux Kernel을 추적하여 견고하고 배포됩니다. Linus에 충분하다면 충분할 것입니다. 나는 Mercurial에 대해서도 좋은 소식을 듣습니다. G ** gle이 그것들을 사용하는 것 같습니다. 어떤 사람들은 Subversion과 CVS를 좋아하는 것처럼 보입니다. 나는 그들이 모 놀리식이 기 때문에 마음에 들지 않습니다. 매우 불편하고 제한적입니다.

  • Stumpwm / wmii / XMonad / ...-어떤 시점에서 작업 흐름을 유지하기 위해 할 수있는 일은 출력을 크게 향상시킬 것임을 깨닫게됩니다. 두뇌가 상황을 깨뜨리는 것을 막는 가장 좋은 방법 중 하나는 바둑판 식 키보드 구동 창 관리자로 전환하는 것입니다. 저는 창 관리자의 Emacs 인 StumpWM 의 개인 팬입니다 . 즉시 커스터마이징이 가능한 커먼 리스프 (Common Lisp) 프로세스에서 완벽하게 구현되므로 반복적으로 수행하는 모든 작업을 기능으로 추방하고 명령에 바인딩 할 수 있습니다. 좋은 물건. 나는 다른 것들에 대해 많이 알지 못하지만 더 많은 정교함이 다른 스레드에 더 잘 남을 것입니다. 키보드를 가능한 한 많이 사용하십시오.

  • GDB- 다른 디버거에 익숙하지 않지만 사실상의 표준으로 보입니다.

  • Valgrind- 나는 이것이 잘하는 다른 일을 모른다. Valgrind는 성가신 프로파일 링 / 메모리 누수 사냥에 중요한 요소입니다. Valgrind가 없으면 malloc / calloc으로 코드를 작성할 수 없습니다.


Linux 성능 카운터 ( perf.wiki.kernel.org/index.php/Main_Page ) 및 / 또는 Oprofile ( oprofile.sourceforge.net/news )을 해당 목록에 추가합니다.
Mark Probst

방금 커뮤니티 위키로 만들었으므로 거기에 추가 할 수는 있지만 적절하다고 생각합니다. 성능 카운터는 Linux 만있는 것 같습니다. 나는 이것을 확인 / 거부하려고하지만, 그렇다면 적어도 제안에 언급해야합니다.
Eli Frey

2

나는 Vim과 얼마 동안 지속해 왔으며, 항상 유닉스 박스를 가지고있는 곳을 항상 찾을 수 있기 때문에 VIM 기초를 아는 것은 가치가 있지만, Emacs를 시도했지만 되돌아 보지 않았다. Eclipse는 '현대적인'대안입니다. 시스템에 세 가지가 모두 있습니다!


2

개인 취향이 매우 뛰어나서 내가 무엇을 사용하는지 알려주는 것 이상을 할 수 있다고 생각하지 않습니다. Emacs는 Flymake 모드로 설정되어 있습니다.이 모드 는 작업중 인 파일을 주기적으로 컴파일하고 컴파일러 출력을 구문 분석하여 어떤 오류가 발생했는지 파악합니다. 버퍼의 오류 / 경고를 강조 표시하고 관련 컴파일러 오류 메시지를 표시합니다.


2

Kate (text) gcc / avr-gcc를 사용하고 Git을 VC로 사용합니다. 나는 주로 파이썬에서 c와 컴퓨터쪽에 임베디드 물건을 넣습니다.


2

유닉스 / 리눅스에서 C 개발을하고 있다면, 프로젝트의 규모가 크면 반드시 Cscope를 사용해야합니다.

기능에 점프 - cscope의 브라우징 소스 코드에 대한 개발자의 도구 foobar정의의 변수가 모든 장소 찾기 foo를 포함하여 모든 파일을 찾아 참조를 bar.h, 모든 항목 변경 bar으로 baz등,

또한 게시물에서 Vim을 언급했습니다 ... 여기 Vim & Cscope를 함께 사용 하는 방법에 대한 자습서 가 있습니다.



1

내가 개인적으로 좋아하는 것은 exVim 입니다. vim 플러그인이 많기 때문에 큰 코드 기반으로 사용하기가 매우 쉽습니다. 나는 그 기능을 배우는 데 약 1 일이 걸리지 만 그만한 가치가 있습니다.


1

콘솔에서 Vim으로 C를 편집합니다. 나는 makefile을 사용하고 gcc, clang (LLVM) 및 icc를 포함하여 코드를 테스트하기 위해 많은 컴파일러를 가지고 있습니다. 개발 환경에서 고려해야 할 다른 것 : grep, 디버거 및 valgrind 사용. 보다 복잡한 빌드를위한 스크립팅 언어입니다. 버전 관리를위한 Git

코드를 편집하는 데 사용하는 것보다 내 마음에 더 중요한 것은 코드를 구성하는 방법입니다. 그것을 배치하는 방법은 아마도 스택 오버플로에 대한 질문 일 것입니다. 그러나 요청에 따라 배포 용이 아닌 객체 코드에 대한 별도의 디렉토리와 결과 binar (y | ies)에 대한 다른 폴더가 종종 있습니다. 필자는 작성중인 모든 일반 코드와 최종 프로젝트 파일과 함께 사용되는 더 많은 C 파일을 포함하는 테스트 폴더가 있습니다.


1

Motor IDE 를 사용해보십시오 . 저주를 기반으로하므로 집에서 느끼는 느낌이 듭니다 (tm).) 5 년 동안 유지되지 않아서 무언가가 깨질 수 있기 때문에 조금 슬프다. 그래도-시도해 볼 가치가 있다고 생각합니다.


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