Compilation Ndless - Petites tailles des exécutables
10 posts
• Page 1 of 1
Compilation Ndless - Petites tailles des exécutables
Bonjour à vous,
Je cherche à limiter au maximum la taille de mes exécutables avec Ndless (C).
Comment dois je faire le 'Makefile' pour ça ?
Pour info, je ne cherche qu'à faire des choses très basiques dans le programme C.
Merci par avance....
Je cherche à limiter au maximum la taille de mes exécutables avec Ndless (C).
Comment dois je faire le 'Makefile' pour ça ?
Pour info, je ne cherche qu'à faire des choses très basiques dans le programme C.
Merci par avance....
-
newprog_creatorProgrammeur
Niveau 7: EP (Espèce Protégée: geek)- Posts: 68
- Joined: 29 Mar 2014, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: bac+13
Re: Compilation Ndless - Petites tailles des exécutables
En passant
-Os
aux flags du compilateur gcc. Ça optimise pour une taille minimum. Mais bon généralement c'est pas la place qui manque, donc -O2 est suffisant.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...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14820
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Compilation Ndless - Petites tailles des exécutables
Merci pour la réponse mais je ne pense pas que cela puisse faire passer un programme de 90ko à 1ko.
Je pense que Ndless met beaucoup (trop) de données par défaut dans les exécutables (90 ko pour quasi aucun code, meme pas de printf). Peut être il y a til un moyen de ne pas insérer par défaut ces données, mais je ne sais pas comment faire...
Je pense que Ndless met beaucoup (trop) de données par défaut dans les exécutables (90 ko pour quasi aucun code, meme pas de printf). Peut être il y a til un moyen de ne pas insérer par défaut ces données, mais je ne sais pas comment faire...
-
newprog_creatorProgrammeur
Niveau 7: EP (Espèce Protégée: geek)- Posts: 68
- Joined: 29 Mar 2014, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: bac+13
Re: Compilation Ndless - Petites tailles des exécutables
Faut voir le code et le makefile. Tu peux mettre ça ici dans un zip, qu'on regarde ?
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...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14820
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Compilation Ndless - Petites tailles des exécutables
Bonne idée. Ci-joint le Makefile et le *.c
You do not have the required permissions to view the files attached to this post.
-
newprog_creatorProgrammeur
Niveau 7: EP (Espèce Protégée: geek)- Posts: 68
- Joined: 29 Mar 2014, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: bac+13
Re: Compilation Ndless - Petites tailles des exécutables
Bonjour,
Je me permets de relancer
Je me permets de relancer

-
newprog_creatorProgrammeur
Niveau 7: EP (Espèce Protégée: geek)- Posts: 68
- Joined: 29 Mar 2014, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: bac+13
Re: Compilation Ndless - Petites tailles des exécutables
J'ai envoyé le lien de ce topic à Vogtinator, on verra s'il a le temps de jeter un oeil 

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...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14820
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Compilation Ndless - Petites tailles des exécutables
Je crains que cela ne soit lié à la lib nspireio qui est linkée.
C'est la librairie de base qui permet de faire le lien avec le matériel, donc nécessaire pour les projets Ndless.
Faire une librairie plus light est en soi possible, mais cela signifie qu'il faudrait faire l'impasse sur certaines fonctions/le support de certaines parties du matériel.
A titre d'exemple, le "helloworld" du SDK, qui est un simple démonstrateur de l'utilisation des classes en C++ avec un printf() voit la taille du fichier TNS vers 120ko.
Les sources pèsent juste 400o, et fort heureusement de genzehn passe la compression du binaire, car le fichier ELF sorti de l'étape de compilation/linkage pèse lui près de 290Ko.
Tu remarqueras aussi que toujours dans le SDK, l'exemple "colors" est un petit programme qui n'utilise pas la lib nspireio et dont la taille du TNS est nettement plus contenue (5Ko pour des sources qui font 676o et un ELF de 75Ko environ, encore merci à genzhen et aux diverses options)
A mon avis tu dois pouvoir t'inspirer de ce dernier exemple pour faire mieux, par contre, il faut être clair, sans la libnspireio.a linkée, les possibilités seront hyper limitées car plein de fonctions ne seront juste pas accessibles.
C'est la librairie de base qui permet de faire le lien avec le matériel, donc nécessaire pour les projets Ndless.
Faire une librairie plus light est en soi possible, mais cela signifie qu'il faudrait faire l'impasse sur certaines fonctions/le support de certaines parties du matériel.
A titre d'exemple, le "helloworld" du SDK, qui est un simple démonstrateur de l'utilisation des classes en C++ avec un printf() voit la taille du fichier TNS vers 120ko.
Les sources pèsent juste 400o, et fort heureusement de genzehn passe la compression du binaire, car le fichier ELF sorti de l'étape de compilation/linkage pèse lui près de 290Ko.
Tu remarqueras aussi que toujours dans le SDK, l'exemple "colors" est un petit programme qui n'utilise pas la lib nspireio et dont la taille du TNS est nettement plus contenue (5Ko pour des sources qui font 676o et un ELF de 75Ko environ, encore merci à genzhen et aux diverses options)
A mon avis tu dois pouvoir t'inspirer de ce dernier exemple pour faire mieux, par contre, il faut être clair, sans la libnspireio.a linkée, les possibilités seront hyper limitées car plein de fonctions ne seront juste pas accessibles.
Some works in progress :
The GUI Toolkit NF for nSpire | MyShmup for fxCG-50 | Magic Light for Casio Graph 90+E and Magic Light for nSpire CX/CX-II | Simple Text Editor for nSpire | OutRun for Casio Graph 90+E |
![]() | ![]() | ![]() | ![]() | ![]() |
And more to come ... stay tuned
-
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 545
- Images: 32
- Joined: 19 Jan 2021, 09:41
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- GitHub: SlyVTT
Re: Compilation Ndless - Petites tailles des exécutables
Bien reçu. Je regarde ça...
-
newprog_creatorProgrammeur
Niveau 7: EP (Espèce Protégée: geek)- Posts: 68
- Joined: 29 Mar 2014, 19:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: bac+13
Re: Compilation Ndless - Petites tailles des exécutables
nspireio is only necessary if you want to use the console it provides. If you use something else for user input and output, you can avoid it.
There are two tricks you can use to make it smaller. One is to remove unused symbols from the executable with
With those tricks the .tns is ~42KiB here.
There are two tricks you can use to make it smaller. One is to remove unused symbols from the executable with
-Wl,--gc-sections
. The other is to leverage deflate support in the Zehn file format by adding --compress
to ZEHNFLAGS. The latter adds about 13K to the .prg.tns file, but if you target Ndless >= 3.9 (r2000, released in 2015) the plain .tns file is enough.With those tricks the .tns is ~42KiB here.
-
VogtinatorPremium
Niveau 9: IC (Compteur Infatigable)- Posts: 217
- Joined: 29 Mar 2014, 15:55
- Gender:
- Calculator(s):→ MyCalcs profile
10 posts
• Page 1 of 1
Return to Native: Ndless, Linux, ...
Who is online
Users browsing this forum: ClaudeBot [spider] and 3 guests