Pure Basic en 64 bits ?
Pure Basic en 64 bits ?
Bonjour à tous,
J’utilise Power Basic depuis une quinzaine d’années à mon entière satisfaction. Cependant, le code généré est en 32 bits et je suis pessimiste quant à la parution imminente d’une version générant du code 64 bits. C’est pourquoi, je souhaite avoir les précisions suivantes concernant Pure Basic:
- le code exécutable produit par le compilateur est-il en 64 bits?
- est-ce que Pure Basic contient un assembleur inline acceptant la programmation 64 bits et, dans l’affirmative, quels jeux d’instructions sont acceptés (SSE, AVX) ?
J’en appelle à votre bienveillance : je n’ai pas eu le courage de compulser vos remarquables documentations.
Bien à vous
Robert
J’utilise Power Basic depuis une quinzaine d’années à mon entière satisfaction. Cependant, le code généré est en 32 bits et je suis pessimiste quant à la parution imminente d’une version générant du code 64 bits. C’est pourquoi, je souhaite avoir les précisions suivantes concernant Pure Basic:
- le code exécutable produit par le compilateur est-il en 64 bits?
- est-ce que Pure Basic contient un assembleur inline acceptant la programmation 64 bits et, dans l’affirmative, quels jeux d’instructions sont acceptés (SSE, AVX) ?
J’en appelle à votre bienveillance : je n’ai pas eu le courage de compulser vos remarquables documentations.
Bien à vous
Robert
Re: Pure Basic en 64 bits ?
Salut,
Si tu as windows 64 bits, tu peux prendre purebasic 32 bits ou 64 bits. L'un compilera des exe en 32 bits. Et l'autre fera des exe 64 bits.
Pour l'assembleur, d'après ce que fait Nemerod, j'ai l'impression que tout type d'instructions ASM est utilisable (demande confirmation quand meme)
Mais pour te faire une idee par toi meme de la puissance et des limites de PB, va sur le site officiel et telecharge la version de ton choix...
Moi, je note PB a 9.5/10
Si tu as windows 64 bits, tu peux prendre purebasic 32 bits ou 64 bits. L'un compilera des exe en 32 bits. Et l'autre fera des exe 64 bits.
Pour l'assembleur, d'après ce que fait Nemerod, j'ai l'impression que tout type d'instructions ASM est utilisable (demande confirmation quand meme)
Mais pour te faire une idee par toi meme de la puissance et des limites de PB, va sur le site officiel et telecharge la version de ton choix...

Moi, je note PB a 9.5/10

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Pure Basic en 64 bits ?
Je te remercie pour ta réponse très rapide. J'ai néanmoins parcouru les documents mais je ne vois à aucun moment quoi que ce soit qui indique que le compilateur est capable de délivrer des programmes Windows en X64 pur avec la convention d'appel FastCall.
De même, il me semble que l'assembleur inline est limité au x86.
Tant pis, je gère mes rares besoins impératifs en 64 bits pur avec l'assembleur ML64.EXE de Microsoft. Je vais peut-être me remettre au C mais les intrinsèques me gonflent positivement.
Dommage, car Basic reste, pour moi, un excellent langage à la fois efficace et sans trop de prise de tête.
A un de ces jours !
De même, il me semble que l'assembleur inline est limité au x86.
Tant pis, je gère mes rares besoins impératifs en 64 bits pur avec l'assembleur ML64.EXE de Microsoft. Je vais peut-être me remettre au C mais les intrinsèques me gonflent positivement.
Dommage, car Basic reste, pour moi, un excellent langage à la fois efficace et sans trop de prise de tête.
A un de ces jours !
Re: Pure Basic en 64 bits ?
RobertC a écrit : dim. 21/janv./2024 21:04 Bonjour à tous,
J’utilise Power Basic depuis une quinzaine d’années à mon entière satisfaction. Cependant, le code généré est en 32 bits et je suis pessimiste quant à la parution imminente d’une version générant du code 64 bits. C’est pourquoi, je souhaite avoir les précisions suivantes concernant Pure Basic:
- le code exécutable produit par le compilateur est-il en 64 bits?
- est-ce que Pure Basic contient un assembleur inline acceptant la programmation 64 bits et, dans l’affirmative, quels jeux d’instructions sont acceptés (SSE, AVX) ?
J’en appelle à votre bienveillance : je n’ai pas eu le courage de compulser vos remarquables documentations.
Bien à vous
Robert
alors bonjours, suite a l'invocation depuis discord de la par de SPH, merci a lui
je vais apporté des detail sur purebasic
que se sois en 32 ou 64 le programme reste un programme, mais il va utilisé et aura la possibilité d'utilisé plus de chose en 64 bit, donc la quantité de memoir pour commencé, les variable de façon general qui serons aussi en 64 bit a la place d'etre en 32 bit, donc des valeur juste enorme qui peuventre etre utilisé
ensuit pour se qui est de l'assembleur, oui il le prendre en 64bit, pour en avoir fais des driver pour mon PC si se n'est un DSP audio pour une autre personne fais a 100% en assembleur en 64 bit avec une utilisation des instruction SSE
ensuit pour la dernier sous question, sela va dépendre du proc et se qu'il support, donc a se moment la, un CPUID avec les argument via RAX devrai te retourné une liste de flag sur des bit dans les registre
voir se lien pour une version simple
https://en.wikipedia.org/wiki/CPUID
pour en avoir tapé des ligne en assembleur je sais de quoi je parle
Re: Pure Basic en 64 bits ?
pour se qui du fastcall, purebasic le fais aussi, et l'assembleur qu'il propose est aussi possibleRobertC a écrit : lun. 22/janv./2024 10:11 Je te remercie pour ta réponse très rapide. J'ai néanmoins parcouru les documents mais je ne vois à aucun moment quoi que ce soit qui indique que le compilateur est capable de délivrer des programmes Windows en X64 pur avec la convention d'appel FastCall.
De même, il me semble que l'assembleur inline est limité au x86.
Tant pis, je gère mes rares besoins impératifs en 64 bits pur avec l'assembleur ML64.EXE de Microsoft. Je vais peut-être me remettre au C mais les intrinsèques me gonflent positivement.
Dommage, car Basic reste, pour moi, un excellent langage à la fois efficace et sans trop de prise de tête.
A un de ces jours !
Re: Pure Basic en 64 bits ?
Je dirais même plus : à en croire la doc des prototypes et celle des procédures, purebasic travaille nativement qu'en fastcall et n'utilise le cdecl qu'en x86 avec les procédures déclarées avec ProcedureC, ProcedureCDLL, ImportC ou PrototypeC.
Re: Pure Basic en 64 bits ?
PureBasic 64b compile en pure 64 bits et gère fastcall.
Sous Windows et Linux, PureBasic utilise fasm ( http://flatassembler.net), alors pour plus d'information à propos de la syntaxe, lire le guide fasm.
Sous OS X, PureBasic utilise yasm ( http://yasm.tortall.net/), quant à OS X sous M1 et M2, je ne sais pas, il faut demander à Fred le créateur de PB.
Fasm et yasm sont très régulièrement mis à jour.
Sous Windows et Linux, PureBasic utilise fasm ( http://flatassembler.net), alors pour plus d'information à propos de la syntaxe, lire le guide fasm.
Sous OS X, PureBasic utilise yasm ( http://yasm.tortall.net/), quant à OS X sous M1 et M2, je ne sais pas, il faut demander à Fred le créateur de PB.
Fasm et yasm sont très régulièrement mis à jour.
M.The flat assembler (abbreviated to fasm, intentionally stylized with lowercase letters) is a fast assembler running in a variety of operating systems, in continued development since 1999. It was designed primarily for the assembly of x86 instructions and it supports x86 and x86-64 instructions sets with extensions like MMX, 3DNow!, SSE up to SSE4, AVX, AVX2, XOP, and AVX-512. It can produce output in plain binary, MZ, PE, COFF or ELF format. It includes a powerful but simple macroinstruction system and does multiple passes to optimize the size of instruction codes. The flat assembler is self-hosting and the complete source code is included.
Re: Pure Basic en 64 bits ?
Merci pour ces précisions, Nemerod. Je connais tout ce dont tu parles (et la fameuse instruction CPUID, bien sûr)nemerod a écrit : lun. 22/janv./2024 12:21 ...
alors bonjours, suite a l'invocation depuis discord de la par de SPH, merci a lui
je vais apporter des détails sur purebasic
que ce soit en 32 ou 64 le programme reste un programme, mais il va utilisé et aura la possibilité d'utilisé plus de chose en 64 bit, donc la quantité de mémoire pour commencer, les variable de façon générale qui serons aussi en 64 bit a la place d'être en 32 bit, donc des valeur juste énormes qui peuvent être utilisées
ensuit pour se qui est de l'assembleur, oui il le prendre en 64bit, pour en avoir fais des driver pour mon PC si se n'est un DSP audio pour une autre personne fais a 100% en assembleur en 64 bit avec une utilisation des instruction SSE
ensuit pour la dernier sous question, cela va dépendre du proc et se qu'il support, donc a se moment la, un CPUID avec les argument via RAX devrai te retourné une liste de flag sur des bit dans les registre
voir se lien pour une version simple
https://en.wikipedia.org/wiki/CPUID
pour en avoir tapé des ligne en assembleur je sais de quoi je parle
J'ai téléchargé la version de démo 64 bits. Mais il faut que je me familiarise avec la syntaxe PB. De même, la syntaxe de l'assembleur est celle de FASM (j'utilise MASM depuis 30 ans qui est différent).
Je vais prendre le temps de tester mais ca va être long. Je m'intéresse au traitement d'image et de son et je souhaite pouvoir travailler à terme avec l'AVX512 pour aller plus loin (je me contente de la SSE qui est appréciable). Mais je ne suis qu'un amateur.
Merci également à mesa et à SPH !!!
Re: Pure Basic en 64 bits ?
a se moment je t'invite a nous rejoindre sur le discord purebasic français, il sera bien plus simple d'echangé a l'avenir et surtout si tu veux de l'aide pour se qui de l'assembleur, donc FASM que j'appel Flati
https://discord.gg/Cn2dhYKn
se lien expire dans 7 jours a compté de la date de post de se message
https://discord.gg/Cn2dhYKn
se lien expire dans 7 jours a compté de la date de post de se message
Re: Pure Basic en 64 bits ?
Merci pour ton invitation sur discord, Nemerod. Je vais m'y connecter.
Merci aussi à Naheulf pour sa contribution que j'avais oublié de mentionner.
Merci aussi à Naheulf pour sa contribution que j'avais oublié de mentionner.