C runtime lib Ḭ̈߳²È«
ÖÜÎ忪»á×öÍŶӳÉÔ±codereivew£¬ ÓÐͬÊÂÌá³öÁËÒ»¸ö¹ØÓÚgmtime¶àÏß³ÌÊÇ·ñ°²È«µÄÎÊÌ⣬ µ±Ê±¾õµÃ³ÌÐòLinkÁËVCµÄ¶àÏ߳̿⣬Ӧ¸Ã²»ÊÇÎÊÌâ¡£»¹ºÃ»ØÍ·ºËʵÁËһϣ¬·¢ÏÖÁ˾¹ÊÇÒ»¸öDZÔÚµÄbug¡£
³ÌÐò·ÖÔÚapplication£¨Íê³ÉÏîÄ¿ÌØ¶¨¹¦ÄÜ£©ºÍframework£¨¿ÉÖØÓõĺËÐŦÄÜ£©Á½²¿·Ö£¬Ïß³ÌµÄÆô¶¯ÓÉframeworkÍê³É¡£ appÖÐʹÓÃÁËgmtime/localtimeµÈC¿âº¯Êý¡£
gmtime/localtimeµÈCº¯ÊýÊÇ·ÇḬ̈߳²È«µÄ£¬Õâ¸önÄêǰ¾ÍÖªµÀ£¬ Ò²ÖªµÀÔÚWindowsƽ̨ÉÏVCÓÐMT°æ±¾µÄruntime library£¬Í¨¹ýÏ̵߳ľֲ¿´æ´¢£¨TLS£©ÊµÏÖÁË/mt Á´½ÓʱµÄḬ̈߳²È«¡£ È»¶øÏß³ÌµÄÆô¶¯±ØÐëͨ¹ýCÔËÐÐʱ¿âµÄ_beginthreadex, ¶ø²»ÊÇwin32 API CreateThead ¡£²»ÐҵĵÄÊǵ±ÄêframeworkµÄʵÏÖÕßÃ²ËÆ²»Çå³þ_beginthreadexÓëCreateThreadµÄÇø±ð£¨BTW£¬ Õâ¸öÊǵ±Äê½øÈëµÚÒ»¼Ò¹«Ë¾µÄÒ»µÀÃæÊÔÌ⣬ËùÒÔÓ¡ÏóÆÄΪÉî¿Ì£©£¬Ö±½Óµ÷CreateThreadÆô¶¯ÁËÏ̡߳£
½â¾ö·½°¸µ÷²éÖУ¬VC CRT¾¹ÊÇûÓÐgmtime_r/localtime_r¡£
²Î¿¼×ÊÁÏ£º
http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/c727ae29-5a7a-42b6-ad0b-f6b21c1180b2
http://www.tech-archive.net/Archive/VC/microsoft.public.vc.language/2006-02/msg00013.html
Ïà¹ØÎĵµ£º
Ò»¡¢C/SģʽÓëB/SģʽµÄ±È½Ï·ÖÎö
¡¡¡¡C/SģʽÖ÷ÒªÓɿͻ§Ó¦ÓóÌÐò(Client)¡¢·þÎñÆ÷¹ÜÀí³ÌÐò(Server)ºÍÖмä¼þ(middleware)Èý¸ö²¿¼þ×é³É¡£¿Í»§Ó¦ÓóÌÐòÊÇϵͳÖÐÓû§ÓëÊý¾Ý½øÐн»»¥µÄ²¿¼þ¡£·þÎñÆ÷³ÌÐò¸ºÔðÓÐЧµØ¹ÜÀíϵͳ×ÊÔ´£¬Èç¹ÜÀíÒ»¸öÐÅÏ¢Êý¾Ý¿â£¬ÆäÖ÷Òª¹¤×÷Êǵ±¶à¸ö¿Í»§²¢·¢µØÇëÇó·þÎñÆ÷ÉϵÄÏàͬ×ÊԴʱ£¬¶ÔÕâЩ×ÊÔ´½øÐÐ×î ......
1¡¢ÔÚCÎļþÖе÷ÓÃC++ÎļþÖж¨ÒåµÄÎļþ
Ö±½ÓµÄ·½·¨ÊÇÔÚC++ ÎļþµÄÍ·²¿Ìí¼ÓÈçÏ´úÂë¶Î£º
extern "C"
{
int API(int A);
}
2¡¢C++½Ó¿ÚµÄ·½·¨
ÔÚC++Öе÷ÓÃCµÄº¯Êý£¬ÔÚCÍ·ÎļþÖмÓÈëÈçÏ´úÂ룺
#ifdef __cplusplus // ¿ªÊ¼
exte ......
/*±¾ÎÄÑ¡×Ô²©´´linuxʵÑéÖ¸µ¼Êé
*Áô×Å×Ô¼ºÑ§Ï°Ö®ÓÃ
*ÔÚÕâÀï±£´æ×Å£¬·ÖÏíÒ»ÏÂ*/
VI ¼ò½é
vi ÊÇ Linux/Unix ÊÀ½çÀKΪÆÕ±éµÄ¿ÉÊÓ»¯µÄÈ«ÆÁÄ»Îı¾±à¼Æ÷(visual edit),¼¸ºõ¿É
ÒÔ˵ÈκÎһ̨ Linux/Unix »úÆ÷¶¼»áÌṩÕâ¸öÈí¼þ¡£
vi ÓÐÈýÖÖ״̬,¼´±à¼·½Ê½¡¢²åÈ뷽ʽºÍÃüÁî·½Ê ......
1. cÓïÑÔÖеÄÕûÊýÀàÐÍÓÐchar, short, int, longµÈ¼¸ÖÖ, ÏÂÃæÊÇCÓïÑÔ¶ÔÿÖÖÊý¾ÝÀàÐͳ¤¶ÈµÄ¹æ¶¨:
(a). shortºÍlongÀàÐ͵ij¤¶È²»Ïàͬ
(b). intÀàÐÍͨ³£Í¬¾ßÌå»úÆ÷µÄÎïÀí×Ö³¤Ïàͬ
(c). shortͨ³£ÊÇ16bits, intͨ³£ÊÇ16bits or 32bitsÿÖÖ±àÒëÆ÷¿ÉÒÔ¸ù¾ÝÓ²¼þµÄ²»Í¬×ÔÓÉÈ·¶¨, µ«ÊÇshortºÍint±ØÐë×îÉÙÊÇ16bits, ¶ølongÀàÐͱØÐë× ......