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ÓïÑÔ±ØÖª±Ø»á£¨2£©
4.º¯ÊýºÍÖ¸Õë
4.1. Ö¸Ïòº¯ÊýµÄÖ¸Õë
Ö¸Ïòº¯ÊýµÄÖ¸Õ뼴ͨ³£ËµµÄº¯ÊýÖ¸Õ룬ÕýÊÇÓÉÓÚÕâЩ¼ò³Æ£¬ËùÒÔËüºÍ·µ»ØÖ¸ÕëµÄº¯Êý£¨Ö¸Õ뺯Êý£©ÈÝÒ×»ìÏý£¬¶øÇÒÒ²ÓÉÓÚд·¨ÉϱȽÏÏà½ü£¬¾ÍÏñÊý×éÖ¸Õë(int (*p)[4])ºÍÖ¸ÕëÊý×é(int *p[4])Ò»Ñù£¬Ç°Õß±íʾָÕë±äÁ¿pÖ¸ÏòÒ»¸öһάÊý×飬Õâ¸öÊý×éº¬Ó ......
CrimsonÀ´×ÔÓÚSun¾èÔù¸øApacheµÄProjectXÏîÄ¿£¬XercesÀ´×ÔIBM¾èÔù¸øApacheµÄXML4JÏîÄ¿£¬½á¹ûXercesʤ³ö£¬³ÉÁËApache XMLС×éÈ«Á¦¿ª·¢µÄXML API£¬¶øCrimonÒѾÔç¾Í²»×öÁË£¬Èç½ñXercesÃûÂúÌìÏ£¬µ½´¦¶¼ÊÇÔÚÓÃXerces DOMºÍSAX½âÎöÆ÷£¬Ö»ÓÐSun²»·þÆø£¬·ÇÒªÔÚJDK1.4ÀïÃæÊ¹ÓùýʱµÄCrimson£¬ÈÃÈ˸оõÏñÊÇÔÚ¶ÄÆøÒ»Ñù£¬ÕæÊÇÈà ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
&n ......
bcmp
ÔÐÍ£ºextern int bcmp(const void *s1, const void *s2, int n);
Ó÷¨£º#include <string.h>
¹¦ÄÜ£º±È½Ï×Ö·û´®s1ºÍs2µÄǰn¸ö×Ö½ÚÊÇ·ñÏàµÈ
˵Ã÷£ºÈç¹ûs1=s2»òn=0Ôò·µ»ØÁ㣬·ñÔò·µ»Ø·ÇÁãÖµ¡£bcmp²»¼ì²éNULL¡£
bcopy
ÔÐÍ£ºextern void bcopy(const void *src, void *dest, int n);
Ó÷ ......