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
Ïà¹ØÎĵµ£º
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Âð£¿
±¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
ÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ÉùÃ÷µÄ“ÓÒ×ó·¨Ôò&rdquo ......
Ò»¸öC³ÌÐòµÄÄÚ´æ²¼¾Ö(memory layout)
2009-09-09 15:19
Ò»¸öC³ÌÐòÒ»Ö±ÒÔÀ´¶¼ÊÇÓÉÒÔÏÂ5¸ö¶Î(pieces)×é³É£º
´úÂë¶Î(text segment)£º´æ·ÅCPUÖ´ÐеĻúÆ÷Ö¸Áî(machine instructions)¡£Í¨³£Çé¿öÏ£¬´úÂë¶ÎÊǿɹ²ÏíµÄ£¬Ê¹Æä¿É¹²ÏíµÄÄ¿µÄÊǶÔÓÚÆµ·±±»Ö´ÐеijÌÐò£¬Ö»ÐèÒªÔÚÄÚ´æÖÐÓÐÒ»·Ý¿½±´¼´¿É£¬±ÈÈçÎı¾±à¼Æ÷(text editors)£¬C ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
&n ......
ÏÖÔÚѧ±à³ÌÁË£¬×îÏÈѧµÄÊÇCÓïÑÔ£¬£¬Ï£Íû¾¹ýŬÁ¦£¬×Ô¼ºÒ²ÄÜÏñÆäËûµÄÈËÒ»Ñù£¬³ÉΪһ¸öÓÅÐãµÄC³ÌÐòÔ±£¬£¬¾ÍÔÚCSDN£¬¼Ç¼ÏÂÎÒµÄC³ÌÐòÔ±³É³¤¹ý³Ì¡£
Ìý±ðÈË˵£¬Ñ§ÓïÑÔ×îºÃµÄ;¾¶¾ÍÊǶàд´úÂ룬ϣÍûÎÒÔÚÕâÒ»·½ÃæÄÜ×öµÄ±È½ÏºÃ£¬»¹ÓоÍÊÇÅàÑøÁ¼ºÃµÄ±à³Ì·ç¸ñºÍÍŶӾ«Éñ¡£ÔÚCSDN£¬ÓкܶàµÄÁ¼Ê¦ÒæÓÑ£¬ÓÐËûÃÇ£¬ÏàÐÅÎÒÒ»¶ ......
¾³£ÐèÒªÔÚ³ÌÐòÖн«Ô¶³Ì´«À´µÄ×Ö½ÚÁ÷½øÐнṹ»¯£¬»òÕß½«½á¹¹»¯µÄÊý¾Ý±ä³É×Ö½ÚÁ÷´«¸øÔ¶³ÌÖ÷»ú¡£ÔÚC/C++³ÌÐòÖУ¬½á¹¹»¯Êý¾Ýͨ³£ÓýṹÌåÀ´×éÖ¯£¬½á¹¹ÌåÒ²Äܹ»·½±ãµÄת»»Îª×Ö½ÚÁ÷£¬Òò´Ë½á¹¹»¯µÄÊý¾Ý´«Êä±¾²»¸Ã³ÉΪÎÊÌ⣬µ«ÔÚVC»òGCCµÄĬÈÏÉèÖÃϱàÒë³öµÄ³ÌÐò£¬È´ÓÐÒ»¸öÖµµÃ×¢ÒâµÄÎÊÌâ——½á¹¹ÌåµÄ¶ÔÆë¡£ ......