C++ IDE dla Linuksa? [zamknięte]

zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[3] } dla przepełnienia stosu.

Zamknięte 5 lat temu .

zamknięty. To pytanie i jego odpowiedzi są zamknięte , ponieważ pytanie jest off-topic, ale ma znaczenie historyczne. Obecnie nie przyjmuje nowych odpowiedzi ani interakcji.

Chcę poszerzyć moje horyzonty programistyczne o Linuksa. Dobry, niezawodny podstawowy zestaw narzędzi jest ważny, a co jest bardziej podstawowe niż IDE?

Znalazłem takie tematy:

Nie szukamlekkiego IDE. Jeśli IDE jest warto, to zapłacę za to, więc nie musi być za darmo.

Moje pytanie:

co dobrego, C++ Programowanie IDE jest dostępne dla Linuksa?

Minima są dość standardowe: podświetlanie składni, uzupełnianie kodu (jak intellisense lub jego odpowiednik Eclipse) i zintegrowane debugowanie (np. punktów przerwania).

Sam go szukałem, ale jest ich tak wiele, że prawie niemożliwe jest oddzielenie dobra z bads ręcznie, szczególnie dla kogoś takiego jak ja, który ma małe doświadczenie w kodowaniu C++ w Linuksie. Wiem, że Eclipse obsługuje C++, i bardzo podoba mi się to IDE dla Javy, ale czy jest dobre dla C++ i czy jest coś lepszego?

Drugi post faktycznie ma kilka dobrych sugestii, ale brakuje mi tego, co dokładnie sprawia, że sugested IDE jest tak dobre dla użytkownika, jakie są jego (dis)zalety?

Może więc moje pytanie powinno brzmieć:

co proponujesz (biorąc pod uwagę Twoje doświadczenia) i dlaczego?

 209
Author: Peter Mortensen, 2008-08-23

30 answers

Początkowo: confusion

Kiedy pisałem tę odpowiedź, niedawno dokonałem przejścia z Visual Studio (z wieloletnim doświadczeniem) na Linuksa i pierwszą rzeczą, jaką zrobiłem, było znalezienie rozsądnego IDE. W tym czasie było to niemożliwe: nie istniało żadne dobre IDE.

Epiphany: UNIX jest IDE. Wszystko.1

I wtedy zdałem sobie sprawę, że IDE w Linuksie jest wierszem poleceń z jego narzędziami:

  • Najpierw skonfiguruj swój shell
  • i twój redaktor; wybierz truciznę - oba są najnowocześniejsze:

W zależności od potrzeb, będziesz musiał zainstalować i skonfigurować kilka wtyczek, aby edytor działał ładnie (to jedyna irytująca część). Na przykład, większość Programiści w Vim-IE będą korzystać z wtyczki YouCompleteMe do inteligentnego automatycznego uzupełniania.

Gdy to zrobisz, powłoka będzie twoim interfejsem poleceń do interakcji z różnymi narzędziami-Debuggerami( gdb), Profilerami (gprof, valgrind), itp. Możesz skonfigurować środowisko projektu / budowania używając Make, CMake, SnakeMake lub którąkolwiek z różnych alternatyw. I zarządzasz swoim kodem za pomocą systemu kontroli wersji (większość ludzi używa Git ). Używasz również tmux (wcześniej również ekran) do multipleksu (=pomyśl o wielu oknach/kartach/panelach) i utrzymaj sesję terminala.

Chodzi o to, że dzięki powłoce i kilku konwencjom pisania narzędzi wszystkie integrują się ze sobą. W ten sposób powłoka Linuksa jest prawdziwie zintegrowanym środowiskiem programistycznym, całkowicie na równi z innymi nowoczesnymi IDE. (Nie oznacza to, że poszczególne IDE nie mają funkcji, których może brakować w wierszu poleceń, ale odwrotność jest również prawdą.)

Do każdego własnego

Nie mogę przecenić, jak dobrze powyższe funkcje workflow, gdy już się przyzwyczaiłeś. Ale niektórzy ludzie po prostu wolą edytory graficzne, i w latach od kiedy ta odpowiedź została pierwotnie napisana, Linux zyskał pakiet doskonałych graficznych IDE dla kilku różnych języków programowania (ale nie, o ile mi wiadomo, dla C++). Spróbuj, nawet jeśli - tak jak ja-nie będziesz ich używał. Oto mały i stronniczy wybór:

  • dla rozwoju Pythona jest PyCharm
  • dla R, jest RStudio
  • W przypadku języka JavaScript i maszynopisu dostępny jest Visual Studio Code (który jest również dobrym wszechstronnym edytorem)
  • i wreszcie, wiele osób kocha Sublime Text editor do ogólnej edycji kodu.

Należy pamiętać, że ta lista jest daleka od ukończenia.


1 ukradłem ten tytuł z dsm skomentuj.

2 kiedyś odnosiłem się tutaj do Vima. I chociaż zwykły Vim jest jeszcze bardziej niż zdolny, Neovim jest obiecującym restartem, a zmodernizowano kilka starych brodawek.

 259
Author: Konrad Rudolph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 14:49:19

Moim ulubionym jest CodeLite 2.X IDE.

Zobacz: http://www.codelite.org

Decyzja o użyciu CodeLite była oparta na badaniach dotyczących następującego C++ IDE dla Linuksa:

  • Eclipse Galileo z wtyczką CDT
  • NetBeans 6.7 (który jest również bazą dla SUNSTUDIO IDE)
  • KDevelop4
  • CodeBlocks 8.02
  • CodeLite 2.x

W końcu zdecydowałem się użyć CodeLite 2.x .

Poniżej wymieniłem kilka plusów i minusów dotyczących wspomnianych Idów C++. Proszę zauważyć, że odzwierciedla to tylko moją osobistą opinię!

EDIT: Jaka szkoda, że SOF nie obsługuje tabel, więc muszę pisać w akapitach ...

Eclipse Galileo z wtyczką CDT

Plusy:

  • rozsądny szybki
  • [11]} obsługuje również Java, Perl (z wtyczką E. P. I. C)
  • powszechnie używane i dobrze utrzymane
  • dostępne również dla innych systemów operacyjnych (Windows, MacOS ,Solaris, AIX (?))

Wady:

  • GUI jest bardzo mylące i nieco niespójne - niezbyt intuicyjne w ogóle
  • waga ciężka
  • obsługuje tylko CVS (AFAIK)

NetBeans 6.7 (zauważ, że jest to również podstawa dla SUNSTUDIO IDE)

Plusy:

  • jeden z najbardziej intuicyjnych GUI jakie kiedykolwiek widziałem
  • obsługuje również Javę, Python, Ruby
  • integruje CVS, SVN, Mercurial
  • powszechnie używane i dobrze utrzymane
  • dostępne również dla innych systemów operacyjnych (Windows, MacOS, Solaris)

Wady:

  • extremly slow
  • waga ciężka
  • używa spacji do wcięć, co nie jest zasadą w mojej pracy. Jestem pewien, że jest to konfigurowalne, ale nie mogłem dowiedzieć się, jak to zrobić

KDevelop4 (uwaga: nie testowałem na nim zbyt wiele)

Plusy:

  • powszechnie stosowane na Linux
  • integruje CVS, SVN, Mercurial

Wady:

  • GUI wygląda trochę staromodnie
  • waga ciężka
  • bardzo specyficzne dla środowiska KDE

CodeBlocks 8.02 (uwaga: nie testowałem na nim zbyt wiele)

Plusy:

  • rozsądny szybki

Wady:

    [11]}GUI wygląda trochę staromodnie (chociaż ma ładny ekran Startowy)
  • czcionki w edytorze to bardzo małe
  • niektóre ikony (np. rozpoczynające/kroczące ikony związane z debuggerem) są bardzo małe
  • brak integracji kontroli źródła

CodeLite 2.x (note: this is my personal favorite)

Plusy:

  • najlepszy, nowocześnie wyglądający i intuicyjny GUI jaki widziałem na Linuksie
  • lightweight
  • rozsądny szybki
  • integruje SVN
  • dostępne również na innych systemach operacyjnych (Windows, MacOS, Solaris(?))

Wady:

  • brak integracji CVS (to dla mnie ważne, bo muszę z niej korzystać w pracy)
  • brak wsparcia dla Java, Perl, Python (byłoby miło mieć)
 86
Author: 6 revsanon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-24 10:26:28
  1. Code:: Blocks
  2. Eclipse CDT

Wkrótce przekonasz się, że IDE nie wystarczą, a i tak będziesz musiał nauczyć się łańcucha narzędzi GCC (co nie jest trudne, przynajmniej poznając podstawową funkcjonalność). Ale nie zaszkodzi zmniejszyć przejściowy ból z IDEs, IMO.

 75
Author: Imran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-23 10:17:56

Szybka odpowiedź, żeby dodać trochę więcej wiedzy do tego tematu:
Musisz koniecznie sprawdzić NetBeans . Netbeans 6.7 posiada następujące funkcje:

  • projekty i szablony C/C++: Obsługa podświetlania składni, automatyczne uzupełnianie kodu, automatyczne wcięcia.
  • posiada Debugger C / C++
  • obsługuje konfiguracje kompilatorów, Configuration Manager i obsługę Makefile (z Wizard).
  • posiada okno klas, okno zastosowań oraz okno nawigacji plików (lub panel).
  • a widok rozszerzenia makra , a także podpowiedzi .
  • Wsparcie dla Qt development.

Myślę, że jest to doskonałe (i o wiele lepsze) Visual Studio i bardzo dobre narzędzie do nauki C / C++.

Powodzenia!

 66
Author: ramayac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-07 12:12:22

Przynajmniej dla projektów specyficznych dla Qt, Qt Creator (od Nokia/Trolltech/Digia) pokazuje wielką obietnicę.

 52
Author: Henrik Hartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-18 13:04:38
Czy mógłbyś wyjaśnić trochę więcej, Jak to było dla ciebie, co musiałeś zmienić? Może mógłbyś wskazać mi właściwy kierunek, podając linki do informacji, których użyłeś.

Moim pierwszym źródłem były strony Narzędzi man. Po prostu wpisz

$ man toolname

W wierszu poleceń ($ Tutaj jest część wiersza polecenia, nie wejście).

W zależności od platformy, są dość dobrze napisane i można je również znaleźć w Internecie. W przypadku make, przeczytałem całą dokumentację , która zajęła kilka godzin. Właściwie, nie sądzę, że jest to konieczne lub pomocne w większości przypadków, ale miałem kilka specjalnych wymagań w moich pierwszych zadaniach pod Linuksem, które wymagały Zaawansowanego pliku makefile. Po napisaniu makefile dałem go doświadczonemu koledze, który zrobił kilka drobnych poprawek i poprawek. Po tym, prawie wiedziałem make.

Używałem GVIM, ponieważ miałem tam jakieś (ale niewiele) wcześniejsze doświadczenie, I nie mogę nic powiedzieć o Emacs lub alternatywy. Uważam, że bardzo pomaga odczytywanie pliku konfiguracyjnego .gvimrc innych ludzi. Wiele osób umieszcza go w Internecie. Oto moje .

Nie próbuj opanować wszystkich binutili na raz, jest zbyt wiele funkcji. Ale uzyskaj ogólny przegląd, aby wiedzieć, gdzie szukać, gdy potrzebujesz czegoś w przyszłości. Musisz , jednak znać wszystkie ważne parametry dla g++ i ld (Narzędzie linkera GCC, które jest wywoływane automatycznie z wyjątkiem przypadków wyraźnie zabronionych).

Również jestem ciekaw, czy masz uzupełnianie kodu i podświetlanie składni podczas kodowania?

Podświetlanie składni: tak, i dużo lepsze niż w Visual Studio. Uzupełnianie kodu: tak-ish. Po pierwsze, muszę przyznać, że nie korzystałem z C++ code completion nawet w Visual Studio, ponieważ (w porównaniu do VB i C#) nie było to wystarczająco dobre. Nie używam go teraz często, ale mimo to, GVIM ma natywne uzupełnianie kodu wsparcie dla C++. W połączeniu z biblioteką ctags i wtyczką podobną do taglist jest to prawie IDE.

Zacząłem od artykułu Armina Ronachera. Przed przeczytaniem tekstu, spójrz na zrzuty ekranu na końcu!

Czy musisz najpierw skompilować przed otrzymaniem błędów (składni)?

Tak. Ale to samo dotyczy Visual Studio, prawda (nigdy nie używałem całego pomidora)? Oczywiście składnia podświetlenie pokaże Ci niepasujące nawiasy, ale to wszystko.

I jak debugować (ponownie myśleć breakpoints itp)?

Używam gdb, który jest narzędziem wiersza poleceń. Istnieje również graficzna nakładka o nazwie DDD. gdb jest nowoczesnym narzędziem do debugowania i może zrobić wszystko, co możesz zrobić w IDE. Jedyną rzeczą, która naprawdę mnie denerwuje, jest czytanie śladu stosu, ponieważ linie nie są wcięte ani sformatowane, więc naprawdę trudno jest zeskanować informacje, gdy używasz dużo szablonów (co robię). Ale one również zaśmiecają ślad stosu w Idach.

Jak już mówiłem, miałem "przyjemność" stawiać pierwsze kroki w języku programowania Java przy użyciu Notatnika windows i kompilatora java z linii poleceń w liceum, i to było, .. co za koszmar! oczywiście, kiedy mogłem porównać go z innymi kursami programowania, które miałem wtedy, gdzie mieliśmy przyzwoite IDE

Nie powinieneś nawet próbować porównywać nowoczesnego, pełnowartościowego edytora, takiego jak Emacs lub GVIM do Notatnika. Notatnik jest ozdobionym kontrolerem TextBox i to naprawdę robi różnicę. Dodatkowo praca z wierszem poleceń to zupełnie inne doświadczenie w Linuksie i Windows. Okna {[12] } są poważnie uszkodzone. PowerShell jest znacznie lepszy.

/ EDIT: powinienem wyraźnie wspomnieć, że GVIM ma edytowanie kart (jak w przeglądaniu kart, nie tabs-vs-spacje)! Wieki Zajęło mi znalezienie ich, chociaż wcale nie są ukryte. Wystarczy wpisać :tabe zamiast plain :e podczas otwierania pliku lub tworzenia nowego, a GVIM utworzy nową kartę. Przełączanie między zakładkami można wykonać za pomocą kursora lub kilku różnych skrótów (w zależności od platformy). Klawisz gt (Wpisz g , następnie t w trybie komend) powinien działać wszędzie i przeskakiwać do następnej zakładki Lub zakładki nr. N jeśli podano liczbę. Wpisz :help gt, aby uzyskać więcej pomocy.

 32
Author: Konrad Rudolph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-18 10:51:02

Nie chcę powtarzać odpowiedzi, ale myślę, że mogę dodać trochę więcej.

Slickedit jest doskonałym IDE.

Dobrze obsługuje duże bazy kodu, nie spowalniając ani nie poświęcając całego czasu na indeksowanie. (To jest problem, który miałem z CDT eclipse). Prędkość Slickedit to chyba najładniejsza rzecz.
Uzupełnianie kodu działa dobrze i istnieje duża ilość opcji takich jak automatyczne formatowanie, upiększanie i refaktoryzacja.
Ma zintegrowane debugowanie.
Posiada obsługę wtyczek i dość aktywną społeczność je tworzącą.
Teoretycznie powinieneś być w stanie dobrze zintegrować się z ludźmi wykonującymi tradycyjne pliki makefile, ponieważ pozwala ci to stworzyć projekt bezpośrednio z jednego, ale to nie działało tak płynnie, jak bym chciał, gdy go wypróbowałem.
Oprócz Linuksa, istnieją wersje Mac i Windows, jeśli ich potrzebujesz.

 25
Author: rck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-08 17:31:44

Jako stary UNIKSOWIEC, zawsze używam Emacsa. Ale to ma dość stromą i długą krzywą uczenia się, więc nie jestem pewien, czy mogę polecić go nowym.

Naprawdę nie ma "dobrego" IDE dla Linuksa. Eclipse nie jest zbyt dobre dla C / C++ (CDT się poprawia, ale nie jest jeszcze zbyt przydatne). W innych brakuje wszystkich funkcji, których będziesz szukał.

Naprawdę ważne jest, aby dowiedzieć się, jak wszystkie poszczególne narzędzia (gcc, make, gdb, itp.) praca. Gdy to zrobisz, możesz znaleźć sposób działania Visual Studio jest bardzo ograniczający.

 23
Author: Kristopher Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-08 09:39:07

Checkout Netbeans, jest napisany w Javie, więc będziesz miał to samo środowisko niezależnie od systemu operacyjnego i obsługuje znacznie więcej niż tylko C++.

Nie będę cię przekonywał, bo myślę, że IDE mogą być bardzo osobistym wyborem. Dla mnie poprawia moją produktywność, ponieważ jest szybki, obsługuje języki, w których koduję i ma standardowe funkcje, których można oczekiwać od IDE.

 18
Author: Steve M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-23 09:55:17

Tylko szybka kontynuacja tego pytania...

Minął miesiąc odkąd zacząłem używać Vima jako głównego "GUI" narzędzie do programowania C++ w Linuksie. Na początku nauka krzywa rzeczywiście była trochę stroma, ale po chwili i z prawo opcje włączone i Skrypty uruchomione naprawdę załapałem się!

Uwielbiam sposób, w jaki możesz kształtować Vima, aby spełniał Twoje potrzeby; wystarczy dodać / zmienić mapowanie klucza i Vim zostanie zamieniony w wysoce wydajne "IDE".

The toolchain do budowy i kompilacji programu C++ na Linuksie jest również bardzo intuicyjne. make i g++ to narzędzia, które będziesz użyj.

Debugger ddd nie jest jednak tak dobry, ale może to dlatego, że nie miałem czasu, by to opanować. jak należy.

Więc dla każdego, kto jest, lub szukał dobrego C++ IDE w Linux, tak jak ja, najlepiej stawiasz na standard dostępne narzędzia w samym Linuksie (Vim, g++, ddd) I ty powinien przynajmniej spróbować użyć nich, przed szukaniem coś jeszcze...

Na koniec chciałbym podziękować Konradowi za jego odpowiedź tutaj, to naprawdę pomogło mi znaleźć drogę w Linux development environment, dziękujemy!

Ja też nie zamykam to pytanie, więc ludzie mogą jeszcze reagować, a może nawet dodawać nowe sugestie lub dodatki do już naprawdę ładne odpowiedzi...

 18
Author: sven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:42

Polecam przeczytać The Art of Unix Progranmming . To upozoruje twój umysł na używanie środowiska jako IDE.

 15
Author: dsm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-08 09:59:30

Krótsza odpowiedź brzmi: wybierz dowolny "edytor", a następnie Użyj konsoli GDB lub prostego interfejsu GDB do debugowania aplikacji. Debuggery są dostarczane z wymyślnymi Idami, takimi jak Netbeans sucks dla C / C++. Używam Netbeans jako mojego edytora, a Insight i GDB console jako mój debugger.

Z insight, masz ładny GUI i surową moc GDB.

Jak tylko przyzwyczaisz się do komend GDB, zaczniesz go kochać, ponieważ możesz robić rzeczy, których nigdy nie będziesz w stanie zrobić za pomocą GUI. Możesz używać nawet Pythona jako języka skryptowego, jeśli używasz GDB 7 lub nowszej wersji.

Większość ludzi tutaj zwracała większą uwagę na "redaktorów" IDEs. Jeśli jednak tworzysz duży projekt w C / C++, możesz z łatwością poświęcić ponad 70% swojego czasu na "debuggery". Debuggery fancy IDEs są co najmniej 10 lat za Visual Studio. Na przykład Netbenas ma bardzo podobne interfejsy z Visual Studio. Ale jego debugger ma wiele wady w porównaniu do Visual Studio.

  1. bardzo wolno wyświetlać nawet tablicę zawierającą tylko kilkaset elementów
  2. brak podświetlania dla zmienionej wartości ( domyślnie visual studio wyświetla zmienione wartości w oknie obserwacyjnym na Czerwono)
  3. Bardzo ograniczona zdolność do okazywania pamięci.
  4. nie można modyfikować kodu źródłowego, a następnie kontynuować jego działanie. Jeśli błąd zajmie dużo czasu, chcesz zmienić źródło i zastosować zmiany na żywo i kontynuować działanie podanie.
  5. nie można zmienić polecenia "next statement" na run. W programie Visual Studio możesz użyć "Set Next Statement", aby zmienić sposób działania aplikacji. Chociaż ta funkcja może spowodować awarię aplikacji, Jeśli nie jest używana prawidłowo, ale pozwoli zaoszczędzić dużo czasu. Na przykład, jeśli stwierdziłeś, że stan aplikacji jest nieprawidłowy, ale nie wiesz, co spowodowało problemy, możesz chcieć ponownie uruchomić określony region kodów źródłowych bez ponownego uruchamiania aplikacji podanie.
  6. brak wbudowanego wsparcia dla STL, takich jak vector, list, deque i map itp.
  7. brak punktów obserwacyjnych. Musisz mieć tę funkcję, gdy musisz zatrzymać aplikację w momencie zmiany zmiennej. Komputery oparte na Intel mają sprzętowe punkty obserwacyjne, dzięki czemu punkty obserwacyjne nie spowalniają systemu. Znalezienie trudnych do znalezienia błędów może zająć wiele godzin bez użycia punktów obserwacyjnych. "Visual Studio" nazywa "watch pointer" jako "Data BreakPoint".

Lista może być znacznie dłuższa.

Byłem tak sfrustrowany wadami Netbeans lub innych podobnych IDE, że zacząłem uczyć się samego GDB. Okazało się, że samo GDB jest bardzo potężne. GDB nie ma wszystkich " wad " wymienionych powyżej. W rzeczywistości GDB jest bardzo wydajny, pod wieloma względami jest nawet lepszy niż Visual Studio. Tutaj pokażę wam bardzo prosty przykład.

Na przykład macie tablicę w stylu:

struct IdAndValue
{
  int ID;
  int value;
};


IdAndValue IdAndValues[1000];

Gdy aplikacja przestanie działać, i chcesz sprawdzić dane w IdAndValues. Na przykład, jeśli chcesz znaleźć porządki i wartości w tablicy dla określonego "ID", możesz utworzyć skrypt w następujący sposób:

define PrintVal 
set $i=0
printf "ID = %d\n", $arg0
while $i<1000
  if IdAndValues[$i].ID == $arg0
    printf "ordinal = %d, value = %d\n", $i, IdAndValues[$i].vaue
    set $i++
  end
end
end

Możesz używać wszystkich zmiennych w aplikacji w bieżącym kontekście, własnych zmiennych (w naszym przykładzie jest to $i), przekazywanych argumentów (w naszym przykładzie jest to $arg0) i wszystkich poleceń GDB (wbudowanych lub zdefiniowanych przez użytkownika).

Użyj PrintVal 1 z GDB prompt do wypisania wartości dla ID "1"

Nawiasem mówiąc, NetBeans ma konsolę GDB, ale używając konsoli, możesz zawiesić Netbeans. I uważam, że właśnie dlatego konsola jest domyślnie ukryta w NetBeans

 12
Author: Charles Zhang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-04 23:29:49

Używam " Geany ", który do tej pory był dobry, jego szybki i lekki IDE.

Wśród cech Geany są :

  • składanie kodu
  • zapisywanie sesji
  • podstawowe funkcje IDE, takie jak podświetlanie składni, zakładki, automatyczne wcięcia i uzupełnianie kodu
  • proste zarządzanie projektami
  • Build system
  • Color picker (zaskakująco przydatny podczas tworzenia stron internetowych)
  • Emulacja wbudowanego terminala
  • Porady Call
  • listy symboli
  • Automatyczne uzupełnianie wspólnych konstrukcji (takich jak if, else, while, itp.)
 11
Author: TheCottonSilk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-06 06:28:55

Jeśli lubisz Eclipse dla Javy, proponuję Eclipse CDT. Pomimo, że obsługa C / C++ nie jest tak potężna, jak w przypadku Javy, nadal oferuje większość funkcji. Posiada ładną funkcję o nazwie Managed Project, która ułatwia pracę z projektami C / C++, jeśli nie masz doświadczenia z plikami Makefiles. Ale nadal możesz używać plików Makefiles. Zajmuję się kodowaniem C i Java i jestem bardzo zadowolony z CDT. Rozwijam firmware dla urządzenia wbudowanego w C i aplikacji w Javie, która rozmawia z tym urządzeniem i jest naprawdę miło jest używać tego samego środowiska dla obu. To chyba czyni mnie bardziej produktywnym.

 10
Author: jassuncao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-23 14:32:22

Uwielbiam, jak ludzie całkowicie tęsknią za prośbą w oryginalnym pytaniu o IDE. Linux nie jest IDE. Po prostu nie to znaczą te słowa. Uczyłem się c i C++ używając vi, gcc i make, i nie mówię, że nie są to odpowiednie narzędzia, ale nie są IDE. Nawet jeśli używasz bardziej rozbudowanych narzędzi, takich jak vim lub emacs lub jakikolwiek fantazyjny edytor chcesz, wpisywanie poleceń w wierszu poleceń nie jest IDE.

Wiecie też, że make istnieje jako część visual studio, prawda? Pomysł to, że IDE jest "ograniczające" jest po prostu głupie, jeśli można użyć IDE, aby przyspieszyć niektóre rzeczy, ale nadal są w stanie wycofać się na wierszu poleceń rzeczy, gdy są potrzebne.

To wszystko, sugerowałbym, jak kilka wyżej, wypróbowanie bloków kodu. Ma przyzwoite podświetlanie kodu, dość łatwy sposób na stworzenie projektu, kodowanie go, uruchamianie itp., który jest rdzeniem prawdziwego IDE i wydaje się dość stabilny. Debugowanie jest do bani...Nigdy nie widziałem przyzwoitego interaktywnego debuggera w żadnym wariancie linux / unix. gdb ain ' t to. Jeśli jesteś przyzwyczajony do debugowania w stylu visual studio, masz dość dużo szczęścia.

W każdym razie, pójdę spakować swoje rzeczy, Wiem, że tłum Linuksa tylko jeden widok wykrzyczy to i wyrzuci mnie z miasta w mgnieniu oka.

 9
Author: SomeGuy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-23 17:35:36

Make + vim + gdb = jeden wielki IDE

 8
Author: Matt Fichman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-03 19:43:04

Bardzo lubię Ultimate++'S IDE. Ma kilka funkcji, które zostały zaprojektowane do użycia z własną biblioteką (która, BTW, jest całkiem fajnym zestawem narzędzi, jeśli nie chcesz kupować na GTK+ lub QT), ale działa doskonale z ogólnymi projektami C++. Zapewnia przyzwoite uzupełnianie kodu, dobre kolorowanie składni, zintegrowane debugowanie i wszystkie inne funkcje, które obsługuje większość nowoczesnych IDE.

 7
Author: dguaraglia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-11 17:50:12

Naprawdę proponuję codeblocks . Nie jest tak ciężki jak Eclipse i ma wsparcie dla projektu Visual Studio.

 7
Author: DavidG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-07 12:03:55

Być może Linux Tools Project dla Eclipse mógłby zaspokoić Twoje potrzeby?

Projekt Linux Tools ma na celu dostarczenie w pełni funkcjonalnego C i C++ IDE dla programistów Linuksa. Bazujemy na funkcjach edycji i debugowania źródeł CDT i integrujemy popularne natywne narzędzia programistyczne, takie jak GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng itp. Aktualne projekty obejmują LTTng śledzenia przeglądarek i analizatorów, RPM .spec editor, Autotools build integracja, narzędzie do analizy użycia sterty Valgrind i narzędzia do profilowania wywołań oprofile.

 6
Author: Jean Hominal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-14 14:45:13

Na Linuksie jest mnóstwo Idów:

W moim doświadczeniu, najcenniejsze są Eclipse i Qt Creator . Oba zapewniają wszystkie "standardowe" funkcje(np. autocompletion, składnia highlightning, debugger, integracja z git). Warto zauważyć, że Eclipse zapewnia również funkcje refaktoryzacji, podczas gdy Qt Creator zapewnia integrację z Valgrind i wsparcie dla wdrażania na odległych obiektach.

Również komercyjny CLion IDE wydaje się preety dobry (ale nie używałem go szeroko).

 6
Author: Claudio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-26 13:11:50

Słyszałem, że Anjuta jest całkiem fajna dla użytkowników Gnome. Grałem trochę z KDevelop i jest ładny, ale trochę brakuje funkcji. Code:: Blocks jest również bardzo obiecujący, a ten najbardziej mi się podoba.

 5
Author: wvdschel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-23 12:14:51

Sun Studio Wersja 12 jest do pobrania za darmo (darmowe i płatne wsparcie dostępne) -- http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0.

Jestem pewien, że masz uzupełnianie kodu i obsługę debugowania, w tym obsługę wtyczek w tym IDE.

Sun Studio jest dostępne zarówno dla Linuksa, jak i Solarisa. fora: http://developers.sun.com/sunstudio/community/forums/index.jsp . Sun Studio Linux forum : http://forum.sun.com/forum.jspa?forumID=855

Z chęcią wysłucham Waszych opinii na temat tego narzędzia.

BR,
~A

 5
Author: anjanb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 19:55:23

Używałem wcześniej Ultimate++ IDE i jest całkiem dobry.

 5
Author: Hernán,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-21 19:48:59

I wtedy zauważyłem, że po prostu nie tak się tam pracuje*, i wyrzuciłem wszystko, spędziłem kilka dni czytając podręczniki, skonfigurowałem moją powłokę (bash), skonfigurowałem środowisko GVIM, nauczyłem się łańcucha narzędzi GCC/binutils, make i gdb i żyłem długo i szczęśliwie.

W większości się Zgadzam, ale problem polega również na postrzeganiu: zapominamy, jak trudno było stać się produktywnym w dowolnym wybranym środowisku IDE (lub innym). Znajduję IDE (Visual Studio, NetBeans, Eclipse) zadziwiająco uciążliwe pod wieloma względami.

Jako stary UNIKSOWIEC zawsze używam Emacsa. Ale to ma dość stromy i długa krzywa uczenia się, więc nie jestem pewien, czy mogę polecić go nowicjuszom.

Popieram to; używam Emacsa jako głównego edytora zarówno na Linuksie, jak i na MSW (XP2,W2K). Nie zgadzam się, że ma stromą krzywą uczenia się, ale powiedziałbym, że ze względu na ogromną liczbę funkcji ma długą krzywą uczenia się. Możesz być produktywny w krótkim czasie, ale jeśli chcesz, możesz nauczyć się nowych funkcji tego przez wiele lat.

Jednak -- nie oczekuj, że wszystkie funkcje Emacsa będą dostępne w rozwijanych menu, jest po prostu zbyt wiele funkcji, aby je tam znaleźć.

Jak mówiłem, używam GNU Emacs na MSW od lat. I zawsze dobrze działało z Visual Studio, dopóki nie "uaktualniłem" do 2008 roku; teraz czasami opóźnia wiele sekund przed odświeżeniem plików z dysku. Głównym powodem edycji w okno VS jest funkcją uzupełniania kodu "Intellisense".

 5
Author: NVRAM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-05 20:21:41

Geany polecam

 5
Author: Sven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-24 12:01:55

Chociaż używam Vima, niektórzy z moich współpracowników używają SlickEdit , który wygląda całkiem nieźle. Nie jestem pewien co do zintegrowanego debugowania, ponieważ i tak nie bylibyśmy w stanie tego zrobić w naszym konkretnym projekcie.

SlickEdit ma dobre wsparcie dla poruszania się po dużych bazach kodu, z odniesieniami krzyżowymi i skokami znaczników. Oczywiście ma podstawowe rzeczy, takie jak podświetlanie składni i uzupełnianie kodu.

 5
Author: Greg Hewgill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-07 13:59:22

Używam Eclipse CDT i Qt Creator (dla aplikacji Qt).

To moje preferencje. To bardzo sugestywne pytanie i odpowiedzi jest tyle, ile jest deweloperów. :)

 5
Author: Etienne Savard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-30 15:16:17

SlickEdit. Używam i uwielbiam SlickEdit od 2005 roku, zarówno na Windows, jak i na Linuksie. Mam również doświadczenie w pracy w Visual Studio (5, 6, 2003, 2005) i tylko z Emacsem i wierszem poleceń. Używam SlickEdit z zewnętrznymi plikami Makefile, niektórzy z moich kolegów używają SlickEdit, inni korzystają z Emacs / vi. nie używam zintegrowanego debuggera, zintegrowanej kontroli wersji, zintegrowanego systemu budowania: ogólnie uważam, że integracja jest zbyt duża, aby być prawdziwym bólem. SlickEdit jest solidny (bardzo mało błędów), szybki i intuicyjne. To jest jak niemiecki samochód, samochód kierowcy.

Najnowsze wersje SlickEdit wydają się oferować wiele funkcji, które mnie nie interesują, trochę się martwię, że produkt stanie się nadęty i rozcieńczony w przyszłości. Na razie (używam V13. 0) jest super.

 4
Author: Radim Cernej,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-09 02:35:05

Dla mnie Ultimate++ wydaje się być najlepszym rozwiązaniem do napisania programu cross-os

 3
Author: IonLupascu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-17 17:13:24

Jeśli używałeś Vima przez długi czas, powinieneś zrobić to jako swoje IDE. Dostępnych jest wiele dodatków. Znalazłem kilka z nich jako bardzo przydatne, i skompilowane go tutaj, spójrz na to.

I wiele więcej w serii VI / vim tips & tricks.

 3
Author: thegeek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-30 11:04:24