Guía de programación en C++ sobre AmayaOS. 1.0 - ¿Qué necesitamos ? - Un editor de texto como gedit o leafpad. - Una copia del código de AmayaOS. 2.0 – Comenzando – Sencillo hola mundo. /* Programa Hola mundo */ #include <stdio.h> /* Biblioteca estandar */ int main(int argc, char **argv) { printf(“Hola Mundo\r\n”); } 2.1 – Compilar y ejecutar hola mundo. Creamos en /bin/hola un archivo Main.cpp, lo abrimos y copiamos el código anterior y finalmente guardamos. Nota : Copiad el código a mano u os dará problemas. – Vamos a /bin y creamos la carpeta “hola”, luego abrimos el archivo SCONScript (/bin/SCONScript) y añadimos hola de forma que quede así. Copiamos el SCONScript de /bin/sleep a nuestra carpeta (/bin/hola) y lo modificamos para que quede así. – Ahora abrimos una terminal linux en “/” e introduccimos $ scons iso . El resultado de esto no debería contener errores y deberia compilarnos en /boot una ISO de AmayaOS con nuestro programa. – A continuación cargamos la versión de AmayaOS con nuestro hola mundo con el emulador que queramos. Yo usaré QEMU, Ej : qemu -usb -cdrom boot/nombredelaiso.iso. Según nos aparecca la shell (live@amaya-os:/home/live$) metemos hola y debería salirnos algo similar a esto. 2.2 – Comprendiendo el código. /* Programa Hola Mundo / - Todo lo que se coloca detrás de /* no se compila, es lo que llamamos comentarios, son indicaciones para nosotros o para las personas que lean nuestro código. #include <stdio.h> - Biblioteca estandar de entrada y salida, es la que contiene las funciones como printf. Existen más como stdlib.h. Int main(int argc, char **argv) – Creamos o abrimos la función principal del programa. En AmayaOS todo el software (Existen algunas excepciones) que creemos debe llevar una función main, sino SCONS nos tirará un error, de una referencia inexistente a main. { - Se coloca para indicar cuando empieza la función main (En este caso). printf(“Hola Mundo\r\n”); - Se utiliza printf para escribir caracteres en la pantalla. Se ve lo que pone entre las comillas, el \r\n es para que baje a la siguiente línea, es decir sin \r\n al ejecutar hola sería algo así. Hola Mundolive@amaya-os:/home/live$ Printf permite escribir en los 16 colores del driver VGA de AmayaOS. Si sustituimos “hola mundo” (Incluidas las comillas) e introduccimos una variable nos la mostrará. } - En este caso se coloca para indicar que acaba la función main. 2.3 – Función gets – Se encuentra en la biblioteca stdio.h y permite obtener una serie de caracteres de una línea de comandos. Uso : gets(variable); - Para crear la variable (con el nombre que queramos) debemos utilizar char de la siguiente forma : char *variable; 3.0 – Ejercicio 1 - Consiste en hacer un programa que cumpla las siguientes características : - Nos pida que introduccamos una palabra. - Nos deje introduccirla. - Al pulsar enter (Para introduccir la palabra) nos muestre nuestra palabra y se acabe el programa volviendo a la shell de AmayaOS (live@amaya-os). A continuación la solución, aunque es válida cualquier forma que cumpla las características especificadas anteriormente. 3.1 – Solución #include <stdio.h> /* Biblioteca estandar */ int main(int argc, char **argv) { char *palabra; printf("Introducce una palabra :"); gets(palabra); printf(palabra); } Yo doy esta solución, aunque como he dicho antes vale cualquiera que cumpla las tres características. Al final queda algo así : Curso 1 de introducción a la programación en C++ sobre AmayaOS. - Licencia GNU GPL v3.