|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() Raymond Inscription : mai 2007 Messages : 9 011 ![]() |
Bonjour à tous
L'objectif de cette série d'articles d'Alex Darby sur la programmation « bas-niveau » est de permettre aux développeurs ayant déjà des connaissances de la programmation C++ de mieux comprendre comment vos programmes sont exécutés en pratique. Ce huitième article s'intéresse aux optimisations faites par le compilateur C/C++ et à l'assembleur optimisé. Programme d'étude sur le C++ bas niveau n° 8 : l'assembleur optimisé Bonne lecture. Retrouver l'ensemble des articles de cette série sur la page d'index.
__________________
Raymond Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi ![]() Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.e-verbe Un logiciel de conjugaison des verbes de la langue française.Ma page personnelle sur DVP. |
|
|
20
|
|
|
#2 |
![]() ![]() Germino LegrandDéveloppeur de jeux vidéo Inscription : octobre 2010 Messages : 366 ![]() |
Série d'articles très instructive, même en ne disposant pas de VS ^^
__________________
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 312 ![]() |
Pour info, pour avoir le code assembleur avec gcc et Clang, il suffit d'utiliser l'option de compilation -S
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
00
|
|
|
#4 |
![]() ![]() Germino LegrandDéveloppeur de jeux vidéo Inscription : octobre 2010 Messages : 366 ![]() |
A noter qu'avec gdb + C::b (dernière version), on dispose d'une fenêtre permettant de débugger en ayant le code asm et C++ mixé (Debug->Debugging-Windows->Disassembly, on peut cocher la case mixed), bien appréciable quand on tombe sur certains bugs notamment relatifs au traitement des exceptions.
__________________
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 312 ![]() |
Dans Qt Creator (on va faire le tour des IDE
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
10
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : mai 2008 Messages : 937 ![]() |
Je concours, cette série d'article est vraiment excellente !
Sinon pour revenir à Visual Studio, la méthode employée par l'auteur pour lire l'assembleur optimisé m'a l'air un peu compliqué. Pour ma part, je mets le code qui m'intéresse dans une fonction (jusque là c'est identique), en revanche je rajoute l'attribut _declspec(noinline) pour empêcher la fonction d'être inliné, le but étant de s'assurer qu'un breakpoint mis dans la fonction ne va pas disparaître pour cause d'inlining. L'avantage c'est qu'une fois qu'on tient un breakpoint stable on peut voir l'assembleur très simplement, comme dans les articles précédents de la série (atteindre le break point en lançant le prog dans vs, puis utiliser la fenêtre de désassemblage) |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com