Obligement - L'Amiga au maximum

Mardi 23 avril 2024 - 13:59  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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 gratuicielle) : préprocesseur, compilateur, assembleur, éditeur de liens et éditeur.

Il existe deux versions de DICE : la 2.01 (gratuiciel) 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 : partagiciel.
Prix : 40 $.


[Retour en haut] / [Retour aux articles]