Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5110 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C++] Dynamic_cast sans RTTI ....

n°109273
BENB
100% Lux.
Posté le 07-03-2002 à 23:10:36  profilanswer
 

Reprise du message précédent :
La macro doit ressembler a ca
 
#define ASSERT bool b; \
  ((result && __asm{int 3}),result) = result = fct_assert  
 
je ne vois pas vraiment le Pb sinon le fait que __asm ne renvoie rien...
 
#define ASSERT bool b; \
  ((result && (__asm{int 3},true)),result) = result = fct_assert  
 
ou je remplace le __asm{int 3} par un operateur virgule
(__asm{int 3},true)... qui lui renvoie quelque chose....
 
bon deja au depart c'etait pas genial, maintenant c'est completement illisible.

mood
Publicité
Posté le 07-03-2002 à 23:10:36  profilanswer
 

n°109292
leander
Posté le 07-03-2002 à 23:31:01  profilanswer
 

ben c'est presque comme celle que j'ai fait.
 
Et j'ai essayé de compiler la macro que tu as fait, mais ça ne marche pas mieux avec VC++.
 
Tu arrives à compiler toi ?
 
PS : faut mettre "bool result" à la place de "bool b"

n°109314
youdontcar​e
Posté le 08-03-2002 à 03:58:44  profilanswer
 

wow :lol:
 
et t'as pas moyen de passer une structure qui stocke les paramètres, ou encore par une string ?
 
(histoire de n'avoir qu'un seul paramètre)

n°109324
BENB
100% Lux.
Posté le 08-03-2002 à 08:58:36  profilanswer
 

leander a écrit a écrit :

ben c'est presque comme celle que j'ai fait.
 
Et j'ai essayé de compiler la macro que tu as fait, mais ça ne marche pas mieux avec VC++.
 
Tu arrives à compiler toi ?
 
PS : faut mettre "bool result" à la place de "bool b"  




Ben a la maison j'ai pas de compilo...
Et au boulot, le __asm machin chose, mes stations Sun je ne crois pas qu'elles vont aimer!

n°109334
leander
Posté le 08-03-2002 à 09:11:50  profilanswer
 

youdontcare a écrit a écrit :

wow :lol:
 
et t'as pas moyen de passer une structure qui stocke les paramètres, ou encore par une string ?
 
(histoire de n'avoir qu'un seul paramètre)  




 
c'est ironique ?
parce que sinon, je vois pas trop ce que tu veux dire.

n°109346
BENB
100% Lux.
Posté le 08-03-2002 à 09:18:07  profilanswer
 

leander a écrit a écrit :

 
 
c'est ironique ?
parce que sinon, je vois pas trop ce que tu veux dire.  




Ton probleme vient de ta liste d'arguments dont la longueur n'est pas fixe... ce qui t'oblige a faire l'appel a ta fonction en dernier et donc a retourner l'ordre d'execution (que la fin de la macro soit execute en premier...
 
En supprimant cette liste a longueur variable tu supprime le Pb
 
Regarde par exemple du cote des Flux tu pourrait avoir un appel du style
ASSERT ("Pb de macro ligne"<<noline<<"colone"<<nocol<<endl, test);
 
ce qui reconstitue l'aspect liste d'argument a nombre variable, mais ou il n'y en a que deux en faits...

n°109347
leander
Posté le 08-03-2002 à 09:23:10  profilanswer
 

ah ok, je vois.
En effet c'est vrai que ça pourrait marcher comme ceci.
Mais comme j'ai déjà pas mal de code écrit avec mes assert sous forme de printf je vais peut-être pas tout changer.
 
Mais bon, c'est pas très grave. Une fois un assert déclenché il suffit de remonter d'un cran dans la pile des fonctions pour trouver l'erreur.
 
C'est juste que je me disais qu'il y avait peut-être une bidouille qui me permettrait de changer l'ordre d'execution pour pouvoir mettre le int 3 dans le cpp.
 
Mais les compilos on leur limites par rapport aux bidouilles ;)
 
PS : remarquer que sur ce problème, j'ai juste besoin que ça marche sous Visual C++.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[C++ extreme ...] héritage virtuelle multiple et cast[c++] dynamic_cast...
[SQL] problème avec CAST[C++/C] Dynamic Data Exchange, messages Inter-Process
[VB6] Vérifier la cast[C++] dynamic_cast
Plus de sujets relatifs à : [C++] Dynamic_cast sans RTTI ....


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)