entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

¿C++ solo puede ser compilado en .exe o se puede compilar en otra extension?

Uso el compilador geany en linux ubuntu, y me gustaria saber si se puede usar c++ para programar microcontroladores, o para crear programas para otros sistemas operativos a parte de windows, estoy aprendiendo el lenguaje de forma autodidacta, por lo que nadie me ha explicado esto, gracias.

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola @wertygabi ,

Geany no es un compilador: es un editor de textos que ilumina sintaxis y que cuando compila, debe estar llamando a GCC, la suite ce compiladores de la GNU, para compilar tu código C++ y hacer un ejecutable. La suite permite compilar para varios lenguajes de programación, como C, C++, Ada, Fotran, etc.

Por otra parte, la extensión de un archivo es algo que se agrega al nombre para que los humanos sepamos más fácil de qué tipo es un archivo. Las computadoras no necesitan de la extensión, ya que pueden ver el archivo por dentro. Si te fijás por ejemplo en los directorios /bin y /usr/bin de tu computadota, vas a ver muchos ejecutables, y no tienen ni siquiera extensión, ya que en GNU/Linux y Unix en general, el ser ejecutable es un atributo del archivo en vez de una terminación.

Lo que creo que querés preguntar es si podés generar ejecutables para otras plataformas, como para microcontroladores, ARM, MIPS, etc. Compilar desde una plataforma para otra plataforma se llama "compilación cruzada" y sí está soportada.

En esta página tenés una lista de las arquitecturas soportadas.

Saludos cordiales

0voto

wertygabi comentado

Muchas gracias por tu respuesta, era justo eso a lo que me refería, ya me parecia raro que a pesar de que linux esta construido en c no encontraba archivos exe.

0voto

Leonardo-Tadei comentado

Fijate de abrir una Terminal, y desde la línea de comandos usar el comando file, que muestra de qué tipo es un archivo independientemenet de la extensión.

Por ejemplo:

$ file 1.jpg 
1.jpg: JPEG image data, JFIF standard 1.02

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xd3280633faaabf56a14a26693d2f810a32222e51, stripped

Cambiando la extensión, el sistema sigue tratando bien al archivo porque mirando su cabecera ve de qué tipo es.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta