Domanda

Sto scrivendo C89 su MSFT Visual Studio 2010 Beta. Come posso fare un'affermazione simile alla parola chiave assert di Java? Penso di aver bisogno di definire una macro, ma non sono sicuro di come. (Sembra che questo è qualcosa che è stato fatto prima, così Preferisco utilizzare che che cercare di rotolare il mio.)

Ecco una supposizione:

int assert(int truth_value) {
   // crash the program with an appropriate error message   
}
È stato utile?

Soluzione

C89 ha <assert.h>, che contiene la macro che stai cercando.

#include <assert.h>
assert(expression);

Dalla documentazione:

  

assert () Test macro dato espressione e se è falsa, la   processo chiamante viene terminata. Un messaggio di diagnostica viene scritto stderr   e l'interruzione (3) è chiamata, chiude efficacemente il programma.

     

Se espressione è vero, la assert () macro non fa nulla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top