Simplement, non.
"inline
" est juste un indice pour le compilateur.
Il existe des moyens pour forcer un compilateur à inline
quelque chose, mais ces moyens sont spécifiques au compilateur. Votre code semble mobile pour moi, alors voici quelques façons sur certains compilateurs C++ utilisés sur différentes plates-formes de téléphonie mobile:
compilateur Windows CE/Windows Mobile VC++ ARM utilise le mot-clé __forceinline
au lieu de l'indice « en ligne ».
Un meilleur compilateur (c'est-à-dire rendant la sortie plus rapide) pour Windows CE/Windows Mobile est cegcc, qui utilise le tout dernier GCC 4.4. Dans GCC, vous écrivez __attribute__((always_inline))
après le nom de la fonction et avant le corps.
La plus grande chose est si c'est une bonne idée d'intégrer cette boucle. Je programme des téléphones mobiles pour vivre, et ils n'ont généralement pas beaucoup de budget CPU. Mais je serais vraiment surpris si cette boucle est un goulot d'étranglement. Dénuder votre programme de toutes les décorations «en ligne» et quand vous approchez de l'expédition, si le programme est lent, le profil! Certains compilateurs permettent une 'optimisation guidée par profil' où ils peuvent faire un binaire instrumenté que vous exécutez de manière réaliste, puis ils utilisent les données ainsi rassemblées pour faire un binaire de production où ils prennent des décisions éclairées sur la vitesse du code par rapport au code taille dans les différentes parties de votre programme pour donner le meilleur mélange des deux.
Wow. Désolé, AraK et Steven. L'équipe SO _really_ doit gérer le problème des modifications multiples. –
Celui qui doit lire ce code a mes plus sincères condoléances. –
Si c'est du C++, pourquoi mettre un 'struct' devant les noms de structure? En C++, ce sont des citoyens de première classe, pas de simples étiquettes. Si ce 'i' doit être' unsigned' (et que les indixes de tableau le font), pourquoi le faites-vous signer? Êtes-vous sûr de ne pas vouloir accéder au dernier élément de 'imsiForUEDir'? (Pour quelqu'un qui a le contexte, il peut être clair que ce n'est pas une erreur au hasard, mais intentionnel, mais d'après ce que je vois, il semble suspect.) – sbi