Crear tu primer proyecto C
Una vez instaladas las VMs (o el entorno Linux que hayas elegido), debemos continuar con un par de configuraciones antes de arrancar a desarrollar.
Descargar la so-commons-library
Para facilitar el desarrollo del TP, desde la cátedra proveemos una biblioteca con TADs de uso común: la commons library. Esta biblioteca nos va a proveer colecciones vistas en AyED, como listas y queues, y funciones para simplificar el manejo de strings y fechas, entre otras.
Para descargarla, vamos a abrir una consola y nos vamos a clonar el repo para instalarlas en modo debug[1]:
git clone https://github.com/sisoputnfrba/so-commons-library
cd so-commons-library
make debug
make install
TIP
En los archivos *.h
del repo vas a encontrar todas las funciones que pueden usar junto con una breve descripción.
Descargar el template oficial
Ahora sí, una vez instaladas las commons, vamos a probar de incluirlas en nuestro primer proyecto en Visual Studio Code.
Para eso, abrimos una nueva consola y creamos un nuevo directorio para nuestro proyecto. Luego, nos vamos a mover a ese directorio y, una vez allí, vamos a descargar el template oficial:
mkdir ejemplo
cd ejemplo
wget -qO- https://faq.utnso.com.ar/project.tar.gz | tar -xzvf - --strip-components 1
TIP
También podés crear un nuevo proyecto desde GitHub incluyendo el template c-base-project a la hora de crear un nuevo repositorio:
Y luego clonar el repositorio recién creado ejecutando git clone
.
Si ejecutamos tree -a
, vamos a ver que se nos descargaron varios archivos:
.
├── .gitignore
├── makefile
├── README.md
├── settings.mk
├── src
│ └── main.c
└── .vscode
├── c_cpp_properties.json
├── launch.json
├── settings.json
└── tasks.json
2 directories, 9 files
Abrir el proyecto en Visual Studio Code
Ahora, vamos a abrir el directorio que creamos en Visual Studio Code. Podemos hacerlo desde el editor moviéndonos a File
> Open Folder
o utilizando el comando:
code .
Veremos que se nos abre el editor con el proyecto que acabamos de descargar:
Cómo compilar
El template ya cuenta con una tarea de compilación que podemos ejecutar desde el editor moviéndonos a la pestaña Terminal y haciendo click en Run Build Task, o utilizando el shortcut Ctrl+Shift+B
. Vamos a ver que se nos genera una carpeta bin
con el binario del proyecto compilado:
Errores de compilación
En caso de que la compilación falle, vamos a poder ver los errores y navegar entre ellos desde la pestaña de Problems:
IMPORTANTE
Recuerden ir recompilando el proyecto activamente, ya que es la única forma de recibir feedback inmediato del compilador y corregir los errores de sintaxis que puedan aparecer.
Una vez corregidos los errores, debemos volver a compilar el proyecto para que el editor actualice la lista de errores y warnings.
Existen distintos tipos de errores:
❌ Los que aparecen en rojo. Éstos impiden que el proyecto se compile, por ejemplo, errores de sintaxis o referencias a variables que no existen.
⚠️ Los que aparecen en amarillo. Éstos no impiden que el proyecto se compile, pero es altamente recomendable corregirlos, ya que muy probablemente signifiquen que algo no está funcionando como esperamos, por ejemplo, tener una variable no se esté utilizando.
TIP
Si querés que el chequeo de tu código sea más estricto y evitar olvidarte de corregir los warnings, existe un flag de gcc
que permite transformarlos en errores: -Werror
Podemos agregarlo fácilmente al final de las variables CDEBUG
y CRELEASE
del archivo settings.mk
:
# Compiler flags
CDEBUG=-g -Wall -DDEBUG -fdiagnostics-color=always
CDEBUG=-g -Wall -DDEBUG -fdiagnostics-color=always -Werror
CRELEASE=-O3 -Wall -DNDEBUG -fcommon
CRELEASE=-O3 -Wall -DNDEBUG -fcommon -Werror
Cómo reportar errores
Si necesitan compartirnos un error de compilación desde Visual Studio Code, nos servirá de gran ayuda contar con la salida del compilador. Para obtenerla, podemos navegar a la pestaña de Terminal y copiar el texto que aparece al ejecutar la tarea de compilación:
Un texto de error es mucho más útil que una captura de pantalla, ya que nos permite copiarlo e investigarlo sin tener que transcribirlo manualmente. Además, si alguien más tiene el mismo problema, va a poder encontrar la solución utilizando el buscador del foro.
Cómo ejecutar
Finalmente, para ejecutar el proyecto, nos moveremos a la pestaña de Run and Debug y haremos a hacer click en el botón de Run:
Si aparece un mensaje diciendo Hola, Operativos!!, ¡felicidades! Ya tenés tu primer proyecto en C funcionando.
TIP
Al hacer click en el botón de Run, ocurren dos cosas:
- Se compila el proyecto ejecutando la build task que vimos en el paso anterior.
- Se ejecuta el binario generado en la carpeta
bin
con el nombre del proyecto.
Los invitamos a abrir una consola y ejecutar el binario manualmente para corroborar que se ejecuta de la misma forma en que lo hace el editor:
make
./bin/ejemplo
Próximos pasos
- En la siguiente sección vamos a ver cómo utilizar Git para el TP de Operativos.
- Por otro lado, para ir entrando más de lleno en el Lenguaje C, podés empezar con nuestra sección de guías de programación en C.
¿Por qué en modo debug? Es una herramienta que nos ayudará más adelante (?) ↩︎