²»¿ÉС¿´µÄextern "C"
ÏîÄ¿ÖÐÒªÓõ½Ò»¸öÄ£¿é¡£¿´ÁËϸÃÄ£¿éµÄÓ÷¨£¬¾ÍÒÀºù«»Æ°µÄ°áµ½×Ô¼ºµÄ´úÂëÀïÃæÀ´ÁË¡£²»¹ýÔÚ±àÒëµÄʱºòÅöµ½ÁËÂé·³£¬ ÔÚ³ÌÐòÁ´½ÓµÄʱºò³ö´í£º“undefined reference to***",Ó¦¸ÃÊÇÒòΪûÓаüº¬ÏàÓ¦µÄ¿âÎļþ°É¡£
ÓÚÊDZȽÏÁËmake fileÎļþµÄд·¨£¬ÊÔͼÔÚÎÒÕâ±ßµÄmakefile ÖмÓÉÏÏàÓ¦µÄ¿â¡£µ«ÊÇÕÛÌÚÁË°ëÌ죬δ½â¾ö¡£ÔÚÍøÉÏËÑÁË°ëÌ죬ûÓеãÍ·Ð÷£¬ºöȻһ¸öÌû×ÓÖеÄÒ»¾ä»°ÌáÐÑÁËÎÒ£¬“»òÕß¾ÍÊÇc£«£« ºÍc¶ÔͬÃûµÄº¯Êý±àÒë³öµÄº¯ÊýÃû×ÖÊDz»Ò»ÑùµÄ¡£ËùÒÔÄØÒªextern c”¡£¸Ï½ô¿´ÎÒÃǵĴúÂ룡¹ûÈ»£¬ÎÒÒýÓõÄÄ£¿éÊÇÓÃcдµÄ£¬µ«ÊÇËüµÄÏàÓ¦º¯ÊýûÓ÷ÅÔÚextern C{}ÄÚ£»¶øÎÒÕⲿ·ÖÓõÄÊÇC++¡£¡£¡£
ÓÚÊÇÔÚÏàÓ¦²¿Î»¼ÓÉÏ #ifdef __cplusplus
extern "C" {
#endif
ºÍ#ifdef __cplusplus
}
#endif¡£Á´½Óͨ¹ýÁË!
Ò»¸ö¾ÑéÊÇΪÁËc´úÂëÄÜÔÚC++Öз½±ãµÄʹÓã¬Ò»¶¨ÒªÔÚc³ÌÐòÏàӦͷÎļþÖмÓÉÏ extern "C"¡£
Ïà¹ØÎĵµ£º
CÓïÑÔÖ®ËùÒÔÒªÆðÃûΪ“C”£¬ÊÇÒòΪËüÊÇÖ÷Òª²Î¿¼ÄǸöʱºòµÄһÎÐBµÄÓïÑÔ£¬ËüµÄÉè¼ÆÕßÈÏΪCÓïÑÔÊÇBÓïÑԵĽø²½£¬ËùÒÔ¾ÍÆðÃûΪCÓïÑÔ£»µ«ÊÇBÓïÑÔ²¢²»ÊÇÒòΪ֮ǰ»¹ÓиöAÓïÑÔ£¬¶øÊÇBÓïÑÔµÄ×÷ÕßΪÁ˼ÍÄîËûµÄÆÞ×Ó£¬ËûµÄÆÞ×ӵĵÚÒ»¸ö×ÖĸÊÇB£»
µ±CÓïÑÔ·¢Õ¹µ½¶¥·åµÄʱ¿Ì£¬³öÏÖÁËÒ»¸ö°æ±¾½ÐC with ......
__DATE__
½øÐÐÔ¤´¦ÀíµÄÈÕÆÚ£¨“Mmm dd yyyy”ÐÎʽµÄ×Ö·û´®ÎÄ×Ö£©
__FILE__
´ú±íµ±Ç°Ô´´úÂëÎļþÃûµÄ×Ö·û´®ÎÄ×Ö
__LINE__
´ú±íµ±Ç°Ô´´úÂëÖеÄÐкŵÄÕûÊý³£Á¿
__TIME__
Ô´Îļþ±àÒëʱ¼ä£¬¸ñʽ΢“hh£ºmm£ºss”
__func__
µ±Ç°ËùÔÚº¯ÊýÃû
ÏÂÃæÒ»¸öÀý×ÓÊÇ´òÓ¡ÉÏÃæÕâЩԤ¶¨ÒåµÄºêµÄ¡£
¡¡¡¡#in ......
ÈÝÒ×´íÎóµÄʹÓÃÖ¸Õë:
void GetMemory(char *p, int num)
{
p = (char *)malloc(sizeof(char) * num);
}
void Test(void)
{
char *str = NULL;
GetMemory(str, 100); // str ÈÔȻΪ NULL
strcpy(str, "hello"); // ÔËÐдíÎó
}
벡³öÔÚº¯ÊýGetMemory ÖС£±àÒëÆ÷×ÜÊÇÒ ......
¸ñʽ: echo "\033[×Ö±³¾°ÑÕÉ«;×ÖÌåÑÕÉ«m×Ö·û´®\033[0m"
ÀýÈç:
echo "\033[41;36m something here \033[0m"
ÆäÖÐ41µÄλÖôú±íµ×É«, 36µÄλÖÃÊÇ´ú±í×ÖµÄÑÕÉ«
ÄÇЩascii code ÊǶÔÑÕÉ«µ÷ÓõÄʼĩ.
\033[ ; m …… \033[0m
×Ö±³¾°ÑÕÉ«·¶Î§:40----49
40:ºÚ
41:Éîºì
42:ÂÌ
43:»ÆÉ«
44:À¶É«
45:×ÏÉ«
4 ......