• STATISTIQUES
  • Il y a eu un total de 1 membres et 12429 visiteurs sur le site dans les dernières 24h pour un total de 12 430 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 831
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [FR] Cyber-Hacker
    CH - Cyber Hacker est un jeu par navigateur de simulation de hack, programmez et envoyez vos virus et piratez les aut...
    Hacking
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C TOTW 3] #warning, #error
08-09-2014, 11h03 (Modification du message : 15-09-2014, 13h42 par ark.)
Message : #1
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
[C TOTW 3] #warning, #error
Hello !! :)

3 eme semaine, nouveau tip of the week ! C'est cool, j'apprends plein de trucs a vous en chercher !

Bref, trêves de bavardages, passons dans le vif du sujet! Il s'agit pour cette fois de deux directives de préprocesseur plutôt méconnues: #error et #warning

Alors, a quoi ca sert et comment ca s'utilise?

Simplement, ca sert a faire peter une erreur de compilation, ou un warning de votre propre invention.
Et au niveau de l'utilisation, voyons l'exemple ci-dessous :

Code C :

#include <stdio.h>

int main(void) {

#ifndef COMPILE_OK
#error "This won't compile!"
#else
  printf("Ce code marche nickel !\n");
#endif

#ifdef WARN
#warning "Hey, wait, this is a WARNING FOR YOU !"
#endif

  return 0;
}
 


On va maintenant essayer de compiler de manière très classique:
Code BASH :

$> gcc file.c
file.c: In function ‘main’:
file.c:6:2: error: #error "This won't compile!"
 #error "This won't compile!"
  ^
$>
 


On obtiendra donc cette erreur de compilation.
En revanche, si pour le coup on compile en spécifiant le flag qui va bien, tout se passe correctement.

Code BASH :

$>  gcc file.c -DCOMPILE_OK
$> ./a.out
Ce code marche nickel !
$>
 


Ensuite, on va pouvoir compiler avec le flag WARN pour voir le message de warning :
Code BASH :

$> gcc file.c -DWARN
file.c: In function ‘main’:
file.c:6:2: error: #error "This won't compile!"
 #error "This won't compile!"
  ^
file.c:12:2: warning: #warning "Hey, wait, this is a WARNING FOR YOU !" [-Wcpp]
 #warning "Hey, wait, this is a WARNING FOR YOU !"
  ^
$>
 


Voili voilou !
Je pense qu'un exemple d'utilisation peut etre dans le cas de dependances avec d'autre morceaux de code.
+1 (10) -1 (0) Répondre
10-09-2014, 11h49 (Modification du message : 10-09-2014, 11h49 par ark.)
Message : #2
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: [C] tip of the week 3
Du coup, j’étais entrain d’écrire un petit tool, et je me suis dis que ça pourrais être intéressant de réutiliser ce concept, donc voila un petit bout de code qui utilises le #warning d'une manière plus ou moins utile :) (même si ça reste basique)

Code C :

#ifndef __MAX_THREADS
# define __MAX_THREADS 8
# else
#  if __MAX_THREADS > 8
#   warning "make sure your CPU can efficiently handle that much threads"
#  endif
#endif
 
+1 (3) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [C TOTW 6] Xor tricks ark 7 2,370 06-03-2016, 23h36
Dernier message: Commodor
  [C TOTW 2] Parcours de tableau ark 5 1,517 29-09-2014, 17h44
Dernier message: crown
  [C TOTW 5] bitfields ! ark 4 1,369 23-09-2014, 11h17
Dernier message: Aniem
  [C TOTW 4] Equivalent de try / catch / throw en C ark 0 749 15-09-2014, 10h00
Dernier message: ark
  [C TOTW 1] Trick avec #include ark 10 2,603 01-09-2014, 18h23
Dernier message: Commodor

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut