1

Bonjour.
VBcc a une nouvelle version, j'aimerai bien faire un essai mais avant j'ai besoin de mieux comprendre comment ce compilateur fonctionne.
Est-ce qu'il y en a parmi vous qui pourraient me donner des exemples de leur ligne de commandes / fichiers de configurations utilisant VBcc?
Merci.

2

hmm, bonne question.
Orion_ l'utilisait à une époque (j'avais fait aussi quelques tests), mais la qualité du code compilé était (vraiment) mauvaise comparé à ce que sait faire GCC.
Je ne sais pas si ça s'est amélioré depuis.

Je vais regarder si j'ai des archives qui trainent avec un exemple de configuration (si c'est toujours compatible grin)
avatar

3

j'ai regardé, mais j'ai pas retrouvé d'exemples dans mes archives. sad
avatar

4

SCPCD (./3) :
j'ai regardé, mais j'ai pas retrouvé d'exemples dans mes archives. sad
Merci d'avoir essayer.
De mémoire, est-ce que la ligne de commande de Vbcc ressemble a celle de gcc ou bien faut-il passer par un ou des fichiers de configuration?

5

j'ai trouvé ca :
GitHub - Luigi30/jaguar-stuff: Atari Jaguar stuff.GitHubAtari Jaguar stuff. Contribute to Luigi30/jaguar-stuff development by creating an account on GitHub.


qui semble avoir un exemple complet d'utilisation de la suite complète.
avatar

6

Merci, c'est une tres bonne base de depart.

7

tu as pu faire des essais ?
je suis curieux de comment ça a évolué depuis l'époque où j'avais fait quelques tests. smile
avatar

8

SCPCD (./7) :
tu as pu faire des essais ?
je suis curieux de comment ça a évolué depuis l'époque où j'avais fait quelques tests. smile
Je n'arrives pas a l'intégrer a mon gout, je comprends le concept de config mais ca me saoule de devoir toucher en profondeur mon makefile. Bref, je suis désolé mais pas de progrès.
J'ai pu utiliser LLVM/CLANG, ca compile du code correct en 68000 (j'ai pu générer le asm a coté), rien de fantastique, par contre les .obj générés sont re-locatable only donc Vlink fait la gueule pour la console.
Je restes sur gcc pour le moment, de ce que j'ai pu lire la version 2.95.3 (ou avant la 4) aurait le meilleur support pour le 68000.

9

merci pour le retour smile
avatar

10

SCPCD (./9) :
merci pour le retour smile
C'est moi qui te remercie pour l'exemple de VBcc que tu m'avais fourni.

11

Oui c'était pas simple d'integrer VBCC sur d'autre platforme que prévu pour, pour ma part j'avais fait comme ça, mais je vais reflechir a plutôt utiliser GCC, qui avec les dernières version fait des optimisations incroyable, j'ai gagné 20% de VBL juste en recompilant avec GCC 8 et l'optim LTO sur un jeu megadrive

vc +vcjag.ini -c -O2 -o JagMain.o JagMain.c
rmac -fb -u prog.s
rln -v -n -rq -a 4000 x x -o Alice.bjl prog.o JagMain.o

vcjag.ini:
-cc=vbccm68k -c99 -quiet -d2scratch -a2scratch %s -o= %s %s -O=%ld
-ccv=vbccm68k -c99 -d2scratch -a2scratch %s -o= %s %s -O=%ld
-as=vasmm68k_mot -quiet -mid=0 -Faout -phxass -opt-pea -opt-clr -opt-fconst %s -o %s
-asv=vasmm68k_mot -Faout -mid=0 -phxass -opt-pea -opt-clr -opt-fconst %s -o %s
-rm=del %s
-rmv=del %s
-ul=-l%s
-cf=-F%s
-ml=10000

12

Merci pour ton exemple, il rejoint celui de SCPCD.

Pour gcc, en utilisant le code de Quake 2, j'ai pu voir des ajouts de 'nop' dans le asm générer a partir de gcc 5.
Dans une fonction en C, j'ai eu ce résultat avec gcc.

4.9.3 : 0 nop : 0x846EA8 - 0x846F58 = 0xB0
5.2.0 : 1 nop : 0x8449FA - 0x844AA8 = 0xAE
6.5.0 : 1 nop : 0x8449FA - 0x844AA8 = 0xAE
9 : 2 nop : 0x844AAE - 0x844B62 = 0xB4

Si tu le peux, essaie de recompiler ton code avec des versions de gcc inferieur a la 5.

13

Bonjour,
Sous VBcc, j'ai réussi a compiler une de mes librairies. C'est bien trop tôt pour faire du benchmark Vbcc vs. Gcc, mais au moins je comprends mieux comment utiliser VBcc.

14

Bon, j'ai pu compiler mon projet avec VBcc, ce qui a déboucher sur des découvertes de soucis avec le compilateur et Vlink. Les 2 auteurs de la toolchain sont au courant, ils vont investiguer.
Pour le 68000. si vous voulez utiliser VBcc et Vlink, éviter les options -O3, -g et -elf. Pour l'option -O0, ca cause des problèmes avec les arrays de plus de 64Ko.
La librairie jaglib a des soucis avec les files fonctions utilisant la Skunkboard comme "serveur de fichiers", les fonctions renvoient toujours -1 (Error) d'après les sources; comme ils n'ont pas bouger depuis 4 ans, peu de chances que le gars s'y colle.
Wait & See.