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

  FORUM HardWare.fr
  Programmation
  C++

  Pragma pour ignorer une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pragma pour ignorer une fonction

n°1755572
Vel-Ryphon
Posté le 04-07-2008 à 13:04:14  profilanswer
 

Salut,
 
Je cherche à paramétrer la prise en compte, ou non, par le compilateur, d'une fonction spécifique.
 
Par exemple, je voudrais lui dire de ne pas prendre en compte les instructions printf.
 
Est-ce possible, par exemple avec un pragma, ou autre ?
 
Si cela est possible, je voudrais même aller plus loin : dans un header .h, dans lequel je définierais donc les fonctions à ignorer, je voudrais carrément paramétrer dans quelque header il doit appliquer l'ignorance de la dite instruction.
Par exemple, je voudrais paramétrer dans un meme fichier ini.h (par exemple), les règles suivantes :
 
si header=classe1.h, ignorer fonction printf
si header=classe3.h, ignorer fonction printf
 
Merci de votre aide^^


Message édité par Elmoricq le 04-07-2008 à 13:22:59

---------------
http://www.ryphon-mechanics.com
mood
Publicité
Posté le 04-07-2008 à 13:04:14  profilanswer
 

n°1755574
skeye
Posté le 04-07-2008 à 13:22:49  profilanswer
 

Je crains que tu ne croies au père noël. Mais je peux me tromper :D


---------------
Can't buy what I want because it's free -
n°1755575
Elmoricq
Modérateur
Posté le 04-07-2008 à 13:24:16  profilanswer
 

À part avec des #define + #ifdef / #ifndef, je ne vois pas comment faire ça.
 
Mais avant tout, je m'interroge sur ton architecture : pourquoi diable aurais-tu besoin de faire une chose pareille ? [:pingouino dei]

n°1755578
Vel-Ryphon
Posté le 04-07-2008 à 13:30:11  profilanswer
 

c'est une longue histoire ^^
 
en fait il me faudrait juste une instruction pour activer/desactiver la prise en compte d'une fonction. si ça existe, ça règlera mon problème


---------------
http://www.ryphon-mechanics.com
n°1755579
Elmoricq
Modérateur
Posté le 04-07-2008 à 13:32:06  profilanswer
 

Poste un exemple.

n°1755581
Vel-Ryphon
Posté le 04-07-2008 à 13:35:44  profilanswer
 

fichier main_header.h :
 
#include header1.h
#include header2.h
#include header3.h
#include header4.h
#include header5.h
 
 
Et je voudrai faire en sorte qu'il ne prenne pas en compte les instruction printf dans le header3.h


---------------
http://www.ryphon-mechanics.com
n°1755582
Elmoricq
Modérateur
Posté le 04-07-2008 à 13:37:44  profilanswer
 

Je crois, sans toutefois en être tout à fair sûr, que j'ai un début de commencement d'une vague compréhension.
 
Dans le header3.h t'as des fonctions qui font des printf(). Qui sont utilisées ailleurs. Et là tu voudrais utiliser ces fonctions, mais sans les printf().
 
J'ai bon ?
 
(au passage : pourquoi des printf(), on n'est pas dans la sous-cat C++ [:pingouino dei])

n°1755584
Vel-Ryphon
Posté le 04-07-2008 à 13:40:49  profilanswer
 

Oui voilà, c'est exactement ça, désolé de ne pas avoir été plus clair :(.
 
Pourquoi printf() ? des mauvaises habitudes du C lol, mais je veux bel et bien appliquer ce type de restriction à des classes et template.


---------------
http://www.ryphon-mechanics.com
n°1755586
Elmoricq
Modérateur
Posté le 04-07-2008 à 13:46:24  profilanswer
 

Vel-Ryphon a écrit :

Oui voilà, c'est exactement ça


 
Donc non, ce n'est pas possible à moins de changer toutes les fonctions définies dans header3.h pour faire, par exemple, ceci sur chaque printf :
#ifndef NO_PRINTF
printf(...
#endif
 
Et quand tu ne veux pas que les printf() soient utilisées, tu compiles avec -D NO_PRINTF (à vérifier selon le compilateur que tu utilises) ou bien tu écris ça dans ton code source à l'endroit que tu jugeras opportun : #define NO_PRINTF
 

Vel-Ryphon a écrit :

Pourquoi printf() ? des mauvaises habitudes du C lol


lol indeed [:petrus75]

n°1755595
Vel-Ryphon
Posté le 04-07-2008 à 14:01:03  profilanswer
 

Ok, merci !
 
La solution est à la hauteur du besoin : pas vraiment élégant ^^


---------------
http://www.ryphon-mechanics.com
mood
Publicité
Posté le 04-07-2008 à 14:01:03  profilanswer
 

n°1755616
thoduv
Posté le 04-07-2008 à 14:48:22  profilanswer
 

Ou, au pire de chez pire:
 

Code :
  1. #define printf(...) ;
  2. #include "header3.h"
  3. #undef printf


 
Ca remplacera tous les printf par rien.

n°1755618
Elmoricq
Modérateur
Posté le 04-07-2008 à 14:52:05  profilanswer
 

Je n'avais pas pensé à cette solution. Mais effectivement, c'est pire encore. [:joce]
 
M'enfin je pense qu'on n'est plus à ça près. [:petrus75]

n°1755619
Taz
bisounours-codeur
Posté le 04-07-2008 à 14:53:04  profilanswer
 

mais t'as des printf dans des inline dans tes .h déjà ?

n°1755621
Vel-Ryphon
Posté le 04-07-2008 à 14:57:42  profilanswer
 

pas de printf dans des fonction inline, puisque pas de fonction inline impactées.


---------------
http://www.ryphon-mechanics.com
n°1755622
Taz
bisounours-codeur
Posté le 04-07-2008 à 14:59:41  profilanswer
 

donc t'as pas de printf dans tes .h ...

n°1755627
Vel-Ryphon
Posté le 04-07-2008 à 15:16:25  profilanswer
 

je n'ai pas de fichiers .cpp, mes classes et leurs sources sont codés dans le .h, donc les printfs disséminé dans les fonctions se trouvent dans le .h.


---------------
http://www.ryphon-mechanics.com
n°1755630
Elmoricq
Modérateur
Posté le 04-07-2008 à 15:22:19  profilanswer
 

Vel-Ryphon a écrit :

je n'ai pas de fichiers .cpp, mes classes et leurs sources sont codés dans le .h, donc les printfs disséminé dans les fonctions se trouvent dans le .h.


 [:kzimir]  [:tibo2002]  [:wiids]  [:omgwtf]  [:hclinton]  [:il a ri 7]  [:ji-han]

n°1755639
BenO
Profil: Chercheur
Posté le 04-07-2008 à 15:40:38  profilanswer
 

[:cerveau whistle]


---------------
Python Python Python
n°1755640
schnapsman​n
Zaford Beeblefect
Posté le 04-07-2008 à 15:42:00  profilanswer
 

on a le droit de hillaryter? [:petrus dei]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Pragma pour ignorer une fonction

 

Sujets relatifs
[Access] Probleme fonction Date() ... time()... Mid()...Fonction pour convertir un Texte en Nombre
Fonction récursive et méthodologie sur fonctionnementappeler une fonction PHP dans une balise HTML
[RESOLU] Utilisation de la fonction WSAAddressToString()[VBA] Existe-t'il une fonction capable de trier un tableau?
[Résolu] - [Php] - Fonction Issetquelle fonction utiliser?
(finalement pas résolu) Fonction de listagemise a jour feuille avec excel des calcul d'une fonction
Plus de sujets relatifs à : Pragma pour ignorer une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR