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.