Obligement - L'Amiga au maximum

Lundi 27 mars 2017 - 04:51  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Test de DICE 2
(Article écrit par Cédric Beust et extrait d'Amiga News - octobre 1990)


Le compilateur C de Matt Dillon

Et celui-ci nous vient d'un illustre personnage puisqu'il s'agit de Matt Dillon (d'ailleurs, comme tous les logiciels DP commençant par la lettre "d", celui-ci aurait dû vous mettre la puce à l'oreille...). DICE signifie "Dillon's Integrated C Environment". Il s'agit d'un environnement presque complet de programmation en C ANSI (je dis presque car les includes ne sont par inclus dans la version freeware) : préprocesseur, compilateur, assembleur, éditeur de liens et éditeur.

Il existe deux versions de DICE : la 2.01 (freeware) disponible par approvisionnement classique de DP et la 2.05 ("registered version") que l'auteur distribue lui-même par courrier pour la somme de 40 $ et qui contient des caractéristiques supplémentaires : les mots-clés _near, _far et _chip, calcul en virgule flottante (float et double), champs d'octets dans les structures, pages de manuel (consultables directement à partir de l'éditeur de texte DME, qui est fourni dans les deux distributions) plus d'autres aspects sur lesquels Matt est en train de travailler et qui feront partie de la version suivante.

Le programme principal est dcc. Comme son nom l'indique, celui-ci est très semblable par ses options au cc d'Unix. Celui-ci appelle lui-même les différentes phases de la compilation : dcpp tout d'abord (le préprocesseur), puis dc1 (le compilateur), das (l'assembleur, une remarque à son sujet : il ne s'agit pas d'un assembleur pour 68000, encore qu'il en soit très proche. Il sert uniquement à transformer le code produit par del -- un fichier texte -- en un module objet) et enfin l'éditeur de liens dlink, qui permet de créer des exécutables résidents (sans effort !). Pour obtenir un tel résultat, Matt utilise une solution très élégante ne nécessitant aucune participation de la part du programmeur : il transforme la bibliothèque amigalib (non fournie) en une bibliothèque à son propre format (à l'aide de l'utilitaire libtos qui fait partie de la distribution) qui ne fait aucune référence absolue aux variables de base, celles-ci étant désormais référencées via le registre A4. Simple et très efficace.

Rapide

dcc est très rapide grâce à l'option -f. Celle-ci permet de tirer pleinement profit du fait que certains des programmes qu'il appelle sont résidents. Si tel est le cas, ils sont appelés en mémoire et non pas sur disque comme le fait par exemple le de Lattice (pardon, SAS). Ce qui fait que dcc a toujours été plus rapide que le sur les exemples que j'ai testés, même en mettant le maximum de programmes appelés par lc en mémoire. La comparaison n'est pas honnête dans la mesure où l'on compare un chargement sur disque dur par rapport à un chargement en mémoire, mais après tout, le n'avait qu'à proposer une telle option également...

Pas d'optimisations diaboliques

Le code minimal (c,o) est également très réduit du fait de l'utilisation d'autres astuces dans le même genre. Le code produit se compare très favorablement à celui produit par le Lattice (et celui de l'Aztec d'après Matt). Il ne dispose pas d'optimisations diaboliques comme celle consistant à repérer les sous-expressions communes de façon à ne les calculer qu'une fois (par exemple dans l'expression (a+b)*c + (a+b)*d) mais c'est un choix délibéré : Matt a jugé préférable de garder une certaine simplicité à son compilateur afin d'assurer une maintenance plus facile.

La compatibilité ANSI est presque totale (elle est en fait la raison d'être de DICE) allant même jusqu'à implémenter l'opérateur ## du préprocesseur et les variables spéciales __FILE__, __LINE__, etc.

Ajoutons pour conclure que les sources de la bibliothèque C de DICE sont intégralement fournis (en C) permettant aux utilisateurs de corriger eux-mêmes les (éventuels) bogues qui pourraient s'y trouver.

Version commerciale à venir

Matt a fermement l'intention de faire de DICE un des rivaux principaux des deux compilateurs existant sur le marché Amiga. Il est indéniable qu'en l'espace de six mois et parti de rien, DICE est déjà presque à leur niveau. Une version commerciale est d'ailleurs prévue et ne saurait tarder à sortir.

Nom : DICE 2.
Développeur : Matt Dillon.
Genre : compilateur C.
Date : 1990.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : shareware.
Prix : 40 $.


[Retour en haut] / [Retour aux articles]