Duda de programación-compilación

¿Como se compila un script en C? Porque tengo instalados los compiladores pero nose ni como se hace, ni como acceder a ellos. Y otra cosa, si el lenguaje es multiplataforma, ¿cómo diferencia que esté hecho para linux o para windoze?


Gracias [bye]
C es un lenguale compilado (opuesto a interpretado). Esto quiere decir que cuando compilas un archivo de código fuente solo lo puedes ejecutar bajo esa misma plataforma y bajo ese mismo sistema operativo.

Para compilar un archivo en C con gcc (el compilador GNU por excelencia) solo tienes que poner la orden: gcc nombrearchivocodigo.c -o nombreejecutableacrear
¿Como se compila un script en C? Porque tengo instalados los compiladores pero nose ni como se hace, ni como acceder a ellos. Y otra cosa, si el lenguaje es multiplataforma, ¿cómo diferencia que esté hecho para linux o para windoze?


¿Un script en C? Querrás decir un programa escrito en C. Los scripts son líneas de código en lenguaje cercano al humano que interpreta un interprete, como el bash o el python, y un programa es un código tambien cercano al humano, pero que es convertido a código máquina a traves de un compilador. Es que hay mucha diferencia.

Pues verás, tienes el GCC que es el que compila el código de C y C++, lo más básico es utilizarlo de esta forma:

gcc programa.c -o ejecutable

Que coje el archivo programa.c donde has escrito el código y lo transforma en un ejecutable llamado "ejecutable", pero el GCC no se limita ni mucho menos a eso, ya que tiene un montón de posibilidades, como escribir un "paso intermedio" en código ensamblador para poder retocarlo a bajo nivel, y un mucho más. En la página del GCC tienes un manual buenísimo si te interesa el tema.

Aquí.

La diferencia entre un ejecutable echo en Windoze o Linux no es por arquitectura (los dos usan el mismo procesador) sino a nivel del sistema operativo. Windoze usa unas cabeceras y una formas de entender el código y Linux otras. La compatibilidad radica en que tu puedes cojer un código fuente de C, compilarlo en Windoze, y obtener los mismos resultados que si cojes el mismo código fuente y lo compilas en Linux. Es decir el código es el mismo pero los ejecutables que obtienes en cada sistema es diferente.

Al menos eso es la teoría, ya que a día de hoy, los programas de Windoze usan muchas librerías externas que sólo están disponibles para windoze, y por eso no es fácil portar cosas de Windoze a Linux. Sin embargo al revés es fácil porque las liberias de Linux son libres y pueden portarse a Windoze. Por eso verás muchos programas de Linux en Windoze, pero pocos de Windoze que tambien funcionen en Linux.

Huelga decir que Unix, Linux y BSD son tan parecidos que la portabilidad entre unos y otros son casi casi una realidad, y por eso verás Gnome para Linux, HP-UX, FreeBSD, etc... aunque todos tengan procesadores distintos, Intel, Motorola, etc... ya que es el compilador el que se encarga de traducir en cada caso el código fuente al lenguaje del procesador en particular.

Bueno, espero haberte ayudado, un saludo [oki] [oki]
SickBoy le hemos respondido al mismo tiempo [carcajad] [carcajad]
Pero tu te curras más las respuestas ;)
Gracias a los 2 x contestar [oki] lo del script me confundi al escribirlo XD
Los scripts son líneas de código en lenguaje cercano al humano que interpreta un interprete, como el bash o el python, y un programa es un código tambien cercano al humano, pero que es convertido a código máquina a traves de un compilador.


Bueno........ Perl también es un lenguaje de scripting y no es precisamente "cercano" al lenguaje humano xDDD

Salu2.Ferdy
Aunque yo entiendo por lenguaje scripting aquel que se ejecuta sin necesidad de compilarse, sino que se va ejecutando segun sea necesario. (PHP, por ejemplo)
Escrito originalmente por Ferdy
Bueno........ Perl también es un lenguaje de scripting y no es precisamente "cercano" al lenguaje humano xDDD

Salu2.Ferdy

No me hagas recordar el CAML, eso si que es lo menos parecido al lenguaje humano que he visto en mi vida [+furioso] [+furioso]

Salu2.RaUleX ;)
-Por cierto, ya que estais despiertos podeis hecharle un vistazo a mi otro post de problemas con las X (concretamente ESTE hilo :P:P:P:P:P
9 respuestas