Le link-time-optimisation ?
Non, pas essayé tout simplement parce qu'en embarqué c'est vraiment du bas niveau dont j'ai besoin et pas de l'objet elf. Je ré-écris le crt0.s (normal il faut bien initialiser le bus externe du micro et lui dire qu'il y a du monde dehors ;-) ), je vire le crt1 (mais en c++ tu en aura besoin c'est lui qui invoque les constructeurs de tes class globales) et j'écris mes script ld correspondant à la mémory map de la carte. Pas de stdlibs, je crée en assembleur les trucs vraiment indispensable (comme memcpy,save_interrupt et restore_interrupt) pour que le link fonctionne.
En gros le dernier programme que j'ai fais l'objet elf fais 90Ko mais en hex à flasher il fait moins de 30Ko (et il fait plein de choses)
Les programmes que j'écris sont stand alone, pas d'os ni fs ni beaucoup de flash ni beaucoup de ram, c'est byzance quand une des deux mémoire fais plus de 128ko.
[^] # Re:J'ai séparé ma classe en 2 fichiers .h et .cpp et le code est plus gros
Posté par TheBreton . En réponse au message Faire une réduction de code en supprimant les fonctions non utilisées. Évalué à 1.
Le link-time-optimisation ?
Non, pas essayé tout simplement parce qu'en embarqué c'est vraiment du bas niveau dont j'ai besoin et pas de l'objet elf. Je ré-écris le crt0.s (normal il faut bien initialiser le bus externe du micro et lui dire qu'il y a du monde dehors ;-) ), je vire le crt1 (mais en c++ tu en aura besoin c'est lui qui invoque les constructeurs de tes class globales) et j'écris mes script ld correspondant à la mémory map de la carte. Pas de stdlibs, je crée en assembleur les trucs vraiment indispensable (comme memcpy,save_interrupt et restore_interrupt) pour que le link fonctionne.
En gros le dernier programme que j'ai fais l'objet elf fais 90Ko mais en hex à flasher il fait moins de 30Ko (et il fait plein de choses)
Les programmes que j'écris sont stand alone, pas d'os ni fs ni beaucoup de flash ni beaucoup de ram, c'est byzance quand une des deux mémoire fais plus de 128ko.