Quali sono le opzioni per configurare un ambiente UNIX per imparare C usando Kernighan e Richie The C Programming Language?

5

Sono un programmatore alle prime armi e ho sperimentato con Javascript, jQuery e PHP, ma ho sentito che non stavo ottenendo una profonda comprensione di quello che stavo facendo. Quindi, dopo aver letto la risposta di Joel Spolsky a una domanda su questo sito (che non riesco a trovare adesso!), Ho ripreso le basi e letto il "Codice" di Charles Petzold e sto per passare a Kernighan e Richie's The C Programming Language . Voglio imparare questo in un ambiente UNIX ma ho solo accesso a un sistema Windows. Ho Ubuntu 12.04 in esecuzione su una macchina virtualizzata tramite VMWare Player, e ho fatto qualche codifica nel terminale.

L'uso di una distribuzione Linux è l'unica opzione per la programmazione in un ambiente UNIX su Windows? E quali sono i prossimi passi per iniziare a programmare in C in UNIX e da dove ottengo un compilatore?

    
posta br3w5 26.09.2012 - 17:31
fonte

3 risposte

11

Linux in VM è l'opzione più semplice per imparare UNIX. Se stai usando Ubuntu, puoi aprire il terminale e digitare:

sudo apt-get install gcc

E avrai il tuo compilatore. Le distribuzioni basate su Debian in generale renderanno lo sviluppo molto facile perché se manchi la libreria X, è probabile che sia già presente nei repository e puoi ottenerlo con il minimo sforzo.

Per l'altra parte della tua domanda: no, Linux in VM non è l'unico modo per andare, ma è il modo più semplice per iniziare. Puoi sempre intall FreeBSD / Open Solaris / etc ma non consiglio quelli per il tuo primo tuffo.

Infine, se vuoi forzarti ad apprendere il sistema, puoi installarlo su bare metal e abbandonare la VM. Consiglio di avviare il dual-boot. Probabilmente inizierai a incorrere in problemi di driver / configurazione :) e alla fine dovrai imparare come funziona tutto.

Buona fortuna.

Modifica

In riferimento ad alcuni commenti: MinGW e Cygwin non aiuteranno l'OP a imparare UNIX / POSIX. Il PO ha chiaramente affermato di essere interessato alla programmazione C in UNIX e ciò implica API, schemi e problemi specifici di UNIX.

    
risposta data 26.09.2012 - 17:45
fonte
5

Se davvero non vuoi passare a Linux, o continuare a usare Linux su una macchina virtuale, potresti dare Cygwin a provare. E ':

  • a collection of tools which provide a Linux look and feel environment for Windows.

  • a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality.

Ancora più importante, rende disponibile GNU Compiler Collection su Windows. Uno strumento simile, ma un po 'più sintonizzato per gli sviluppatori è MinGW . Include:

  • A port of the GNU Compiler Collection (GCC), including C, C++, ADA and Fortran compilers;
  • GNU Binutils for Windows (assembler, linker, archive manager)
  • A command-line installer (mingw-get) for MinGW and MSYS deployment on MS-Windows
  • A GUI wrapper (mingw-get-inst) for the command line installer

Tutto ciò di cui hai bisogno, e poi alcuni.

    
risposta data 26.09.2012 - 17:33
fonte
3

OSX dal 10.5 e forward è considerato ufficialmente un Unix. Solaris è un'altra opzione. Entrambi possono essere installati su Virtual Box, entrambi includono GCC come compilatore. Ignora cygwin sotto Windows, è più un problema che ne vale la pena, e non è un ambiente / esperienza Unix completa.

Uso Virtual Box sia su una macchina OSX che su una macchina Windows per ospitare Linux ( CentOS ) e con una configurazione dual monitor e molto di RAM non ti accorgi nemmeno che non è una macchina reale che stai usando.

    
risposta data 26.09.2012 - 18:21
fonte

Leggi altre domande sui tag