c¿âº¯ÊýÏê½â——assert
c¿âº¯ÊýÏê½â——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ºêµÄÔÐͶ¨ÒåÔÚ<assert.h>ÖУ¬Æä×÷ÓÃÊÇÈç¹ûËüµÄÌõ¼þ·µ»Ø´íÎó£¬ÔòÖÕÖ¹³ÌÐòÖ´ÐУ¬ÔÐͶ¨Ò壺
#include <assert.h>
void assert( int expression );
assertµÄ×÷ÓÃÊÇÏÖ¼ÆËã±í´ïʽ expression £¬Èç¹ûÆäֵΪ¼Ù£¨¼´Îª0£©£¬ÄÇôËüÏÈÏòstderr´òÓ¡Ò»Ìõ³ö´íÐÅÏ¢£¬
È»ºóͨ¹ýµ÷Óà abort À´ÖÕÖ¹³ÌÐòÔËÐС£
Çë¿´ÏÂÃæµÄ³ÌÐòÇåµ¥badptr.c£º
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
int main( void )
{
FILE *fp;
fp = fopen( "test.txt", "w" );//ÒÔ¿ÉдµÄ·½Ê½´ò¿ªÒ»¸öÎļþ£¬Èç¹û²»´æÔھʹ´½¨Ò»¸öͬÃûÎļþ
assert( fp ); //ËùÒÔÕâÀï²»»á³ö´í
fclose( fp );
fp = fopen( "noexitfile.txt", "r" );//ÒÔÖ»¶ÁµÄ·½Ê½´ò¿ªÒ»¸öÎļþ£¬Èç¹û²»´æÔھʹò¿ªÎļþʧ°Ü
assert( fp ); //ËùÒÔÕâÀï³ö´í
fclose( fp ); &
Ïà¹ØÎĵµ£º
ÓÉÓÚÒª²âϵͳµÄCPUÊôÐÔ£¬ÐèÒª¶ÀÁ¢±àÒëÓ¦ÓóÌÐò£¬±ãÊÔÁËϱàÒë´¿C ³ÌÐò£¬²âÊÔͨ¹ý¡£
CC := $(NDK_BASE)/toolchain/arm-eabi/bin/arm-eabi-gcc
AR := $(NDK_BASE)/toolchain/arm-eabi/bin/arm-eabi-ar
INC & ......
¾¹ý¼¸´ÎÃæÊÔ£¬·¢ÏÖ±ÊÊÔÌâ»ù±¾É϶¼ÊÇÄǼ¸µÀ£¬Ã»ÓÐʲô´´Ð»òÕ߸ı䣬×ܽá³öÀ´¸ø´ó¼Ò²Î¿¼²Î¿¼.
Ò»¡¢ÇëÌîдBOOL , float, Ö¸Õë±äÁ¿Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä¡££¨10·Ö£©
Çëд³ö BOOL flag Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä¡££¨3·Ö£©
±ê×¼´ð°¸£º
if ( flag )
& ......
¾¡¹Ü Lua µÄ¹Ø¼ü´ÊµÄÉè¼Æ£¬ÔËÐзûµÄÉè¼Æ£¬Óï·¨µÄÉè¼ÆµÈ·½ÃæÓë C ºÜÏàËÆ£¬µ«ÎÒÃÇ»¹Òª×¢ÒâÆäÃ÷ÏÔ²»Í¬µÄµØ·½¡£
Ìõ¼þÅжÏʱµÄÕæ¼ÙÌõ¼þ
Lua ÖÐËùÓеÄÖµ¶¼¿ÉÒÔ×÷ΪÌõ¼þ¡£ÔÚ¿ØÖƽṹµÄÌõ¼þÖгýÁË false ºÍ nil Ϊ¼Ù£¬ÆäËûÖµ¶¼ÎªÕæ¡£ËùÒÔ Lua ÈÏΪ 0 ºÍ ¿Õ´® ¶¼ÊÇÕæ¡£
¶ø C ÖУ¬ÈÏΪֻҪÊÇÔÚÄÚ´æÖбíÏÖΪ 0 ÖµµÄ·ûºÅ¶¼Îª¼Ù¡£
×Ö ......
ÈçºÎÖÕÖ¹Ï̵߳ÄÔËÐУ¨C/C++£©
ÏëÒªÖÕÖ¹Ï̵߳ÄÔËÐУ¬¿ÉÒÔʹÓÃÒÔÏ·½·¨£º
1¡¢Ï̺߳¯Êý·µ»Ø£¨×îºÃʹÓø÷½·¨£©¡£
2¡¢Í¨¹ýµ÷ÓÃExitThreadº¯Êý£¬Ï߳̽«×ÔÐг·Ïû£¨×îºÃ²»Ê¹Óø÷½·¨£©¡£
3¡¢Í¬Ò»¸ö½ø³Ì»òÁíÒ»¸ö½ø³ÌÖеÄÏ̵߳÷ÓÃTerminateThreadº¯Êý£¨Ó¦±ÜÃâʹÓø÷½·¨£©¡£
4¡¢ExitProcessºÍTerminateProcessº¯ÊýÒ²¿ÉÒÔÓÃÀ ......
µ±LinuxÄÚºËÔÚÌåϵ½á¹¹²îÒì½Ï´óµÄƽ̨֮¼äÒÆÖ²Ê±£¬»á²úÉúÓëÊý¾ÝÀàÐÍÏà¹ØµÄÎÊÌâ¡£
.ÔÚ±àÒëÄÚºËʱʹÓà -Wall -W strict-prototypes Ñ¡Ïî, ¿ÉÒÔ±ÜÃâºÜ¶à´íÎóµÄ·¢Éú
.ÄÚºËʹÓõĻù±¾Êý¾ÝÀàÐÍÖ÷ÒªÓÐ:
int ±ê×¼CÓïÑÔÕûÊýÀàÐÍ
&n ......