Domanda

Di recente ho iniziato a utilizzare Linux come sistema operativo principale. Quali sono gli strumenti di cui avrò bisogno per impostare un ambiente di programmazione completo in Linux per C e C ++?

È stato utile?

Soluzione

Materiale standard:

  • Gli strumenti del compilatore, gcc, gdb, ecc.
  • Una sorta di editor / IDE (emacs, vim, eclipse)
  • Strumenti di profilazione
  • Controllo del codice sorgente (SubVersion, git, ecc.)
  • Strumenti specifici del linguaggio, come easy_install per python (hai detto C / C ++, ma lo stesso vale per tutto)
  • Forse un web server? Apache, Lighttpd, nginx
  • Qualsiasi libreria che utilizzerai. Stai facendo hacker kernal? Sviluppo del driver? opengl?

Altri suggerimenti

Tra gli altri dovresti anche avere gprof e valgrind (o qualcosa nella sua classe).

Vi (o emacs), gcc, make
Lo sviluppo tradizionalmente unitario è più da riga di comando di ide. Ci sono IDE molto buoni, i principali sono probabilmente eclipse e kdevelop

Dipende dalla tua definizione di "ambiente di programmazione completo" e dal fatto che tu stia usando C, C ++ o entrambi (C / C ++ è un termine terribile che non dovrebbe essere usato. O C o C ++).

Se stai cercando un IDE, Eclipse / CDT è il più raccomandato dalla mia esperienza (in realtà non uso alcun IDE, quindi non posso offrire consigli di prima mano).

Se riesci a far fronte al controllo da riga di comando (e alla fine trovo che renda le cose più facili da fare e non ci si tenga molto ad abituarsi), sarà sufficiente un semplice editor di testo con l'evidenziazione. Preferisco KATE (parte di KDE), in quanto presenta un terminale integrato e molte funzionalità che ti aspetteresti da un editor all'interno di un IDE, come la piegatura del codice e la ricerca / sostituzione di regex.

Molte persone raccomandano anche Vim o Emacs, entrambi probabilmente disponibili tramite i repository della tua distribuzione. (Probabilmente anche Eclipse è disponibile, ma nella mia esperienza il CDT è confuso da installare tramite pacchetti. YMMV). Sono entrambi redattori antichi; e c'è una potente guerra santa tra i due, quindi non mi farò coinvolgere.

Probabilmente il tuo compilatore dovrebbe essere GCC - su un sistema Debian, l'installazione del pacchetto g ++ e build-essential dovrebbe essere sufficiente per far funzionare C ++ (build-essential dovrebbe contenere il pacchetto gcc richiesto per lo sviluppo C). Qualunque sia la tua distribuzione, GCC è probabilmente facilmente disponibile oppure già sul tuo sistema.

Secondo swilliams, direi che le basi sono:

  • un editor o IDE (io uso vim),
  • un compilatore (quasi certamente gcc)
  • crea, o forse qualche altro strumento simile come formica se vuoi
  • un debugger (quasi sicuramente gdb)
  • controllo del codice sorgente (utilizzo sovversione)
  • Utilità unix standard come grep e diff, ma ne hai già

A parte questo, direi installa come vai. Linux riguarda più piccole utility che ognuna fa una cosa rispetto agli ambienti di sviluppo monolitici che fanno tutto. Quindi, se ti accorgi di aver bisogno di qualcosa, puoi sempre installarlo, essere quel profiler di memoria, un generatore di documentazione, un editor più grande / più piccolo / più diverso, eccetera, eccetera.

Quale distribuzione stai eseguendo?

In Ubuntu o qualsiasi distribuzione basata su Debian è possibile emettere il seguente comando per installare tutti gli strumenti necessari.

sudo apt-get install build-essential

Da lì puoi installare la tua soluzione SCM preferita e un IDE se preferisci o semplicemente usi il tuo editor di testo preferito.

La più semplice delle risposte è un editor (fai la tua scelta - almeno uno è già lì) e gcc / g ++.

Se vuoi un IDE, ci sono un sacco di domande relative a quello su SO :) (incluso questo IDE C ++ per Linux? ).

Kdevelop è un IDE ben considerato e ben scritto per Linux, installandolo dovrebbe fornirti tutti gli altri strumenti che potresti voler sviluppare con anche installato e IDE per seguirlo.

Di " ogni altro strumento " Voglio dire, gcc, grep, diff, autoconf et al dovrebbero essere presi dal gestore dei pacchetti e installati allo stesso tempo, ma potrei sbagliarmi. Non ho una distribuzione standard a portata di mano per testarla.

Personalmente, uso vim, ma ho usato kdevelop in passato.

vim / vi è utile perché sai che una qualche forma di vi è sempre disponibile su ogni piattaforma unix.

  • Devo correggere il mio post. Ho appena esaminato i requisiti del pacchetto per kdevelop su Ubuntu ... NON sembra richiedere gcc e installarlo automaticamente

Se desideri qualcosa di molto facile da usare, con la possibilità di importare progetti di Visual Studio e un aspetto molto simile a VS, dai Codeblocks una prova. È veloce (poiché non basato su Java) e in generale funziona bene.

Un'altra grande utilità che puoi usare sono le pagine man * nix. Ogni funzione nella libreria C ha una pagina man associata.

Ad esempio:

man printf

man strncpy

...

Ho preso un vecchio laptop Windows con un disco rigido guasto e sostituito il disco rigido quindi installato Ubuntu (linux / debian tutto in una comoda versione) su di esso. Ho dovuto masterizzare Ubuntu file di installazione su un cd prima su un altro computer funzionante.

Ecco da dove ho preso il mio Linux (completo di interfaccia grafica desktop, molto facile da installare, molti programmi da usare, è stato il mio primo Linux ma non il mio primo unix):

http://www.ubuntu.com/getubuntu/download

Quindi ho installato Netbeans per il mio ambiente di sviluppo integrato (IDE) nonostante lo sto usando per Java - ma viene fornito con supporto c ++ come mostrato di seguito:

http://www.netbeans.org/features/cpp/

Ho anche installato mySql, non me l'hai chiesto, ma questo è un altro componente chiave che completa il mio ambiente di sviluppo.

Buona fortuna a te.

Nella maggior parte delle distribuzioni, tutto ciò di cui hai bisogno sarà installato di default (pochissimi non includono gcc, tutti includono un qualche tipo di editor). In genere faccio il mio sviluppo in Vim (o gVim, che è la versione grafica - il migliore di entrambi i mondi). Per quei momenti in cui sento la necessità di un "reale" IDE, Eclipse con il plugin Vim è davvero bello. È quasi come lavorare in Vim, tranne che per ottenere le cose di Eclipse - di nuovo, il meglio di entrambi i mondi. Il plug-in Vim per Eclipse che sto usando non è gratuito, tuttavia :( credo che ce ne sia uno gratuito, ma l'ultima volta che l'ho provato, non è stato molto buono.

Personalmente utilizzo Ubuntu con Eclipse CDT. Eclipse è ciò che la maggior parte delle persone potrebbe pensare come un IDE Java, ma CDT è un insieme di estensioni che lo mettono a punto per lo sviluppo C / C ++. È abbastanza intelligente da capire quale set di strumenti usare (MacOSX GCC vs Linux GCC, per esempio).

Eclipse CDT Website

Per i migliori risultati, attualmente 6.0 JRE per Ubuntu sembra avere problemi con le recenti versioni di Eclipse, quindi quello che ho fatto è stato rimuovere 6.0 JRE ed eseguire:

  

apt-get install build-essential   sun-java5-jre sun-java5-bin

Quindi prendi l'ultimo Eclipse dal sito web, scompattalo in una directory.

Come ultimo tocco, modifica il file eclipse.ini fornito con Eclipse e aggiungi questa riga:

  

XX: CompileCommand = escludono, org / eclipse / core / interno / dtree / DataTreeNode, forwardDeltaWith

Ciò stabilizzerà ulteriormente l'app, rendendola solida come Windows o Mac.

Se preferisci gli strumenti da riga di comando rispetto agli strumenti della GUI, alcuni che uso regolarmente:

  • CMake - Strumento di creazione portatile. È facile da usare e può generare una varietà di formati come Makefile o file di Visual Studio.
  

apt-get install cmake

  • Vim - VI migliorato, se si desidera un editor di testo con campane e fischietti. Altrimenti, usa semplicemente 'nano', che viene fornito con Ubuntu.
  

apt-get install vim

Opzioni Tweet, devi prendere la tua decisione ora e non guardare mai indietro, o rischiare di essere bruciato sul rogo:

a. Emacs b. vi (m)

Non ascoltare argomenti razionali prima di scegliere ... ascolta la luce dentro di te ...

Installa molta campana e fischietti per l'editor che scegli, vi è utilizzabile ma non è divertente. vim è divertente, ma vim con extra è fantastico.

(E lo stesso vale per Emacs anche se ciò significa installare tetris e un medico ;-))

/ Johan

Due must have sono guake e pithos. Non riesco a vedere come chiunque può avere un elenco di strumenti di sviluppo senza questi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top