π
<-
Chat plein-écran
[^]

Présentation PB: Project Builder avec compilateur C en ligne

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 17 Mar 2017, 20:15

Parsing/affichage ASM amélioré selon les conseils de Runer112 :

Image
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 18 Mar 2017, 20:21

Adriweb a écrit:
Wistaro a écrit:Je sais pas si c'est possible, mais pourrait-on pouvoir indiquer quelques chose dans la console pour faire du debuggage?
Du genre void print2Console( char* msg)
ou void printUInt2Console( uint8_t var, uint8_t size)
?

En fait c'est déjà faisable avec les fonctions de debug de la toolchain et sur le vrai CEmu.
Par exemple, ce code ira afficher la string dans la console de l'émulateur:
Code: Tout sélectionner
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <tice.h>

#undef NDEBUG
#include <assert.h>
#include <debug.h>

void main(void) {
    pgrm_CleanUp();

    dbg_sprintf(dbgout, "This is the start of a CEmu debugging test\n");

    while(!os_GetCSC());
    pgrm_CleanUp();
}

Cf. l'exemple plus complet ici pour gérer les breakpoint directement à partir du code en lui-même: https://github.com/CE-Programming/toolc ... src/main.c


Cependant, la version JS de CEmu, utilisée sur le PB donc, n'a pas l'air de gérer ça (si ca fait partie des choses de debugging, et logiquement oui, alors c'est normal, j'ai désactivé tout ça puisque ça sert globalement à rien tant qu'il n'y a pas de débuggeur dans le PB). Il faudrait que je vois si je peux activer uniquement cette feature de debugging en console...


C'est désormais intégré !

Image
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Wistaro » 19 Mar 2017, 19:28

Excellent, merci beaucoup! :)
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 87.5%
 
Messages: 3152
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 03 Avr 2017, 12:13

Une mini-intégration expérimentale de la compilation avec LLVM a été rapidement effectuée, hier soir :

Image

Ce sera bien sûr mieux dans le futur, mais pour le moment, pour tester rapidement, c'est déja pas mal :P
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 07 Avr 2017, 23:40

LLVM view updated, now diffing with ZDS (left, and llvm on the right)
Note that clang gets called with -Oz for now.
(Also, yes that means you can write some C++17 for you 84+CE, because why not...)

Image
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude TheMachine02 » 08 Avr 2017, 14:33

Joli :#top#: Et je suis content de constater que le code généré par llvm est bien plus optimisé :p
Avatar de l’utilisateur
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 29.4%
 
Messages: 341
Images: 0
Inscription: 16 Jan 2013, 18:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Médecine

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 16 Avr 2017, 17:20

Il devrait bientôt y avoir une popup (modal) de configuration du projet :
Image

Je compte aussi implémenter le fait de pouvoir donner des arguments à clang (du genre "-W -Wall -Wextra -O2" etc.) quand on choisit la compilation expérimentale par LLVM)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 22 Avr 2017, 17:42

(Je devrais certes essayer d'avancer sur cette fameuse configuration plus fine du projet et d'autres choses liées, mais je viens juste signaler que la version de LLVM proposée en test a été mise à jour. En fait, elle l'est globalement à chaque fois (le jour même, en gros) que jacobly la fait évoluer, mais histoire de vous notifier ici au moins une fois... ;) Entre autre, des stack frames plus grosses sont mieux gérées, tout comme les flottants)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 28 Mai 2017, 23:16

Des améliorations ont été faites au Project Builder, pendant ce long weekend (et je remercie particulièrement jacobly pour le temps passé à débugger des trucs avec moi :P) :

  • "Refonte" (relativement mineure, mais pas non plus triviale) de l'architecture du backend eZ80_native pour mieux permettre l'utilisation de la toolchain upstream directement.
    Le PB utilise donc la dernière version de la toolchain et des libs, tout en gardant la compatibilité pour les anciens projets.
  • Début du support des fichiers .cpp/.hpp, qui peuvent pour l'instant se compiler uniquement, et bien sûr seulement avec LLVM (pas buildés avec le linker ZDS etc. pour le moment).
    Attention, pas de lib standard C++... Mais donc écrire des classes, templates etc. (bref la syntaxe C++) à la main sans utiliser des trucs de la STL, par exemple, ça fonctionne.
  • More generic and reliable dirty check (pour le lancement des build)
  • Fix ctags getter when refreshing after saving files
  • Fix modal line numbers and refresh
  • Possibilité d'afficher l'output de la compilation LLVM uniquement (au lieu d'uniquement un diff avec l'output ZDS)
  • Meilleurs tooltips bootstrap
  • Mise en place d'une protection contre la création de nouveaux fichiers d'implémentation (c/cpp/asm) qui ont le même nom que d'autres fichiers d'implem avec extension différente, ça créait des conflits sinon (exemple, création de test.asm si un test.c existait déjà)



(Ca va venir prochainement sur le repo github public)
Over the past few days, I've been able to work on some Project Builder upgrades (and I want to particularly thank jacobly for the time he spent with me debugging some things :P) :

  • "Refactor" (relatively minor, but not trivial either) of the eZ80_native backend architecture to better allow for a more direct usage of the upstream toolchain.
    The PB now uses the latest toolchain and libs versions, while keeping compatibility for/with the old and existing projects.
  • Initial support of .cpp/.hpp files, which may be compiled only right now, and of course only with LLVM (they're not built, there's no ZDS linker involved, at least for now).
    Warning, there's no C++ std lib support, but you way write classes, templates etc. (well, anything related to the C++ syntax itself), but without using the STL, for example.
  • More generic and reliable dirty check (for launching builds)
  • Fix ctags getter when refreshing after saving files
  • Fix modal line numbers and refresh
  • New feature to display the LLVM unfiltered output alone as well, instead of only having a ZDS+LLVM diff view.
  • Better bootstrap tooltips
  • Feature to disallow creating implementation files with the same "common name" (i.e. you can't create a test.asm file if a test.c existed, as this would conflict later on during the build)



(Will be available soon on the public github repo)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Présentation du Project Builder avec compilateur C en li

Message non lude Adriweb » 02 Juin 2017, 01:01

Mais, mais, que-vois-je ?

Image

Hé oui, ça y est, le support de build C/C++ avec le backend LLVM-ez80 de jacobly a été intégré sur le Project Builder (en alpha) !
What's that? C++ you say? LLVM-based building and not just asm-viewing?

Image

That's right, C/C++ building support through jacobly's LLVM-ez80 backend is now available on TI-Planet's Project Builder (in alpha) !
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

PrécédenteSuivante

Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 22 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
855 utilisateurs:
>831 invités
>19 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)