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.
Merci, c'est une tres bonne base de depart.
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
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.
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.
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.