Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utilisation d'assembleur dans Visual Studio C++ 2008 [ Divers / Débutant(e) ] (epineurien)

dimanche 13 avril 2008 à 18:18:09 | Utilisation d'assembleur dans Visual Studio C++ 2008

epineurien

Bonjour à tous !

Je suis passé il y a quelques jours de Masm32 à Visual Studio 2008 et j'ai (comme d'hab.) quelques problêmes.
Tant qu'il s'agit d'afficher un bon vieux 'hello world' en pur C , ca va . Mais dès que j'essaye d'insérer de l'asm , la galère commençe.
J'ai déjà résolut une partie des problêmes , mais il y a deux messages qui résistent encore et toujours à l'envahisseur à mes recherches.

Voilà les codes :  (je me suis basé sur les exemples 'EuclidStep2' & co. trouvé sur MSDN)
demonstration.cpp :

#include "Test.asm"                  // le fichier asm
void Truc(void);                        //équivalent d'un PROTO en C++

int main(int argc, char* argv[])
{
Truc();                                       //le programme ne fait rien , c'est juste pour voir si ça marche
return 0;
}

Test.asm :

.686
.MODEL FLAT,C
.STACK 4096

Truc PROTO

.code

Truc PROC
xor eax,eax
xor ebx,ebx
xor ecx,ecx
xor edx,edx
ret
Truc ENDP
END

Les erreurs sont :
Test.asm(1) : error C2059: erreur de syntaxe : 'constant'         ; apparement '.686' ne lui plait pas (et pareil pour '.386' , '.586' ,...)
.\Demonstration.cpp(6) : error C3861: 'Truc' : identificateur introuvable   ;apparement ma déclaration de fonction lui plait pas plus .

Donc si l'un de vous est un utilisateur de VS C++ , est-ce qu'il pourrait m'expliquer ce qui ne vas pas ?

D'avance merci !


Jetez un coup d'oeil à mon projet de moteur 3D par lancer de rayons : 
http://hydrargyrum.ifrance.com.

dimanche 13 avril 2008 à 19:33:55 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

BruNews

Administrateur CodeS-SourceS
Exemple entre autres ici:
http://www.cppfrance.com/codes/TEST-VITESSE-SELON-TYPE-WIN32-WIN64_45996.aspx

Charge projet dans VC++ et clic droit propriété sur fichier asm, tu y verras ce qu'il faut mettre en options de compil.

ciao...
BruNews, MVP VC++

dimanche 13 avril 2008 à 21:07:45 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

epineurien

C'est fait ...

Aucun changement , j'ai exactement les mêmes erreurs .
Au passage , si j'essaye d'ajouter tes commandes :
option casemap :none
option prologue:none
option epilogue:none
j'obtiens pleins d'erreurs en plus : des 'erreurs de syntaxes' et des 'spécificateur de type manquant' dans Test.asm (au cas où ca pourrait te guider...).


Jetez un coup d'oeil à mon projet de moteur 3D par lancer de rayons : 
http://hydrargyrum.ifrance.com.

dimanche 13 avril 2008 à 21:17:50 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

BruNews

Administrateur CodeS-SourceS
MON projet donné plus haut, si tu l'ouvres et compiles, tu as des erreurs ?

ciao...
BruNews, MVP VC++

dimanche 13 avril 2008 à 21:21:23 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

epineurien

Oui , une seule , due à un fichier manquant semble t-il :
.\Speed32.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.

Note : pour ce qui de rajouter 'option bidule:none' , ca enlève les deux erreurs que j'avait au départ et ca les remplace par  :
Test.asm(1) : error C2059: erreur de syntaxe : 'constant'
Test.asm(5) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'option'
Test.asm(5) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
Test.asm(5) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'prologue'
Test.asm(5) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
Test.asm(5) : error C2470: 'prologue' : similaire à une définition de fonction, mais aucune liste de paramètres ; corps apparent ignoré
Test.asm(6) : error C2061: erreur de syntaxe : identificateur 'option'
.\Demonstration.cpp(4) : error C2062: type 'int' inattendu
.\Demonstration.cpp(5) : error C2630: ';' trouvé(e) à la place d'une liste avec la virgule comme séparateur


Jetez un coup d'oeil à mon projet de moteur 3D par lancer de rayons : 
http://hydrargyrum.ifrance.com.

dimanche 13 avril 2008 à 21:39:26 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

epineurien

MAJ :
J'en ai profité pour reprendre tes paramêtres pour le fichier 'Speed32.c' , vers 'Demonstration.cpp' , si je met :
Compilation sous : 'Compiler comme du code C' au lieu de 'Compiler comme du C++' ;
ca enlève l'erreur : '.\Demonstration.cpp(6) : error C3861: 'Truc' : identificateur introuvable.'


Jetez un coup d'oeil à mon projet de moteur 3D par lancer de rayons : 
http://hydrargyrum.ifrance.com.

dimanche 13 avril 2008 à 21:49:14 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

BruNews

Administrateur CodeS-SourceS
Le fichier RC est dans le zip, il n'est pas manquant.

ciao...
BruNews, MVP VC++

dimanche 13 avril 2008 à 21:54:04 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

BruNews

Administrateur CodeS-SourceS
Autre chose, prépare tes projets avec ceci:
TEMPLATES C/C++ POUR VS 2008
http://www.cppfrance.com/code.aspx?ID=44835

ciao...
BruNews, MVP VC++

dimanche 13 avril 2008 à 22:16:02 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

epineurien

Le fichier '.rc' est bien là , mais pas 'afxres.h'.
Au passage , c'est pareil pour l'autre source :
.\TplVs08.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.

Remarque 1: toutes mes 'lignes de commandes' dans les propriétés sont différentes des tiennes.
Le problême c'est que j'arrive pas à les effacer , je ne peut que rajouter des options supplémentaires.

Remarque 2: j'ai aussi recopié les propriétés de tout le projet. Ca n'a rien changé , sauf que je peut remettre partout 'Compiler comme du C++' , c'est tant mieux parceque sans ça un 'include <windows.h>' donnait une série d'erreur de 10 mètres de long :
error C2027: utilisation du type non défini 'PreAttribute'
error C2027: utilisation du type non défini 'PostAttribute'
en boucle ...

Je sens que ça va être long... :-)

Pour tes templates , je doit utiliser lequel ? cWnd ?

dimanche 13 avril 2008 à 22:24:11 | Re : Utilisation d'assembleur dans Visual Studio C++ 2008

BruNews

Administrateur CodeS-SourceS
ah ok, ton installation de VC++ n'est pas complete.

Vire la ligne afxres.h, c'est issu de MFC, pas indispensable. Suffira de mettre les constantes manquantes (comme IDC_DTATIC = -1).

ciao...
BruNews, MVP VC++


1 2

Cette discussion est classé dans : visual, test, truc, studio, asm


Répondre à ce message

Sujets en rapport avec ce message

inclure routines asm dans visual studio [ par fgh39 ] BonjourDans le cadre du développement d'un logiciel d'acquisition de données massives qui acquierrent sur 50 voies des données de l'ordre des 50 khz. Peut-on générer du code pour 68hc16 avec Visual Studio... [ par search47 ] J'utilise Visual Studio .NET (C#)Est-il possible d'utiliser ce même éditeur pour compiler du C pour un 68hc16 (ou autre) et générer le fichier binaire Lire et modifier la RAM [ par bilaloch ] Bonjour à tous, J'aimerais savoir s'il y a une possibilité pour que, à travers le C++ (ou l'ASM d'ailleurs, je poste ce message sur le forum de l'ASM Afficher le contenu d'un registre [ par Anakinele ] Bonjour !Grand débutant en ASM je cherche 'simplement' (rien ne semble simple en asm !) à afficher dans la console le contenu d'un registre choisi au Le Savoir c'est le Pouvoir... [ par ScSami ] Bien l'bonjour à toutes et tous,Je me pose une grande question... Pourquoi n'y a-t-il aucun tuto sur ce site ???Autrement dit, et pour poser la tradit Labels, macros et répétitions [ par samsamX ] Bonjour à tous ! Je programme en asm depuis 3 semaines seulement, mais j'ai déjà eu le temps de voir quelques trucs...Etme voici confronté à mon premi Drawline en asm [ par raoulli ] bonsoir.J'ai voulu creer une ligne sur l'ecran en asm, mais Drawline ?, je ne la trouve pas, si elle existe.j'ai trouvé des infos, mais avec les inter program asm [ par yazidhy ] j'ai besoin d'un program sur asm d'un afficheur 7 segment connecté en parallèle(port DB25) à l'ordinateurmerci pour votre aide "C urgent"


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.