PureBasic 6.01 LTS est disponible !
PureBasic 6.01 LTS est disponible !
8 mars 2023
PureBasic 6.01 LTS is released !
--
9 juin - Beta 10
https://www.purebasic.fr/english/viewto ... 72#p585372
5 Juin - Beta 9
https://www.purebasic.fr/english/viewtopic.php?t=77272
30 mai 2022 - Beta 8
5 mai 2022 - Beta 7
4 février 2022 - Beta 4 released
28 septembre 2021 Alpha 5
7 sep 2021 Alpha 4
Alpha 1
Traduction automatique de l'annonce de Fred sur le forum us)
Bonjour à tous,
Après des mois de développement, nous sommes très fiers de sortir la prochaine génération de PureBasic! Tel que partagé sur le blog (https://blog.purebasic.com), nous avons ajouté un nouveau backend C pour résoudre le problème des nouvelles architectures CPU.
Pour l'instant, seule la version Windows x64 est disponible pour les tests. C'est une version alpha, alors ne vous attendez pas à ce que vos gros programmes se compilent et s'exécutent sans faille dessus. Le but principal pour l'instant est d'écraser tous les bogues restants (et il en aura probablement une tonne) pour avoir le backend C au même niveau que le backend ASM actuel. Pour cela, nous avons ouvert un nouveau forum spécifique pour signaler le C lié soutenu.
Comment procéder:
- Dans l'EDI, ajoutez un nouveau compilateur (Fichier -> Préférences -> Compilateur -> Choisissez le fichier 'pbcompilerc' avec le demandeur de fichier -> Ajouter). Il devrait maintenant apparaître dans la liste. Dans les 'Options du compilateur', vous devriez pouvoir le sélectionner dans la liste déroulante.
- Compilez un petit programme. Si quelque chose ne va pas, essayez de réduire le code défectueux au plus petit extrait de code et postez-le dans le forum de bogues.
- Veuillez également tester vos gros programmes avec le compilateur backend ASM standard pour vous assurer que tout fonctionne toujours, car nous avons également modifié beaucoup de code. [...]
PS.
- Installez dans un répertoire différent de vos autres versions de PB
PureBasic 6.01 LTS is released !
--
9 juin - Beta 10
https://www.purebasic.fr/english/viewto ... 72#p585372
5 Juin - Beta 9
https://www.purebasic.fr/english/viewtopic.php?t=77272
30 mai 2022 - Beta 8
5 mai 2022 - Beta 7
4 février 2022 - Beta 4 released
28 septembre 2021 Alpha 5
7 sep 2021 Alpha 4
Alpha 1
Traduction automatique de l'annonce de Fred sur le forum us)
Bonjour à tous,
Après des mois de développement, nous sommes très fiers de sortir la prochaine génération de PureBasic! Tel que partagé sur le blog (https://blog.purebasic.com), nous avons ajouté un nouveau backend C pour résoudre le problème des nouvelles architectures CPU.
Pour l'instant, seule la version Windows x64 est disponible pour les tests. C'est une version alpha, alors ne vous attendez pas à ce que vos gros programmes se compilent et s'exécutent sans faille dessus. Le but principal pour l'instant est d'écraser tous les bogues restants (et il en aura probablement une tonne) pour avoir le backend C au même niveau que le backend ASM actuel. Pour cela, nous avons ouvert un nouveau forum spécifique pour signaler le C lié soutenu.
Comment procéder:
- Dans l'EDI, ajoutez un nouveau compilateur (Fichier -> Préférences -> Compilateur -> Choisissez le fichier 'pbcompilerc' avec le demandeur de fichier -> Ajouter). Il devrait maintenant apparaître dans la liste. Dans les 'Options du compilateur', vous devriez pouvoir le sélectionner dans la liste déroulante.
- Compilez un petit programme. Si quelque chose ne va pas, essayez de réduire le code défectueux au plus petit extrait de code et postez-le dans le forum de bogues.
- Veuillez également tester vos gros programmes avec le compilateur backend ASM standard pour vous assurer que tout fonctionne toujours, car nous avons également modifié beaucoup de code. [...]
PS.
- Installez dans un répertoire différent de vos autres versions de PB
Dernière modification par Marc56 le ven. 10/juin/2022 7:45, modifié 8 fois.
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic 6.00 Alpha 1 est disponible!
Merci pour la traduction Marc
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic 6.00 Alpha 1 est disponible!
J'ai crée un exe avec un code de 40 lignes environ.
Pb Version 5.73 : 39.5K
Pb Version 6.00 : 59K
Puis j'ai crée l'éxécutable d'un jeu de casse brique de 1000 lignes environ.
Pb Version 5.73 : 218K
Pb Version 6.00 : 273K
Test 3D avec ce code viewtopic.php?p=198862#p198862
Pb Version 5.73 : 102K
Pb Version 6.00 : 148K
Pb Version 5.73 : 39.5K
Pb Version 6.00 : 59K
Puis j'ai crée l'éxécutable d'un jeu de casse brique de 1000 lignes environ.
Pb Version 5.73 : 218K
Pb Version 6.00 : 273K
Test 3D avec ce code viewtopic.php?p=198862#p198862
Pb Version 5.73 : 102K
Pb Version 6.00 : 148K
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: PureBasic 6.00 Alpha 1 est disponible!
Merci Marc56 et merci falsam pour tes tests.
Ça va niveau taille c'est plus que raisonnable.
Bravo la team PB
@++
Ça va niveau taille c'est plus que raisonnable.
Bravo la team PB
@++
Dernière modification par venom le jeu. 20/mai/2021 12:16, modifié 1 fois.
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
- Mindphazer
- Messages : 635
- Inscription : mer. 24/août/2005 10:42
Re: PureBasic 6.00 Alpha 1 est disponible!
Même constat, les codes que j'arrive à compiler donnent un exe environ 30 à 35% plus gros qu'avec le PBCompiler "historique"falsam a écrit : ↑jeu. 20/mai/2021 10:51 J'ai crée un exe avec un code de 40 lignes environ.
Pb Version 5.73 : 39.5K
Pb Version 6.00 : 59K
Puis j'ai crée l'éxécutable d'un jeu de casse brique de 1000 lignes environ.
Pb Version 5.73 : 218K
Pb Version 6.00 : 273K
Test 3D avec ce code viewtopic.php?p=198862#p198862
Pb Version 5.73 : 102K
Pb Version 6.00 : 148K
Sachant qu'on est au stade alpha et que rien ou presque n'est optimisé, c'est plutôt pas mal !
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: PureBasic 6.00 Alpha 1 est disponible!
Heureusement on n'est plus à l'époque des disquettes et des modems 56k, souvenez-vous...
Comme dans toutes compilation, il y a souvent une taille minimale. Par exemple les exe Lazarus on souvent une taille minimale de 2 Mo! (optimisée!) mais qui n'augmente pas de beaucoup ensuite car les "briques" de base sont déjà là.
Mon plus "gros projet" (ACME Desk, 11000 lignes, 1.2 Mo) n'augmente que de 8% (1.2 Mo -> 1.3 Mo) une fois compilé avec le nouveau compilo C et le temps de compilation sur mon petit i7 est plus long de 2 secondes
Chapeau Fred
et je me réjouit d'avances des nouvelles possibilités qui vont venir grâce aux possibilités d'accès étendues au libs tiers.
Comme dans toutes compilation, il y a souvent une taille minimale. Par exemple les exe Lazarus on souvent une taille minimale de 2 Mo! (optimisée!) mais qui n'augmente pas de beaucoup ensuite car les "briques" de base sont déjà là.
Mon plus "gros projet" (ACME Desk, 11000 lignes, 1.2 Mo) n'augmente que de 8% (1.2 Mo -> 1.3 Mo) une fois compilé avec le nouveau compilo C et le temps de compilation sur mon petit i7 est plus long de 2 secondes
Chapeau Fred
et je me réjouit d'avances des nouvelles possibilités qui vont venir grâce aux possibilités d'accès étendues au libs tiers.
Re: PureBasic 6.00 Alpha 1 est disponible!
Super de voir déjà la 1ère mouture du future C Backend, si peu de temps après le 1ère annonce!
Et super de voir que Fred et la team restent motivés pour continuer à améliorer le bébé
Ca me semble également plus que bien pour la taille des exe et le temps de compilation à ce pré-stade Alpha
Je ne connais pas grand chose sur le sujet mais voici le dessin de la chaine de compil :
Le niveau d'optilisation dans gcc est fonction du switch -O[n]
Et super de voir que Fred et la team restent motivés pour continuer à améliorer le bébé
Ca me semble également plus que bien pour la taille des exe et le temps de compilation à ce pré-stade Alpha
Je ne connais pas grand chose sur le sujet mais voici le dessin de la chaine de compil :
Code : Tout sélectionner
pbcompilerc.exe E:\PureBasic\Test\Source.pb /EXE E:\PureBasic\Test\Source.exe
|- gcc.exe -O0 -Wno-incompatible-pointer-types -Wno-overflow -Wno-int-conversion -c -o PureBasic.obj "purebasic.c"
|- cc1.exe -quiet -iprefix E:/PureBasic/Portable/PureBasic_6.00_x64/Compilers/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT purebasic.c -quiet -dumpbase purebasic.c -mtune=core2 -march=nocona -auxbase-strip PureBasic.obj -O0 -Wno-incompatible-pointer-types -Wno-overflow -Wno-int-conversion -o C:\Users\ChrisR\AppData\Local\Temp\cceswBGX.s
|- as.exe -o PureBasic.obj C:\Users\ChrisR\AppData\Local\Temp\cceswBGX.s
|- polink.exe" /FORCE:MULTIPLE /OUT:"E:\PureBasic\Test\Source.exe" /SUBSYSTEM:Windows /NODEFAULTLIB /LIBPATH:"E:\PureBasic\Portable\PureBasic_6.00_x64\Compilers" /LIBPATH:"E:\PureBasic\Portable\PureBasic_6.00_x64\PureLibraries\Windows\Libraries" PureBasic.obj SystemBase.lib StringUtility.lib UnicodeFunctions.lib MSVCRT.lib KERNEL32.lib USER32.lib GDI32.lib COMDLG32.lib ADVAPI32.lib COMCTL32.lib OLEAUT32.lib SysTray.lib Process.lib Cipher.lib Menu.lib Window.lib Gadget.lib System.lib Desktop.lib AlphaImage.lib Image.lib LinkedList.lib ImagePluginBMP.lib ImagePlugin.lib VectorDrawing.lib String.lib Memory.lib Font.lib 2DDrawing.lib FileSystem.lib Date.lib Event.lib Map.lib "E:\PureBasic\Portable\PureBasic_6.00_x64\compilers/objectmanager.lib" SimpleList.lib "E:\PureBasic\Portable\PureBasic_6.00_x64\compilers/stringmanagerc.lib" SHELL32.LIB SHELL32.LIB OLEAUT32.LIB ADVAPI32.LIB OLE32.LIB SHELL32.LIB COMCTL32.LIB UUID.LIB SHELL32.LIB WINMM.LIB MSVCRT.LIB GdiPlus.LIB Shell32.LIB Shlwapi.LIB Ole32.LIB kernel32.lib user32.lib
Code : Tout sélectionner
-O[n] ;n controls the optimization level
n = 0 ;No optimization, the default setting if no -O appears
n = 1 ;Normal optimization, the default if you specify -O without an operand. A good compromise between code quality and compilation time.
n = 2 ;Extensive optimization, may improve execution time, possibly at the cost of substantially increased compilation time.
n = 3 ;Same as -O2, and also includes inline expansion for small subprograms in the same unit.
n = s ;Optimize space usage
Re: PureBasic 6.00 Alpha 1 est disponible!
Actuellement, #PB_Compiler_Processor indique le type de CPU en se basant sur le compilateur ASM utilisé.
Cette fonction ne donne plus la même constante avec le backend C, par contre elle retourne bien une valeur numérique : 6
Fred va sans doute créer une nouvelle constante (mais avec un système compatible avec les anciens codes)
Voir ce topic https://www.purebasic.fr/english/viewto ... 48#p570348
Si, comme moi vous utilisez cette constante pour charger une DLL différente dans un projet multi architecture, il suffit d'ajouter 6 à la détection du CPU x64.
Exemple:
Cette fonction ne donne plus la même constante avec le backend C, par contre elle retourne bien une valeur numérique : 6
Fred va sans doute créer une nouvelle constante (mais avec un système compatible avec les anciens codes)
Voir ce topic https://www.purebasic.fr/english/viewto ... 48#p570348
Si, comme moi vous utilisez cette constante pour charger une DLL différente dans un projet multi architecture, il suffit d'ajouter 6 à la détection du CPU x64.
Exemple:
Code : Tout sélectionner
Select #PB_Compiler_Processor
Case #PB_Processor_x86
Dll_WebRadio = "fmodex.dll"
Case #PB_Processor_x64
Case 6 ; <--- Ajout provisoire pour les compilation en Backend C
Dll_WebRadio = "fmodex64.dll"
Re: PureBasic 6.00 Alpha 1 est disponible!
Pas trop le temps de tester pour le moment mais très heureux de vois qu'une alpha est dans les bac(kend ^^)
J'ai aussi l'espoir qu'avec ce nouveau compilo, les antivirus et leur p.... de faux positifs se calment.
La taille des exe est relativement faible pour de l'alpha. Je me dis qu'ils seront forcement un peu plus gros que via asm mais vos retours sont encourageants !
Bravo à la team.
J'ai aussi l'espoir qu'avec ce nouveau compilo, les antivirus et leur p.... de faux positifs se calment.
La taille des exe est relativement faible pour de l'alpha. Je me dis qu'ils seront forcement un peu plus gros que via asm mais vos retours sont encourageants !
Bravo à la team.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- Philippe_GEORGES
- Messages : 112
- Inscription : mer. 28/janv./2009 13:28
Re: PureBasic 6.00 Alpha 1 est disponible!
Bonjour
Résultat : Pour les petits programmes, pas de soucis si ce n'est un temps de compilation un peu plus long.
Pour les grosses applications: Plantage suite à gestion mémoire, mais c'est sans doute normal à ce stade !
La question est : comment avoir le source C généré pour voir ?
Bravo pour ce travail, tout ceci est prometteur.
Phil
Résultat : Pour les petits programmes, pas de soucis si ce n'est un temps de compilation un peu plus long.
Pour les grosses applications: Plantage suite à gestion mémoire, mais c'est sans doute normal à ce stade !
La question est : comment avoir le source C généré pour voir ?
Bravo pour ce travail, tout ceci est prometteur.
Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Re: PureBasic 6.00 Alpha 1 est disponible!
Bonjour Philippe,
Si on a plusieurs versions de PB, mettre le PATH dans le répertoire du nouveau PB
(pas toujours nécessaire, mais permet de compiler depuis le répertoire, source sans avoir à donner les chemins complets)
Ensuite compiler
On obtient en plus de l'exe, un fichier .c qui commence par exemple comme ceci
Comme pour la version ASM: en utilisant le paramètre -c (ou --commented ou /COMMENTED) avec le compilateur en ligne de commande (pbcompilerc.exe)La question est : comment avoir le source C généré pour voir ?
Si on a plusieurs versions de PB, mettre le PATH dans le répertoire du nouveau PB
(pas toujours nécessaire, mais permet de compiler depuis le répertoire, source sans avoir à donner les chemins complets)
Code : Tout sélectionner
path %path%;C:\Program Files\PureBasicC\Compilers
Code : Tout sélectionner
pbcompilerc.exe helloworld.pb -c -e helloworld.exe
On obtient en plus de l'exe, un fichier .c qui commence par exemple comme ceci
Code : Tout sélectionner
//
// PureBasic 6.00 Alpha 1 - C Backend (Windows - x64) generated code
//
// (c) 2021 Fantaisie Software
//
// The header must remain intact for Re-Assembly
//
// Requester
// Desktop
// FileSystem
// Date
// Object
// SimpleList
// :System
//
#pragma warning(disable: 4024)
//
typedef long long quad;
typedef quad integer;
typedef struct pb_array { void *a; } pb_array;
...
Re: PureBasic 6.00 Alpha 1 est disponible!
Tiens je n'avais jamais pensé à récupéré le code ASM
Merci pour l'astuce Marc56
@++
Merci pour l'astuce Marc56
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: PureBasic 6.00 Alpha 2 est disponible!
https://www.purebasic.fr/english/viewto ... 54#p571654
Alpha is 2 est sorti ! Merci beaucoup d'avoir passé du temps à tester la nouvelle version, nous avons corrigé la plupart des bugs signalés, alors n'hésitez pas à réessayer pour qu'elle soit aussi bonne que possible. Veuillez également tester le compilateur standard (backend ASM) pour vous assurer qu'il n'y a pas de régression sur ce compilateur.
Voici la liste des modifications alpha 2 :
Have fun !
Edit: Si vous installez cette version (V6.00 A2) dans un répertoire contenant des espaces, vous pouvez avoir une erreur (en compilation C)
POLINK: fatal error: File not found: 'C:\Program.obj'
Alpha is 2 est sorti ! Merci beaucoup d'avoir passé du temps à tester la nouvelle version, nous avons corrigé la plupart des bugs signalés, alors n'hésitez pas à réessayer pour qu'elle soit aussi bonne que possible. Veuillez également tester le compilateur standard (backend ASM) pour vous assurer qu'il n'y a pas de régression sur ce compilateur.
Voici la liste des modifications alpha 2 :
Code : Tout sélectionner
- Removed #PB_Compiler_C constant and replaced it with #PB_Compiler_Backend, with #PB_Backend_C and #PB_Backend_Asm values
- Added Purifier support
- Updated fasm, polink, polib and porc to lastest versions
Edit: Si vous installez cette version (V6.00 A2) dans un répertoire contenant des espaces, vous pouvez avoir une erreur (en compilation C)
POLINK: fatal error: File not found: 'C:\Program.obj'
Dernière modification par Marc56 le sam. 19/juin/2021 16:57, modifié 1 fois.
- Kwai chang caine
- Messages : 6962
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: PureBasic 6.00 Alpha 2 est disponible!
Merci Marc
- Philippe_GEORGES
- Messages : 112
- Inscription : mer. 28/janv./2009 13:28
Re: PureBasic 6.00 Alpha 2 est disponible!
Je viens de faire un test avec un gros programme, contenant des centaines de fonctions graphiques, génération de PDF, bases de données SqlLite...etc.
Le programme se compile sans problème, le .EXE fonctionne parfaitement !
Je suis époustouflé ! comment en si peu de temps peut on arriver à un résultat si spectaculaire ? Vous êtes vraiment des chefs !
La taille est un peu plus importante qu'avec le compilateur FASM, mais franchement, c'est un détail.
Bravo, grand merci pour ce travail phénoménal !
Philippe
Le programme se compile sans problème, le .EXE fonctionne parfaitement !
Je suis époustouflé ! comment en si peu de temps peut on arriver à un résultat si spectaculaire ? Vous êtes vraiment des chefs !
La taille est un peu plus importante qu'avec le compilateur FASM, mais franchement, c'est un détail.
Bravo, grand merci pour ce travail phénoménal !
Philippe
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com