FAQ C++ BuilderConsultez toutes les FAQ

Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe C++ Builder de Developpez.

Commentez cette FAQ : Commentez


SommaireLangageAssembleur (4)
précédent sommaire suivant
 

Ecrire des parties de programme en assembleur peut permettre d'optimiser les performances de votre programme, mais ce n'est pas obligatoirement le cas. Tout d'abord, sachez que la compilation se termine par une phase d'optimisation ; c'est-à-dire que le compilateur va essayer de transformer au mieux les instructions pour les rendres plus rapides. Pour cela, il utilise du code assembleur adéquat. Donc quand vous écrivez des parties de programme en assembleur, il faut être vraiment sûr que votre code sera plus performant que celui créé par le compilateur. Il faut alors que vous maitrisiez (très) bien l'assembleur. Ainsi, surtout si vous êtes débutant, il n'est pas nécessaire d'essayer de remplacer du code C++ par de l'assembleur, pensant optimiser votre programme.

Mis à jour le 1er septembre 2004 Geronimo

Pour des raisons d'optimisation, il peut être intéressant d'écrire des parties d'un programme en assembleur. Cependant, cela peut être très couteux en temps de développement, pour une optimisation pas forcémment remarquable. Il suffit de placer son code assembleur à l'intérieur d'un bloc commençant par le mot-clé asm :

Code c++ : Sélectionner tout
1
2
3
4
5
asm 
{ 
    mov eax, 10;  // Place 10 dans eax (eax = 10) 
    add eax, 10;  // Ajoute 10 dans eax (eax = 20) 
}
Vous devez également placer la directive #pragma inline au début du fichier contenant de l'assembleur. Ceci indique à C++Builder qu'il y aura de l'assembleur dans votre source.

Mis à jour le 1er septembre 2004 Geronimo

La réponse est simple : vous avez oublié de placer la directive

Code c++ : Sélectionner tout
#pragma inline
en tête de l'unité où vous avez placé de l'assembleur. Le compilateur redémarre donc la compilation en activant la compilation de l'assembleur quand il en rencontre. Lorsque vous placez cette directive, le compilateur est prévenu dès le début de la présence d'assembleur dans le code et active alors l'assembleur avant de compiler.

Mis à jour le 1er septembre 2004 Geronimo

Aucune, les trois mots-clés asm, _asm et __asm permettent d'introduire un bloc d'assembleur dans votre code.

Mis à jour le 1er septembre 2004 Geronimo

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2020 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.