Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Test de DICE 2.07.54
(Article écrit par Laurent Faillie et extrait d'Amiga News - janvier 1994)
|
|
Une mise 2.07.54R-3.0 de DICE, le logiciel de programmation C de Matt Dillon, est disponible depuis peu. En voici
en rapide aperçu.
La mise à jour
Les qualités du compilateur n'ont pas changé, mais ce n'est malheureusement pas le cas
du paquetage qui n'est pas à la hauteur du précédent (loin de là) : d'abord la documentation
est très incomplète (voir plus loin), des bibliothèques sont absentes (comme l'amigasrp.lib),
mais je rappelle qu'il est facile de les recréer car les sources sont fournis.
Voyons la composition de la mise à jour. Dans la version précédente,
Matt Dillon avait utilisé lharc et programmé un installateur très performant.
Ici, il utilise son propre compresseur dont le principe se rapproche de XPK,
ceci pour faciliter l'installation sur disquette... Bon, vous faites comme
vous voulez si vous n'avez pas de disque dur, mais avec ce système,
une simple compilation prend un temps énorme dû à la décompression de tous
les fichiers utilisés.
Mauvaise surprise, l'installateur a été remplacé par un simple fichier d'explication
en anglais (repris en français dans la documentation écrite). D'après
Someware (distributeur de la version française), ceci est dû au manque de
place sur les disquettes. Ouais, je veux bien mais avec un peu de ménage,
cette place aurait pu être trouvée. En effet, deux disquettes contiennent
des archives concernant le 3.0, archives reprises entièrement sur la quatrième.
En plus M. Dillon aurait pu fournir les includes V38 (2.1) au lieu des V36 (2.0).
Par exemple, toute référence à la locale.library est introuvable (heureusement,
elle est dans la distribution 3.0).
Passons aux nouveautés.
Bonne nouvelle, DICE lit maintenant les fichiers includes du Lattice.
Le problème venait du fait que ce compilateur place ses qualificatifs
différemment : "__far BYTE tab" pour DICE contre "BYTE __far tab" pour SAS.
Le code assembleur est beaucoup plus lisible car les lignes du source sont
placées en commentaires :
Remarquez la nouvelle instruction "debug". Le numéro qui la suit correspond à
la ligne du source ce qui laisse penser que des segments "debug" pourront
bientôt être créés. On pourra ainsi tracer directement le source C et non
plus de l'assembleur. Malheureusement, rien n'est indiqué dans la doc.
Si vous suivez les annonces de Someware, vous avez du vous rendre compte
qu'il a existé une première version de cette distribution, sans la quatrième
disquette. M. Dillon a dû sortir la 3.0 car les versions précédentes de
DCC provoquaient un plantage si on utilisait les includes du 3.0.
Le problème venait du fait que DCC fixait lui-même la taille de la pile
de l'assembleur, qui n'était pas suffisante pour le 3.0. Dans la dernière
disquette, on trouve une nouvelle version de DCC qui corrige ce bogue,
et en plus les sources sont fournis. D'ailleurs, si vous y jetez un oeil,
vous verrez à quoi ressemblera la version commerciale de DICE (mode ARexx, etc.).
Pourquoi ?
M. Dillon a cru bon d'effacer les fichiers objets lorsqu'une compilation réussit.
C'est bien car cela libère -un peu- de mémoire, mais cela rend l'option "-new"
inutilisable. Pour ceux qui n'ont pas eu le courage de lire la documentation complètement,
cette option, lors d'une compilation séparée, permet de ne recompiler que les
portions modifiées.
Dernière nouveauté
DICE est maintenant capable d'utiliser les #pragmas. La syntaxe est la même que pour
le SAS, mais actuellement, il est plus sûr de créer ses propres pragmas avec
fdtopragma (fourni). L'utilisation des #pragmas permet au compilateur de
faire des appels aux bibliothèques sans passer par le glue-code, d'où un gain
de vitesse appréciable.
Par contre, je conseille de continuer à relier avec les .lib. Certaines fonctions
ne sont en fait que des macros définies dans les glues, tout comme le code
d'auto-ouverture. DICE prendra le glue si un #pragma pour la fonction n'existe pas.
Conclusion
La lecture de cet article peut sembler un peu négatif par rapport à DICE,
mais il n'en est rien ! En fait, DICE est un compilateur à la fois robuste,
d'un rapport qualité/prix imbattable et qui a gardé toutes ses qualités :
création de programmes rapides et fiables, facilité pour créer des exécutables
purs, des options introuvables chez ses concurrents et qui facilitent la
vie du programmeur comme l'adaptation des syntaxes Unix pour les portages,
les fichiers de configurations (_config), la pile dynamique pour les spécialistes
des programmes récursifs, et j'en oublie.
C'est vraiment un outil de développement indispensable pour l'amateur comme pour
le professionnel. Il est rassurant de voir que son auteur a l'esprit ouvert
et qu'a chaque bogue trouvé, il distribue une nouvelle version pour le corriger.
Dommage que la distribution ne suive pas la qualité du reste !
Nom : DICE 2.07.54.
Développeur : Matt Dillon.
Genre : programmation C.
Date : 1993.
Configuration minimale : Amiga OCS, 68000, 1,5 Mo de mémoire.
Licence : commercial.
Prix : 590 FF.
|
|