Linux에서 C ++ 및 C 개발을위한 IDE 비교 : KDevelop, Eclipse, NetBeans, CodeBlocks 및 Anjuta [닫기]


49

Linux에서 풀 스케일 IDE를 사용한 경험에 주목하고 싶습니다.

나는 개인적으로 주로 vim일하지만 다른 프로그래머는 실제 IDE를보고 싶습니다. 따라서 다음과 같은 맥락에서 다른 IDE에 대한 개인적인 의견과 이들 간의 비교를 듣고 싶습니다.

  • C ++ 및 일부 C 개발 (Java, Python 및 기타 자료 아님)
  • 서버 측 프로그래밍 (GUI 개발 불필요)
  • "크로스 플랫폼"개발이 아닌 Linux 작업.

필요한 의견 :

  1. 얼마나 안정적입니까? IDE가 충돌하면 필요하지 않습니다.
  2. 사용하기 편리합니다.
  3. 디버깅에 강력합니다.
  4. 다양한 빌드 시스템과 통합
  5. 거대한 프로젝트 (수십만 줄의 코드 프로젝트)에 대한 확장 성

나는 KDevelop에서 일 했었고 매우 훌륭한 IDE 였고 KDevelop 4가 큰 발전 인 것 같습니다. 많은 사람들이 Netbeans과 Eclipse를 사용하는 것 같습니다.


9
나는 당신이 얻을 수있는 답변에 매우 관심이 있으며 관심있는 다른 두 가지 포인트에 대해 걱정하는 사람들에게 답변을 제공하는 사람들에게 감사 할 것입니다. IDE가 기본적으로 사용하지 않는 프로젝트 구조에 대한 적응성. 내 실험은 몇 년이되었지만 그 당시 내가 시도한 모든 것은 실패했습니다.
AProgrammer

@AProgrammer-목록에 추가 된 아주 좋은 점.
Artyom

또한 CodeLite- 살펴 걸릴 수 codelite.org을 . 불행히도 거대한 프로젝트에서 사용 경험이별로 없습니다. 그럼에도 불구하고 확인하는 것이 좋습니다.
rsc

함께 프로젝트clang_complete 플러그인과 제대로 구성 메이크업, 정력 당신에게 (디버깅 제외) IDE는 것 거의 모든 것을 제공 할 것입니다. 어쨌든 나는 당신이 vim에 머무를 것이라고 생각한다. 나는 확실히한다.
Jan Hudec

나는 그것에 대해 스스로 궁금해하고 있었다. 이 질문을 게시 해 주셔서 감사합니다.
중단

답변:


39

여기 IDE에 대한 개인적인 경험이 있습니다. 내가 찾을 수있는 모든 IDE를 설치하고 모두 함께 연주했습니다 (그렇게 권고합니다).

  • kdevelop

개인적으로 사용합니다. 설치 한 버전이 충돌하지만 사이트에서 최신 버전을 다운로드했는데 제대로 작동합니다. 구성이 간단하고 사용하기 편리합니다. 플러그인을 통해 사용자 정의 빌드 시스템을 지원합니다. 이상한 기능 (예 : 직접 포함 된 헤더 만 구문 분석)을 찾을 수 있지만 일반적으로 큰 프로젝트에 적합합니다.

구성하기가 매우 복잡하지만 문자 그대로 모든 것을 허용합니다. 모든 사람을 만족시키는 올바른 구성을 찾을 수있는 충분한 시간이 있다면 바로 사용하십시오. 그러나 많은 옵션이 있기 때문에 아무것도 변경하려고하면 매우 성가신 일입니다.

  • anjuta 및 코드 블록

나는 그것을 빨리 시도했는데 이전 두 개만큼 좋지 않았습니다. 코드 블록은 짧은 프로젝트에는 적합하지만 중간 규모 및 대규모 프로젝트에는 적합하지 않습니다.

  • 넷빈즈

또 다른 좋은 IDE이지만 집이 네트워크 공유에 있고 내가 작업하는 프로젝트가 상당히 커서 매우 느 렸습니다. 항상 파싱합니다.

  • qtcreator

구성이 간단하지만 많은 옵션이 없습니다. 예를 들어, 가장 이상한 점은 qt 클래스를 구문 분석하고 자동 완성 할 수 없다는 것입니다. 맞춤형 빌드 시스템을 지원합니다.


결론적으로 :

  • 충분히 인내심이 있거나 (또는 ​​좋은 구성을 찾으면) 일식으로 가십시오. 정말 최고의 무료 IDE입니다.
  • 간단한 구성을 원한다면 kdevelop를 사용하십시오.

또 다른 옵션은 둘 다 설치하고 개발자가 자신에게 더 적합한 것을 선택하도록하는 것입니다.


16
Eclipse는 하나의 느린 Java 조각입니다 .... 대안이 전혀 없다면 그것을 사용할 이유가 없습니다. 내 PC에서는 1 분 안에 시작되었습니다. 너프가 말했다.
코더

10
@Coder 글쎄, 당신은 한 번 시작하고 다시 시작하지 않고 하루 종일 사용합니다. 아이디어입니다. 1 분은 하루에 얼마나 오래 사용할 것인지에 비해 아무것도 아닙니다.
BЈовић

6
@VJovic : 탭 간 전환은 탭에 따라 18 초에서 1 초까지 걸리며, 속도 저하는 먼저 속도 저하 만 사용하지 않습니다. Visual Studio조차도 그와 비교하여 매우 빠릅니다.
코더

7
@Coder Edison이 말했듯이 설치 또는 환경이 좋지 않습니다. 내 일식은 매우 빠릅니다. 탭 전환은 거의 즉각적입니다.
BЈовић

4
Ecilpse는 체처럼 메모리를 누출시킵니다. 16Gig RAM이 장착 된 다중 사용자 Linux 박스에는 며칠 이상 CDT (Eclipse 인스턴스)가 실행중인 RAM이 부족합니다. 따라서 하루에 한 번 이상 다시 시작하거나 개발 팀을 느리게 시작해야하기 때문에 느린 시작이 문제가됩니다. Eclispe RAM 사용-600Meg / 인스턴트 100 / 일 증가. IDE 50Meg / 인스턴스 증가는 0 / 일, VIM, 10Meg 증가는 0 / 일입니다. 가격이 $ US250 / s 인 상업용 IDE는 하루에 한 번 Eclipse를로드하는 생산성 손실로 인해 1 년 미만의 ROI 기반 솔리를 보여주었습니다.
mattnz

13

Qt Creator를 살펴보십시오.

  • 꽤 안정적입니다. 충돌이 기억 나지 않습니다.
  • 탭이없는 데 익숙해지는 데 시간이 다소 걸릴 수 있지만 전체 인터페이스는 양호합니다.
  • gdb를 사용합니다. 디버깅은 Visual Studio만큼 좋지는 않지만 여전히 좋습니다. 또한 현재 프로파일 러 (Valgrind)와 통합됩니다.
  • qmake 및 CMake와 통합됩니다. 그러나 사용자 정의 명령을 실행할 수 있으므로 거의 모든 것을 사용할 수 있습니다.
  • 거대한 프로젝트에 대해 아무 말도 할 수 없지만 Qt를 쓰는 같은 사람들이 만들고 사용하므로 요구 사항이 높습니다.
  • 프로젝트 구조에 대해 가정하지 않는 것 같습니다.

얼마 전에 KDevelop 4를 사용해 보았습니다. 확실히 올바른 방향으로 움직이고 있지만 약간 버그가 있습니다. 어쨌든 시도해 볼 수 있습니다.

CodeBlocks를 매우 짧은 시간 동안 사용했지만 인터페이스가보기 싫기 때문에 마음에 들지 않았다는 것을 기억합니다.


8

많은 GCC 개발자들은 (그리고 GCC는 당신이 그들을 계산 방법에 따라 소스 코드의 5 ~ 9 백만 라인을 가지고) 만 사용 emacs 하거나 vi같은 유틸리티와 grep, ctags또는 etags, make, svn, gcc), 등.

큰 소프트웨어를 개발하기 위해 IDE가 필요하지 않습니다.

소프트웨어가 충분히 큰 경우 (예 : 최소 0.3 백만 라인) 소프트웨어 메트릭, 소프트웨어 탐색, 특정 경고, 코딩 규칙 등을 위해 플러그인 또는 MELT 확장을 통해 GCC를 사용자 정의하는 것을 고려할 수도 있습니다 .


10
그것은 질문이 아니 었습니다. 내가 언급했듯이 나는 주로 grem, ctags와 함께 vim을 사용합니다-그것이 얼마나 좋은지 알고 있습니다. 그러나 많은 프로그래머들은 IDE를 선호합니다
Artyom

1
IDE는 C ++ 클래스 관련 기능에 특히 유용하며 Vim에서 구성하기가 매우 어렵습니다. 원시 C는 ctags와 함께 사용할 수 있습니다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

6

나는 주로 이클립스와 함께 일한다. KDevelop를 오랫동안 만족스럽게 사용했지만 이제는 다국어 프로젝트 (C, C ++, PHP, Java, Python, Database, Web 등)에서 작업하고 있습니다.

Eclipse의 장점 : 모든 것 (버전 제어 포함)을위한 많은 도구; 구문 검사 및 자동 완성에 매우 효과적입니다. 컴파일 / 빌드 / 디버그시 잘 작동합니다. 다중 플랫폼 (Linux, Windows, Solaris 등)
단점 : 일부 기능 또는 설정이 악몽입니다 (예 : 워크 스테이션에서 서버로 프로젝트를 배포해야하는 경우 Eclipse는 일종의 캐시를 유지합니다. 서버의 파일이 '최신'이며 파일을 덮어 쓰지 않는다고 생각합니다. Eclipse는 거대 하고 대부분의 CPU 전력을 질식시키고 모든 메모리를 소모합니다. http://www.ihateeclipse.com 에서 더 많은 정보를 얻을 있습니다.

KDevelop는 빠르고 C / C ++ 및 KDE / Qt 프로젝트에는 훌륭하지만 Mercurial 지원과 같은 일부 기능이 없습니다 (KDevelop 3.3.4, 최신 버전은 모름).


4

Visual SlickEdit – 상용 도구는 다른 도구와 마찬가지로 "작동합니다". 모든 언어를 햇볕 아래에서 즉시 처리 할 수 ​​있으며 고도로 구성 가능하며 필요한 경우 완전히 프로그래밍 가능하여 디버깅을 위해 GDB를 중심으로 GUI를 배치합니다. 매우 큰 프로젝트를 처리합니다 (5 백만 + SOLC의 코드베이스에 사용하며 약 1 백만 개의 코드를 사용합니다).-수많은 상을 수상하고 그 이후로 더 좋아졌습니다. 시도 해봐

Eclipse-Java로 프로그래밍 할 때 선택 도구, 지원되는 단일 언어에 적합합니다. Java 프로그램을 개발하는 Java 개발자를 위해 Java로 작성되었습니다. 그러나 모든 작은 기능과 주요 기능마다 플러그인이 필요합니다. 한 번에 둘 이상의 언어에 대해 "그냥 작동"하지 않습니다.


4

Netbeans는 느리고 느린 IDE입니다. 우리는 "공룡 컴퓨터"를 사용하고 있지 않지만,이 IDE는 오랫동안 사용되었습니다. 네트워크를 통해 Netbeans IDE에 액세스하면 (예 : VNC 사용) 잊어 버리십시오 !!! 지연은 Netbeans를 사용할 수 없게 만들 정도로 나쁩니다!

Eclipse를 처음 사용하기 위해 협박 적으로 설정하기는 어렵지만 인내한다면 원하거나 필요로하는 모든 것 (플러그인으로 가능)이있는 IDE를 사용하게 될 것입니다.

하나 이상의 IDE를 사용하고 싶지 않으며 둘 중 하나도 사용하지 않는 것 같습니다. 모든 결함이있는 Eclipse를 권장합니다.


4

그래서 ... 나는 단지 다른 의견을 추가하지만 당신이 그것을 vim 사용자로 선택할 수 있다고 생각하지 않습니다.

이맥스 + gdb http://www.cs.bu.edu/teaching/tool/emacs/programming/

우선 가장 가벼운 IDE (운영 체제라고도 함)이며 가장 사용자 정의가 가능하므로 lisp 구성 브레인 워크 리소스를 제외한 최소 리소스 사용으로 모든 작업을 수행 할 수 있습니다.

개인적으로 심각한 프로젝트가 있으면 Visual Studio를 사용하고 있습니다. 그러나 리눅스에서 작업해야 할 때 emacs를 실행합니다. (또한 qt를 전혀 좋아하지 않습니다)

또한 (대부분 내가 last.fm 플러그인과 clojure 지원을 좋아하기 때문에) Linux 용 멋진 IDE를 찾았습니다 (여전히 emacs로 전환하려고 시도했지만 어떤 이유로 든 emacs로 전환하려고 시도했습니다) IDEA , C ++에는 사용하지 않는 것이 좋습니다. 나쁘지 않아서 목록에 추가 할 수 있습니다.


1

QT와 CodeBlocks는 괜찮습니다. 최근에 CodeBlocks를 사용하고 있습니다.

그것은 makefile 프로젝트를 위해 구성 될 수 있고, 코드 완성은 대부분 작동하며, MSVS 에서처럼 완성되지 않습니다. 기능 탐색도 잘 수행됩니다.

몇 가지 사소한 문제가 있지만 Linux에서 일상적으로 작동하는 것은 IMHO입니다.


0

Linux에서 IDE를 사용하려는 유일한 시도는 2005 년에 이루어졌지만 그 당시에는 시도한 IDE (KDevelop, eclipse, Anjuta)가 좋지 않았으므로 vim + ctags + gdb로 돌아가 Linux 코딩에 여전히 사용했습니다.


아마도 당신은 답을 아는 사람 일 것입니다 : vim의 다른 계층의 계층 (부모 / 자식 구현)에서 메소드 구현으로가는 방법.
Sergei

예를 들어 Eclipse에서 조합은 메소드 이름에서 Ctrl + T입니다.
Sergei

@Sergei 죄송합니다. ctags는이를 지원하지 않습니다. : 당신은 YCM 같은 뭔가 더 좋은 행운이있을 수 있습니다 github.com/Valloric/YouCompleteMe
네마냐 Trifunovic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.