Pregunta

Recientemente comencé a usar Linux como mi sistema operativo principal. ¿Cuáles son las herramientas que necesitaré para configurar un entorno de programación completo en Linux para C y C ++?

¿Fue útil?

Solución

Material estándar:

  • Las herramientas del compilador, gcc, gdb, etc.
  • Algún tipo de editor / IDE (emacs, vim, eclipse)
  • Herramientas de perfilado
  • Control de fuente (SubVersion, git, etc.)
  • Herramientas específicas del lenguaje, como easy_install para python (usted dijo C / C ++, pero lo mismo ocurre con todo)
  • ¿Quizás un servidor web? Apache, Lighttpd, nginx
  • Cualquier biblioteca que usará. ¿Estás haciendo piratería informática? Desarrollo de controladores? opengl?

Otros consejos

Entre otros, también debería tener gprof y valgrind (o algo en su clase).

Vi (o emacs), gcc, make
Tradicionalmente, el desarrollo de Unix es más línea de comando que ide. Hay IDE muy buenos, los principales son probablemente eclipse y kdevelop

Depende de su definición de "Entorno de programación completo" y de si está utilizando C, C ++ o ambos (C / C ++ es un término horrible que no debe usarse. O es C o C ++).

Si está buscando un IDE, Eclipse / CDT es el más recomendado desde mi experiencia (en realidad no uso ningún IDE, por lo que no puedo ofrecer consejos de primera mano).

Si puede hacer frente al control de línea de comandos (y al final creo que hace las cosas más fáciles de hacer y no requiere mucho tiempo acostumbrarse), un simple editor de texto con resaltado será suficiente. Prefiero KATE (parte de KDE), ya que cuenta con un terminal incorporado, así como muchas características que esperaría de un editor dentro de un IDE, como el plegado de código y la búsqueda / reemplazo de expresiones regulares.

Muchas personas también recomiendan Vim o Emacs, los cuales probablemente estén disponibles a través de los repositorios de su distribución. (Eclipse probablemente también esté disponible, pero en mi experiencia el CDT es confuso para instalar a través de paquetes. YMMV). Ambos son editores antiguos; y hay una poderosa guerra santa entre los dos, así que no me involucraré.

Su compilador probablemente debería ser GCC: en un sistema Debian, la instalación del paquete g ++ y build-essential debería ser suficiente para que C ++ funcione (build-essential debería contener el paquete gcc requerido para el desarrollo de C). Cualquiera sea su distribución, GCC probablemente esté fácilmente disponible o bien ya esté en su sistema.

Secundando swilliams, diría que los conceptos básicos son:

  • un editor o IDE (uso vim),
  • un compilador (casi seguramente gcc)
  • make, o tal vez alguna otra herramienta similar como hormiga si quieres
  • un depurador (casi seguro gdb)
  • control de fuente (uso subversion)
  • Utilidades estándar de Unix como grep y diff, pero ya las tienes

Aparte de eso, yo diría instalar sobre la marcha. Linux se trata más de pequeñas utilidades que cada una hace una cosa que los entornos de desarrollo monolíticos que lo hacen todo. Por lo tanto, si necesita algo, siempre puede instalarlo, ya sea un generador de perfiles de memoria, un generador de documentación, un editor más grande / más pequeño / más diferente, etc., etc.,

¿Qué distribución estás ejecutando?

En Ubuntu o cualquier distribución basada en Debian puede emitir el siguiente comando para instalar todas las herramientas necesarias.

sudo apt-get install build-essential

Desde allí puede instalar su solución SCM de elección y un IDE si lo prefiere o simplemente usar su editor de texto favorito.

La respuesta más simple es un editor (elija, al menos uno ya está allí) y gcc / g ++.

Si desea un IDE, hay una serie de preguntas relacionadas con eso en SO :) (incluida esta C ++ IDE para Linux? ).

Kdevelop es un IDE bien pensado y bien escrito para Linux, al instalarlo debería obtener cualquier otra herramienta que desee desarrollar con instalado también e IDE para acompañarlo.

Por '' cualquier otra herramienta '' Me refiero a que el administrador de paquetes debe tomar e instalar gcc, grep, diff, autoconf y otros al mismo tiempo, pero podría estar equivocado. No tengo una distribución estándar disponible para probar eso.

Personalmente, uso vim, pero he usado kdevelop en el pasado.

vim / vi es útil porque sabe que alguna forma de vi está siempre disponible en cada plataforma unix.

  • Tengo que corregir mi publicación. Acabo de ver los requisitos del paquete para kdevelop en ubuntu ... NO parece requerir gcc e instalarlo automáticamente

Si desea algo muy fácil de usar, con capacidad para importar proyectos de estudio visual y una sensación muy parecida a VS, otorgue Codeblocks un intento. Es rápido (ya que no está basado en Java) y en general funciona bien.

Otra gran utilidad que puede usar son las páginas de manual * nix. Cada función en la biblioteca C tiene una página man asociada.

Por ejemplo:

hombre printf

man strncpy

...

Tomé una vieja computadora portátil Windows con un disco duro muerto y reemplazó el disco duro y luego instaló Ubuntu (linux / debian todo en un lanzamiento práctico) en él. Tuve que quemar el ubuntu instalar archivos en un CD primero en otra computadora que funcione.

Aquí es donde obtuve mi Linux (completo con la interfaz de usuario de escritorio, muy fácil de instalar, muchos programas para usar, fue mi primer linux pero no mi primer unix):

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

Luego instalé Netbeans para mi entorno de desarrollo integrado (IDE) aunque lo estoy usando para java, pero viene con soporte de c ++ como se muestra a continuación:

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

También instalé mySql, no lo preguntaste, pero ese es otro componente clave que completa mi entorno de desarrollo.

Buena suerte.

En la mayoría de las distribuciones, todo lo que necesita se instalará de forma predeterminada (muy pocas no incluyen gcc, todas incluyen algún tipo de editor). Generalmente hago mi desarrollo en Vim (o gVim, que es la versión gráfica, lo mejor de ambos mundos). Para esos momentos en que siento la necesidad de un "real" IDE, Eclipse con el complemento Vim es realmente agradable. Es casi como trabajar en Vim, excepto que obtienes las cosas de Eclipse, nuevamente, lo mejor de ambos mundos. Sin embargo, el complemento Vim para Eclipse que estoy usando no es gratuito :( Creo que hay uno gratuito, pero la última vez que lo probé no fue muy bueno.

Personalmente uso Ubuntu con Eclipse CDT. Eclipse es lo que la mayoría de la gente podría pensar como un IDE de Java, pero CDT es un conjunto de extensiones que realmente lo ajustan para el desarrollo de C / C ++. Es lo suficientemente inteligente como para determinar qué conjunto de herramientas usar (MacOSX GCC vs Linux GCC, por ejemplo).

Eclipse CDT Website

Para obtener mejores resultados, actualmente el 6.0 JRE para Ubuntu parece tener problemas con las versiones recientes de Eclipse, así que lo que hice fue eliminar el 6.0 JRE y ejecutar:

  

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

Luego tome el último Eclipse del sitio web, descomprímalo en un directorio.

Como toque final, edite el archivo eclipse.ini que viene con Eclipse y agréguele esta línea:

  

-XX: CompileCommand = exclude, org / eclipse / core / internal / dtree / DataTreeNode, forwardDeltaWith

Esto estabilizará aún más la aplicación, haciéndola tan sólida como Windows o Mac.

Si prefiere las herramientas de línea de comandos sobre las herramientas de la GUI, algunas que uso regularmente:

  • CMake - Herramienta de construcción portátil. Es fácil de usar y puede generar una variedad de formatos como Makefiles o archivos de Visual Studio.
  

apt-get install cmake

  • Vim - VI mejorado, si desea un editor de texto con algunas campanas y silbatos. De lo contrario, solo use 'nano', que viene con Ubuntu.
  

apt-get install vim

Twe opciones, debe tomar su decisión ahora y nunca mirar hacia atrás, o arriesgarse a quemarse en la hoguera:

a. Emacs segundo. vi (m)

No escuches ningún argumento racional antes de elegir ... escucha la luz dentro de ti ...

Instale muchos silbatos de campana para el editor que elija, vi es utilizable pero no es divertido. vim es divertido, pero vim con extras es genial.

(Y lo mismo es cierto para Emacs, incluso si eso significa instalar tetris y un médico ;-))

/ Johan

Dos must haves son guake y pithos. No puedo ver cómo alguien puede tener una lista de herramientas de desarrollo sin estas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top