Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¸ß¿É¿¿ÐÔC³ÌÐòµÄ¼¸µãÒªÇó

Ò»¡¢¿ÉÖØÈ뺯Êý
1£©Ê²Ã´ÊÇ¿ÉÖØÈëÐÔ£¿
¿ÉÖØÈ루reentrant£©º¯Êý¿ÉÒÔÓɶàÓÚÒ»¸öÈÎÎñ²¢·¢Ê¹Ó㬶ø²»±Øµ£ÐÄÊý¾Ý´íÎó¡£Ïà·´£¬ ²»¿ÉÖØÈ루non-reentrant£©º¯Êý²»ÄÜÓɳ¬¹ýÒ»¸öÈÎÎñËù¹²Ïí£¬³ý·ÇÄÜÈ·±£º¯ÊýµÄ»¥³â£¨»òÕßʹÓÃÐźÅÁ¿£¬»òÕßÔÚ´úÂëµÄ¹Ø¼ü²¿·Ö½ûÓÃÖжϣ©¡£¿ÉÖØÈ뺯Êý¿ÉÒÔÔÚÈÎÒâʱ¿Ì±»Öжϣ¬ÉÔºóÔÙ¼ÌÐøÔËÐУ¬²»»á¶ªÊ§Êý¾Ý¡£¿ÉÖØÈ뺯ÊýҪôʹÓñ¾µØ±äÁ¿£¬ÒªÃ´ÔÚʹÓÃÈ«¾Ö±äÁ¿Ê±±£»¤×Ô¼ºµÄÊý¾Ý¡£
2£©¿ÉÖØÈ뺯Êý£º
²»ÎªÁ¬ÐøµÄµ÷ÓóÖÓо²Ì¬Êý¾Ý¡£
²»·µ»ØÖ¸Ïò¾²Ì¬Êý¾ÝµÄÖ¸Õ룻ËùÓÐÊý¾Ý¶¼Óɺ¯ÊýµÄµ÷ÓÃÕßÌṩ¡£
ʹÓñ¾µØÊý¾Ý£¬»òÕßͨ¹ýÖÆ×÷È«¾ÖÊý¾ÝµÄ±¾µØ¿½±´À´±£»¤È«¾ÖÊý¾Ý¡£
Èç¹û±ØÐë·ÃÎÊÈ«¾Ö±äÁ¿£¬¼ÇסÀûÓû¥³âÐźÅÁ¿À´±£»¤È«¾Ö±äÁ¿¡£
¾ø²»µ÷ÓÃÈκβ»¿ÉÖØÈ뺯Êý¡£
3£©²»¿ÉÖØÈ뺯Êý£º
º¯ÊýÖÐʹÓÃÁ˾²Ì¬±äÁ¿£¬ÎÞÂÛÊÇÈ«¾Ö¾²Ì¬±äÁ¿»¹ÊǾֲ¿¾²Ì¬±äÁ¿¡£
º¯Êý·µ»Ø¾²Ì¬±äÁ¿¡£
º¯ÊýÖе÷ÓÃÁ˲»¿ÉÖØÈ뺯Êý¡£
º¯ÊýÌåÄÚʹÓÃÁ˾²Ì¬µÄÊý¾Ý½á¹¹£»
º¯ÊýÌåÄÚµ÷ÓÃÁËmalloc()»òÕßfree()º¯Êý£»
º¯ÊýÌåÄÚµ÷ÓÃÁËÆäËû±ê×¼I/Oº¯Êý¡£
º¯ÊýÊÇsingletonÖеijÉÔ±º¯Êý¶øÇÒʹÓÃÁ˲»Ê¹ÓÃÏ̶߳ÀÁ¢´æ´¢µÄ³ÉÔ±±äÁ¿ ¡£
×ܵÄÀ´Ëµ£¬Èç¹ûÒ»¸öº¯ÊýÔÚÖØÈëÌõ¼þÏÂʹÓÃÁËδÊܱ£»¤µÄ¹²ÏíµÄ×ÊÔ´£¬ÄÇôËüÊDz»¿ÉÖØÈëµÄ¡£
4£©Ê¾Àý
ÔÚ¶àÏß³ÌÌõ¼þÏ£¬º¯ÊýÓ¦µ±ÊÇḬ̈߳²È«µÄ£¬½øÒ»²½£¬¸üÇ¿µÄÌõ¼þÊÇ¿ÉÖØÈëµÄ¡£¿ÉÖØÈ뺯Êý±£Ö¤ÁËÔÚ¶àÏß³ÌÌõ¼þÏ£¬º¯ÊýµÄ״̬²»»á³öÏÖ´íÎó¡£ÒÔÏ·ֱðÊÇÒ»¸ö²»¿ÉÖØÈëºÍ¿ÉÖØÈ뺯ÊýµÄʾÀý£º
//c code
static int tmp;
void func1(int* x, int* y) {
    tmp=*x;
    *x=*y;
    *y=tmp;
}
void func2(int* x, int* y) {
    int tmp;
    tmp=*x;
    *x=*y;
    *y=tmp;
}
func1ÊDz»¿ÉÖØÈëµÄ£¬func2ÊÇ¿ÉÖØÈëµÄ¡£ÒòΪÔÚ¶àÏß³ÌÌõ¼þÏ£¬²Ù×÷ϵͳ»áÔÚfunc1»¹Ã»ÓÐÖ´ÐÐÍêµÄÇé¿öÏ£¬Çл»µ½ÁíÒ»¸öÏß³ÌÖУ¬ÄǸöÏ߳̿ÉÄÜÔٴε÷ÓÃfunc1£¬ÕâÑù״̬¾Í´íÁË¡£
¶þ¡¢º¯Êý±àд¹æ·¶
1 £º¶ÔËùµ÷Óú¯ÊýµÄ´íÎó·µ»ØÂëÒª×Ðϸ¡¢È«ÃæµØ´¦Àí
 
2 £ºÃ÷È·º¯Êý¹¦ÄÜ£¬¾«È·£¨¶ø²»ÊǽüËÆ£©µØÊµÏÖº¯ÊýÉè¼Æ
 
3 £º±àд¿ÉÖØÈ뺯Êýʱ£¬Ó¦×¢Òâ¾Ö²¿±äÁ¿µÄʹÓã¨Èç±àдC/C++ ÓïÑԵĿÉÖØÈ뺯Êýʱ£¬Ó¦Ê¹ÓÃauto ¼´È±Ê¡Ì¬¾Ö²¿±äÁ¿»ò¼Ä´æÆ÷±äÁ¿£©
˵Ã÷£º±àдC/C++ÓïÑԵĿÉÖØÈ뺯Êýʱ£¬²»Ó¦Ê¹ÓÃstatic¾Ö²¿±äÁ¿£¬·ñÔò±ØÐë¾­¹ýÌØÊâ´¦Àí£¬²ÅÄÜʹº¯Êý¾ßÓпÉÖØÈë


Ïà¹ØÎĵµ£º

C/C++Éî²ã̽Ë÷

Ò»¡¢
1¡¢¹ØÓÚ×Ö½Ú˳Ðò£º»°ËµÔÚÌØ¶¨µÄÓ²¼þƽ̨ÉÏ£¬¶à×Ö½ÚÊý¾ÝµÄ˳Ðò´æ·ÅÓÐÁ½ÖÖ·½Ê½£¨little-endian¡¢big-endian£©¡£Ç°ÕßµÄÊý¾ÝµÄµÍ×Ö½Ú
     ²¿·Ö´æ·ÅÔڵ͵ØÖ·Äڴ棬ºóÕßÇ¡ºÃÏà·´¡£PCÒ»°ãÊÇ»ùÓÚIA-32΢´¦ÀíÆ÷£¬ÊôÓÚlittle-endian¡£Ä³Ð©RISC¼Ü¹¹µÄCPU£¬ÀýÈçSPARC¡¢
    POWERPCµÈ£¬ÔòÊ ......

c/c++ ×óÖµ ÓÒÖµÌÖÂÛ

×óÖµÐÔ£¨lvalueness£©ÔÚC/C++ÖÐÊDZí´ïʽµÄÒ»¸öÖØÒªÊôÐÔ¡£Ö»ÓÐͨ¹ýÒ»¸ö×óÖµ±í´ïʽ²ÅÄÜÀ´ÒýÓü°¸ü¸ÄÒ»¸ö¶ÔÏó£¨object£©µÄÖµ¡££¨Ä³Ð©Çé¿öÏ£¬ÓÒÖµ±í´ïʽҲÄÜÒýÓã¨refer£©µ½Ä³Ò»¸ö¶ÔÏ󣬲¢ÇÒ¿ÉÄܼä½ÓÐ޸ĸöÔÏóµÄÖµ£¬ºóÊö£©¡£
    ºÎν¶ÔÏó£¿Èç¹ûûÓÐÃ÷ȷ˵Ã÷£¬ÕâÀï˵µÄ¶ÔÏ󣬺ÍÏÁÒåµÄÀà/¶ÔÏó£¨class/object£© ......

cÎļþ²Ù×÷

#include <stdio.h>
#include <stdlib.h> //use malloc, free
#include <string.h> //use memset
#include <ctype.h> //use isdigit
#define ERROR_ILLEGAL_CHAR 1 //define error illegal character as 1
#define ERROR_NUMBERS_DIF 2 //define error numbers is not the same in diffe ......

»ªÎªC/C++±ÊÊÔÌâ(¸½´ð°¸)

http://www.teecool.com/post/2007081104.html
ÄÚÈÝÕªÒª£º1.д³öÅжÏABCDËĸö±í´ïʽµÄÊÇ·ñÕýÈ·, ÈôÕýÈ·, д³ö¾­¹ý±í´ïʽÖÐ aµÄÖµ(3·Ö)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
¹Ø¼ü´Ê£ºCÓïÑÔÃæÊÔÌâ  C++ÃæÊÔÌâ  »ªÎªÃæÊÔÌâ  
±¾ÎĵØÖ·£ºhttp:// ......

C´úÂë¹æ·¶ÓëÔËÐÐʱ³¤·ÖÎöÄ£°å

/*****************************************************
Îļþ:main.c
¹¦ÄÜ:²âÊÔÔËÐÐʱ¼ä(C)!
×÷Õß:chinayaosir   QQ:44633197
¹¤¾ß:VC++6.0±àÒëOK!
ÈÕÆÚ:11/28/2009
´úÂëĿ¼:
//1.°üº¬Í·Îļþ
//2.mainÖ÷³ÌÐò
//²»Í¬µÄË㷨ʵÏÖµÄÐÔÄÜ,ÔËÐÐʱ¼äÏà²î·Ç³£´óµÄ!
ÐÞ¸ÄÁбí:
***************** ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ