SCR/AL1 - TOME IV. Les librairies internes
Les fichiers .scr et .cmt générés par scr4_e sont parfois perçus comme gênants pour la distribution d'applications simples.
Il est possible de se passer du .scr en compilant l'application avec l'option -c qui fournit un code C pour les données. Dans certains cas, si les données sont en trop grand nombre, cela reste cependant impossible (segment size exceeded p.ex).
Le fichier .cmt n'est pas évitable dans 2 situations au moins :
Pour résoudre ce problème, un truc simple est de concaténer ces fichiers à l'exécutable à l'aide de scr4_app et, dans l'exécutable, de positionner correctement la lecture.
Dans le cadre des applications SCR, 2 variables ont été définies à cet effet:
Syntaxe
int SCR_CMT_FILE_NB;
int SCR_SCR_FILE_NB;
Ces variables indiquent le numéro d'ordre du fichier à partir de la fin de l'exécutable. On pourra procéder comme suit pour intégrer dans son exécutable les fichiers .scr et .cmt : Si ces variables sont nulles, le fonctionnement est identique à ce qu'il était auparavant.
1. Modification au niveau du makefile
scr4_app myexe.exe myfile.scr
scr4_app myexe.exe myfile.cmt
scr4_app myexe.exe scr_err.txt
2. Modifications au niveau du main()
main(argc, argv)
....
strcpy(SCR_NAME_ERR, argv[0]); /* Nom de l'exécutable */
SCR_ERR_FILE_NB = 1; /* Dernier fichier */
strcpy(SCR_NAME_SCR, argv[0]); /* Nom de l'exécutable */
SCR_SCR_FILE_NB = 3; /* 3ème à partir de la fin */
SCR_init();
strcpy(SCR_CMT_FILE, argv[0]); /* Nom de l'exécutable */
SCR_CMT_FILE_NB = 2; /* 2ème à partir de la fin */
...
Attention : SCR_init() doit précéder la définition de SCR_CMT_FILE.
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be