¿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