C/C++ assert() º¯ÊýÓ÷¨
assert
º¯ÊýÃû: assert
¹¦ ÄÜ: ²âÊÔÒ»¸öÌõ¼þ²¢¿ÉÄÜʹ³ÌÐòÖÕÖ¹
ÓÃ ·¨: void assert(int test);
³ÌÐòÀý:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
int key;
int value;
};
/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
}
int main(void)
{
additem(NULL);
return 0;
}
assert(¶ÏÑÔ)¿ÉÒÔÓÐÁ½ÖÖÐÎʽ£º
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 Ó¦¸Ã×ÜÊDzúÉúÒ»¸ö²¼¶ûÖµ¡£
Expression2 ¿ÉÒÔÊǵóöÒ»¸öÖµµÄÈÎÒâ±í´ïʽ¡£Õâ¸öÖµÓÃÓÚÉú³ÉÏÔʾ¸ü¶àµ÷ÊÔÐÅÏ¢µÄ String ÏûÏ¢¡£
¶ÏÑÔÔÚĬÈÏÇé¿öÏÂÊǽûÓõġ£ÒªÔÚ±àÒëʱÆôÓöÏÑÔ£¬ÐèҪʹÓà source 1.4 ±ê¼Ç£º
javac -source 1.4 Test.java
ÒªÔÚÔËÐÐʱÆôÓöÏÑÔ£¬¿ÉʹÓà -enableassertions »òÕß -ea ±ê¼Ç¡£
ÒªÔÚÔËÐÐʱѡÔñ½ûÓöÏÑÔ£¬¿ÉʹÓà -da »òÕß -disableassertions ±ê¼Ç¡£
ҪϵͳÀàÖÐÆôÓöÏÑÔ£¬¿ÉʹÓà -esa »òÕß -dsa ±ê¼Ç¡£»¹¿ÉÒÔÔÚ°üµÄ»ù´¡ÉÏÆôÓûòÕß½ûÓöÏÑÔ¡£
¿ÉÒÔÔÚÔ¤¼ÆÕý³£Çé¿öϲ»»áµ½´ïµÄÈκÎλÖÃÉÏ·ÅÖöÏÑÔ¡£¶ÏÑÔ¿ÉÒÔÓÃÓÚÑéÖ¤´«µÝ¸øË½Óз½·¨µÄ²ÎÊý¡£²»¹ý£¬¶ÏÑÔ²»Ó¦¸ÃÓÃÓÚÑéÖ¤´«µÝ¸ø¹«Óз½·¨µÄ²ÎÊý£¬ÒòΪ²»¹ÜÊÇ·ñÆôÓÃÁ˶ÏÑÔ£¬¹«Óз½·¨¶¼±ØÐë¼ì²éÆä²ÎÊý¡£²»¹ý£¬¼È¿ÉÒÔÔÚ¹«Óз½·¨ÖУ¬Ò²¿ÉÒÔÔڷǹ«Óз½·¨ÖÐÀûÓöÏÑÔ²âÊÔºóÖÃÌõ¼þ¡£ÁíÍ⣬¶ÏÑÔ²»Ó¦¸ÃÒÔÈκη½Ê½¸Ä±ä³ÌÐòµÄ״̬¡£
assert() º¯ÊýÓ÷¨
assertºêµÄÔÐͶ¨ÒåÔÚ<assert.h>ÖУ¬Æä×÷ÓÃÊÇÈç¹ûËüµÄÌõ¼þ·µ»Ø´íÎó£¬ÔòÖÕÖ¹³ÌÐòÖ´ÐУ¬ÔÐͶ¨Ò壺
#include <assert.h>
void assert( int expression );
ass
Ïà¹ØÎĵµ£º
¶ÑºÍÕ»µÄÇø±ð
Ò»¡¢Ô¤±¸ÖªÊ¶—³ÌÐòµÄÄÚ´æ·ÖÅä
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£©— Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£ ......
CrimsonÀ´×ÔÓÚSun¾èÔù¸øApacheµÄProjectXÏîÄ¿£¬XercesÀ´×ÔIBM¾èÔù¸øApacheµÄXML4JÏîÄ¿£¬½á¹ûXercesʤ³ö£¬³ÉÁËApache XMLС×éÈ«Á¦¿ª·¢µÄXML API£¬¶øCrimonÒѾÔç¾Í²»×öÁË£¬Èç½ñXercesÃûÂúÌìÏ£¬µ½´¦¶¼ÊÇÔÚÓÃXerces DOMºÍSAX½âÎöÆ÷£¬Ö»ÓÐSun²»·þÆø£¬·ÇÒªÔÚJDK1.4ÀïÃæÊ¹ÓùýʱµÄCrimson£¬ÈÃÈ˸оõÏñÊÇÔÚ¶ÄÆøÒ»Ñù£¬ÕæÊÇÈà ......
ÏÖÔÚѧ±à³ÌÁË£¬×îÏÈѧµÄÊÇCÓïÑÔ£¬£¬Ï£Íû¾¹ýŬÁ¦£¬×Ô¼ºÒ²ÄÜÏñÆäËûµÄÈËÒ»Ñù£¬³ÉΪһ¸öÓÅÐãµÄC³ÌÐòÔ±£¬£¬¾ÍÔÚCSDN£¬¼Ç¼ÏÂÎÒµÄC³ÌÐòÔ±³É³¤¹ý³Ì¡£
Ìý±ðÈË˵£¬Ñ§ÓïÑÔ×îºÃµÄ;¾¶¾ÍÊǶàд´úÂ룬ϣÍûÎÒÔÚÕâÒ»·½ÃæÄÜ×öµÄ±È½ÏºÃ£¬»¹ÓоÍÊÇÅàÑøÁ¼ºÃµÄ±à³Ì·ç¸ñºÍÍŶӾ«Éñ¡£ÔÚCSDN£¬ÓкܶàµÄÁ¼Ê¦ÒæÓÑ£¬ÓÐËûÃÇ£¬ÏàÐÅÎÒÒ»¶ ......
¾³£ÐèÒªÔÚ³ÌÐòÖн«Ô¶³Ì´«À´µÄ×Ö½ÚÁ÷½øÐнṹ»¯£¬»òÕß½«½á¹¹»¯µÄÊý¾Ý±ä³É×Ö½ÚÁ÷´«¸øÔ¶³ÌÖ÷»ú¡£ÔÚC/C++³ÌÐòÖУ¬½á¹¹»¯Êý¾Ýͨ³£ÓýṹÌåÀ´×éÖ¯£¬½á¹¹ÌåÒ²Äܹ»·½±ãµÄת»»Îª×Ö½ÚÁ÷£¬Òò´Ë½á¹¹»¯µÄÊý¾Ý´«Êä±¾²»¸Ã³ÉΪÎÊÌ⣬µ«ÔÚVC»òGCCµÄĬÈÏÉèÖÃϱàÒë³öµÄ³ÌÐò£¬È´ÓÐÒ»¸öÖµµÃ×¢ÒâµÄÎÊÌâ——½á¹¹ÌåµÄ¶ÔÆë¡£ ......
ÃæÊÔʱ±»Îʵ½¹ý£¬²»ÉõÃ÷ÁË£¬ÍøÉϰٶÈһϣ¬ÕûºÏÁËÁ½¸öÈÊÐÖµÄÎÄÕ£¬ÈçÏ¡£:-)
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus //c++±àÒë»·¾³ÖвŻᶨÒå__cplusplus (plus¾ÍÊÇ"+"µÄÒâ˼)
extern "C" { //¸æËß±àÒëÆ÷ÏÂÃæµÄº¯ÊýÊÇcÓïÑÔº¯Êý£¨ÒòΪc++ºÍcÓïÑÔ¶Ôº¯ÊýµÄ±àÒëת»»²»Ò»Ñù£¬Ö÷ÒªÊÇc++ÖдæÔÚÖØÔØ£©
#en ......