Linux Cµ÷ÊÔÈëÃÅ
1.×Ô¶¨ÒåÊä³ö
Ïë±Ø´ó¼Ò¶¼ÓÐÀûÓÃÊä³öº¯ÊýÈçprintfÀ´°ïÖúÎÒÃǵ÷ÊÔ³ÌÐòµÄ¾Àú£¬ÕâÊÇÒ»ÖֱȽÏÔʼµÄ³ÌÐòµ÷ÊÔ¸¨Öú·½·¨£¬ÔÚLinuxÏÂÒ²¿ÉÒÔΪÎÒÃÇËùÓᣲ»¹ýÕâÖÖ·½·¨ÓÐÒ»¸öÃ÷ÏÔµÄȱµã£¬¾ÍÊÇÔÚµ÷ÊÔÍêºóÎÒÃDZØÐë×¢ÊÍ»òɾ³ýµôÕâЩ¸¨Öú´úÂë¡£Linux CÌṩÁË-DDEBUGÕâ¸ö±àÒë±ê¼ÇÀ´¶¨ÒåDEBUGÕâ¸ö·ûºÅ£¬½èÖúÓڸ÷ûºÅ£¬ÎÒÃÇ¿ÉÒÔÔÚÓ¦ÓóÌÐòÖÐÌí¼Ó¶îÍâ´úÂë²¢¸ù¾ÝÐèÒª¾ö¶¨Ö´ÐÐÓë·ñ¡£
È磺
#include<stdio.h>
//*******dtest.c*******
int main()
{
#ifdef DEBUG
printf("Debug output......\n");
#endif
printf("Main function ended!\n";
}
ÔËÐУº
$ cc -o dtest dtest.c
$ ./dtest
Main function ended!
$ rm dtest
$ cc -o dtest -DDEBUG dtest.c
$ ./dtest
Debug output......
Main function ended!
ͨ¹ýÒÔÉÏʾÀý£¬ÄãÓ¦¸ÃÃ÷°×ÁË-DDEBUG±ê¼ÇµÄÓ÷¨ÁË°É£¬ºÇºÇ~~~Ò²ÐíÄã»áÏ룬Èç¹ûÎÒÓкü¸¶Îµ÷ÊÔ´úÂ룬¶øÎÒÏ£Íû¸ù¾ÝÐèҪÿ´ÎÑ¡ÔñÏàÓ¦µÄÒ»¶ÎÀ´ÔËÐУ¬ÕâÊÇ·ñÄÜʵÏÖÄØ£¿²»ÅÂ×ö²»µ½£¬¾ÍÅÂÏë²»µ½¡£ÊÂʵÉÏÎÒÃÇ¿ÉÒÔ·½±ãµÄʵÏÖÕâÖÖ¹¹Ï룬ÈçÏ£º
#define BASIC_DEBUG 1
#define EXTRA_DEBUG 2
#define SUPER_DEBUG 4
//code 1
# if (DEBUG & BASIC_DEBUG £©
printf¡£¡£¡£
#endif
//code 2
# if (DEBUG & EXTRA_DEBUG £©
printf¡£¡£¡£
#endif
//code 3
# if (DEBUG & SUPER_DEBUG £©
printf¡£¡£¡£
#endif
ÉÏÊö´úÂëÖÐÎÒÃÇ×Ô¶¨ÒåÁ˼¸¸öºê±äÁ¿£¬Í¨¹ý"&“À´¾ö¶¨´úÂë¶ÎµÄÖ´ÐÐÓë·ñ¡£ÎÒÃÇÖªµÀ”&“Ϊ°´Î»È¡ÓàÔËËã·û£¬ËùÒÔµ±DEBUGµÄֵΪ1ʱ£¬Ö»ÓÐcode 1»áÖ´ÐУ¬µ±DEBUGµÄֵΪ2ʱ£¬Ö»ÓÐcode 2»áÖ´ÐУ¬¶øµ±DEBUGµÄֵΪ3ʱ£¬code 1ºÍcode 2¶¼»áÖ´ÐУ¬ÒÀ´ÎÀàÍÆ¡£¡£¡£¿ÉÊÇÎÒÃÇÈçºÎ¸ù¾ÝÐèÒªÉèÖÃDEBUGµÄÖµÄØ£¿Õ⻹µÃ¿´-DDEBUG±ê¼Ç£¬ÔÚÃüÁîÌáʾ·ûÏÂÖ±½Ó¸ø-DDEBUG¸³Öµ¾ÍOKÁË£¬Èçcc -o dtest
-DDEBUG=5 dtest.c
2 µ÷ÊÔ¹¤¾ß(gdb)
Ç°Ãæ½éÉܵĵ÷ÊÔ·½·¨Ö»ÊÇÒ»ÖÖ°ïÖúÎÒÃǵ÷ÊԵĸ
Ïà¹ØÎĵµ£º
×î½üÔÚ°ÚŪlinux,·¢ÏÖËüÕæµÄ²»ÊÊÓÃÀ´Í棬ÓÃÀ´°ì¹«»¹ÊÇ¿ÉÒÔ¡¢×ö¸ß¼¶Ó¦ÓÃÒ²¿ÉÒÔ£¡
ÏÖÔÚÄÇЩÉÏÍø±¾µÄϵͳºÜ¶àlinux°æ£¬µ«ÔÚÖйú¾ø´ó²¿·Ö¶¼»á±»¸Éµô»»³Éwindows£¬ÎªÊ²Ã´£¿µÀÀíºÜ¼òµ¥£¬¾ø´ó¶àÊýÕâÑùµÄÓû§¶ÔµçÄÔ¼¼Êõ¶¼²»Ì«Ê죬¶øÇÒ¶¼Ï ......
http://www.ibm.com/developerworks/cn/linux/l-rcu/
º¯ÊýÕªÒª£º
C´úÂë
/*¶ÁÕßÔÚ¶ÁÈ¡ÓÉRCU±£»¤µÄ¹²ÏíÊý¾ÝʱʹÓøú¯Êý±ê¼ÇËü½øÈë¶Á¶ËÁÙ½çÇø¡£*/
rcu_read_lock()
/*
¸Ãº¯ÊýÓërcu_read_lockÅä¶ÔʹÓã¬ÓÃÒÔ±ê¼Ç¶ÁÕßÍ˳ö¶Á¶ËÁÙ½çÇø¡£¼ÐÔÚÕâÁ½¸öº¯ÊýÖ®¼äµÄ´úÂëÇø³ÆΪ"¶Á¶ËÁÙ½çÇø" ......
[ת]Õâ¸öÌâÄ¿ºÜ´ó£¬¸øÈËÒ»ÖָоõÎÒºÃÏñºÜ³É¹¦£¬Æäʵ²»È»¡£Êµ¼ÊÉÏ×Ô¼ºË®Æ½²»¸ß£¬ÉõÖÁºÜµÍ£¬µ«ÊÇ×ö¹ýÁËһЩÇúÕÛµÄѧϰµÀ·£¬Í¬Ê±°Ñ×Ô¼ºÕæʵµÄѧϰÀú³Ì±í´ï³öÀ´£¬Ï£Íû¶ÔºóÀ´ÕßÓнè¼øµÄÒâÒ壬ÉõÐÒ£¡
¹¤×÷ÈýÄê¡¢¼¸³É·ÏÈË£¡
ÎÒ2000Äê±ÏÒµÓÚ»ªÖеØÇøµÄÒ»¸öÀí¹¤¿Æ´óѧ£¬×¨ÒµÊÇ»úеµç×Ó£¬ÎÒµ±Ê±ÒѾǩÁËÒ»¼ÒÄÚ½ij¸öÊ¡¼¶»ú¹Ø¹¤× ......
#define _________ }
#define ________ putchar
#define _______ main
#define _(a) ________(a);
#define ______ _______(){
#define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C)
#define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)
#define ____ _(0x72)_(0x6C)_(0x64)_(0 ......
´ÓÌìÌÃ×ßÏòµØÓüµÄÁù²¿... 1
µÚÒ»²½¡¢°Ñfor±ä³Éwhile. 2
µÚ¶þ²½£¬°ÑÑ»µ±ä³ÉµÝ¹é... 2
µÚÈý²½£¬ÅªÂÒ´úÂë½á¹¹/ʹÓÃûÓк¬ÒåµÄ±äÁ¿Ãû... 3
µÚËIJ½£¬È¡ÏûÁÙʱ±äÁ¿... 3
µÚÎå²½£¬¼ÌÐøŪÂÒ±äÁ¿Ãû... 4
µÚÁù²½£¬ÒƳý³£Á¿... 4
´ÓÌìÌÃ×ßÏòµØÓüµÄÁù²¿
¿ªÊ¼³ÌÐò
ÏÂÃæÊÇÒ»¸öÕÒ³öËØÊýµÄ³ÌÐò£º
²é¿´Ô´´úÂë´òÓ¡ ......