Pour plus de simplicités, je me passerais du teste d'initialisation.
Ce serait une très grosse erreur et prendre des raccourcis qui ne font que faire perdre du temps.
Pour GIMP, c'est une blague j'espère
Évidemment que c'est une plaisanterie.
ça fait plus de 30 ans que je fais de l'informatique et je vois bien la progression de ce domaine qui n'est vraiment pas sur le chemin de l'optimisation et l'ergonomie mais plutôt sur la boulimie par la complexification, et un cloisonnement bien hermétique.
En même temps, à l'origine, il n'y avait pas de carte graphique, tout juste 256 couleurs (et encore). Donc, il suffisait d'écrire dans une mémoire partagée entre le CPU et l'écran et c'était bon (totalement non secure). Maintenant, l'informatique est bien plus avancée (car les gens ont voulus toujours plus de choses) et on est obligé de passer par des encapsulations, dont la SDL, car la SDL permet de simplifier l'affichage de telle ou telle chose.
C'est comme avec une voiture, vous n'êtes pas entrain de vous plaindre qu'il y a l'ABS, le système de détection de lignes, les radars, le moteur avec turbo, injection et je ne sais pas quoi d'autres et vous n'êtes pas entrain de râler dessus pour dire cela se complexifie, cela est de la boulimie, du cloisonnement. Sinon, vous prenez un vélo, le vélo c'est simple et tout y est accessible. En informatique, prenez un microcontrôleur

.
Pourtant c'est moins de 20 lignes, mais non, je n'arrive pas à mettre la main dessus.
Oui, enfin, faudrait arrêter de compter les lignes, c'est un exercice qui ne sert à rien.
Pour compiler un programme, il faut utiliser GCC. Vous pouvez évidemment vous passer d'un Makefile (d'ailleurs, vous devriez lire des tutoriels dessus). Car en réalité, le Makefile n'est qu'une syntaxe pour dire : executer telle ligne, telle ligne et telle ligne. Le Makefile que je vous ai donné est le plus simple du monde, et au final il ne fait qu'exécuter la ligne suivante :
gcc -Wall -Wextra -lSDL2-2.0 main.c -o main
Ce qui veut dire que si vous tapez la ligne suivante dans le terminal (à partir du bon dossier), vous compilez le programme.
Ce programme affiche un point rouge sur l'écran (il n'y a pas la gestion des événements (car tout est
expliqué ici)) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <SDL2/SDL.h>
#include <stdio.h>
int main(int argc, char** argv)
{
/* Initialisation simple */
if (SDL_Init(SDL_INIT_VIDEO) != 0 )
{
fprintf(stdout,"Échec de l'initialisation de la SDL (%s)\n",SDL_GetError());
return -1;
}
{
/* Création de la fenêtre */
SDL_Window *pWindow = NULL;
SDL_Renderer *pRendered = NULL;
SDL_CreateWindowAndRenderer(640, 480, 0, &pWindow, &pRendered);
if(pWindow && pRendered)
{
SDL_SetRenderDrawColor(pRendered, 255, 0, 0, 255); // Détermine la couleur
SDL_RenderDrawPoint(pRendered, 400, 300); // Affiche un point
SDL_RenderPresent(pRendered); // Affiche l'image à l'écran
SDL_Delay(3000); /* Attendre trois secondes, que l'utilisateur voit la fenêtre */
SDL_DestroyWindow(pWindow);
}
else
{
fprintf(stderr,"Erreur de création de la fenêtre: %s\n",SDL_GetError());
}
}
SDL_Quit();
return 0;
} |
Il est à noter que je ne connaissais pas l'existence de cette méthode pour afficher un point à l'écran. J'ai fait une recherche
Google et j'ai trouvé cette discussion :
https://stackoverflow.com/questions/...els-in-sdl-2-0
Si j'ai un dernier conseil à vous donner, c'est qu'au lieu d'apprendre le chinois, vous devriez essayer l'anglais avant

.
2 |
0 |