y la verdad me gusta eso de que el compilador ya venga con el sistema
Depende, eso no sucede en todas las distros ... algunas tienen meta paquetes como build-essential que te "tira" lo más básico para compilar;
no llevo mucho tiempo con esto de la programacion, la verdad es que de C he leido hasta funciones y poco mas
Suficiente como para que empieces a caminar
y queria saber las diferencias que hay de programar en Linux a hacerlo en Windows, quiero decir que voy a seguir programando para Windows, pero poco a poco con el tiempo quiero deshacerme de el por completo.
En principio, los estándares son los mismos para lo que es librerías de C/C++.
En la práctica, si salís por fuera de lo estándar y querés interactuar con el sistema ... bueno, tenés APIs diferentes en Linux que en Windows (por ej POSIX/X/Qt/Gtk/OpenAL/SePuedePonerMasEnmarañadoDependiendoDequeHagas/etc vs la API propia de Windows)
Pero también en la práctica, si querés ser multiplataforma vas a tratar de reinventar la rueda lo menos posible y elegir librerías base que corran en la mayor cantidad de sistemas posibles y a su vez sean eficientes ... quedando como última opción el preprocesador para ver qué plataforma es y compilar un código para una u otra respectivamente.
Hay cositas que Microsoft y su poco amor a los estándares (guarda, que GNU tampoco se salva de esa, y es algo que critico mucho como usuarix de Clang y que un poco mencioné en un post de un blog sobre que GNU habilita extensiones no estándar por default) puede generarte alguna molestia en el código (como esta tontera que le corregí a una amistad
en github) .. pero no pasa de eso: una pequeña molestia.
Lo óptimo sería que no dejes de soportar ninguna plataforma ... podés compilar (cross-compile) código hecho para Windows, correrlo, depurarlo y testearlo sobre Linux con las herramientas extras que tenés (como valgrind)
Ese ejercicio vá a mejorar mucho la calidad de tu código como un efecto colateral.
Por lo pronto eso ... cualquier duda tirá un post, normalmente no paso por este subforo, pero si veo que algún hilo tiene en el título "linux" o veo un post de un usuario que sé que está aprendiendo a programar linux, trato de ayudar en la medida de que me dé el tiempo.
Suerte !