ton compilateur comprend probablement une séquence d'échappement similaire à celle que donne bookeldor. tu peux la rentrer directement dans le source, c'est mieux que de copier le caractère s'il est ésotérique.

I'm on a boat motherfucker, don't you ever forget
pourquoi trois " pour encadrer la chaine?
ok, heureusement que t'as donné l'explication, sinon j'aurais pas pigé à quoi ça sert de coller une fonction par section! (d'ailleurs je comprends toujours pas pourquoi ça permet de mieux optimiser)
Le compilateur fait exactement ça avec -ffunction-sections -fdata-sections d'ailleurs (ce qui est mis par défaut pour les nouveaux projets dans TIGCC IDE et KTIGCC).
Pour réordonner les sections, j'avait fait une heuristique compliquée et lente, mais Sebastian a trouvé une solution beaucoup plus simple qui a donné de meilleurs résultats (et plus rapidement): on essaie de mettre les sections les plus référencées au milieu, et on choisit de grandir à gauche ou à droite selon ce qui s'optimise mieux. Un cas particulier: il essaie de mettre une section juste après une autre quand ça permet de faire des reférences en .s voire d'enchaîner directement (jsr+rts -> jmp (optimisation tailcall) -> rien si on peut mettre la destination juste après). Mon ancien algorithme est encore utilisé pour réordonner les sections de démarrage portant le même numéro (les sections de démarrage sont triées par numéro, mais si le numéro est le même, l'ordre n'a aucune importance, donc on peut réordonner si ça permet de créer des références .s), là il y en a très peu à chaque fois, donc la complexité de mon heuristique ne se fait pas remarquer.

Congratulations, you juste have posted the most useless message evar.
For this, you win 3 Internets.