keil C ³öÏÖWARNING:MULTIPLE CALL TO SEGMENTµÄ½âÎö
µ÷ÊÔkeil³ÌÐòʱÓÐʱ»á³öÏÖ¸÷ÖÖ±àÒ뾯¸æ£¬Ò»°ãÇé¿öϲ»»áÓ°Ïì³ÌÐòµÄÔËÐС£µ«³öÏÖÈçÌâWARNING:MULTIPLE CALL TO SEGMENT¾¯¸æÊ±£¬ÇëÁôÒâÄúµÄ³ÌÐòÊÇ·ñ»á·¢Éú´íÎó¡£ÉÏÊö¾¯¸æÖ¸µÄÊÇÄ㶨ÒåµÄº¯ÊýÌåÔÚÖ÷³ÌÐòÖб»µ÷Óã¬ÔÚÖжÏÖÐÒ²±»Ö±½Ó»ò¼ä½ÓµÄµ÷ÓÃÁË¡£¿ÉÏëÈôÖ÷³ÌÐòÕýÔËÐд˺¯Êýʱ£¬ÖжÏÀ´ÁÙÒ²ÔËÐÐÕâ¶Î³ÌÐòµÄ»°»á·¢Éúº¯ÊýÖØÔØÏÖÏó¡£Èô´ËÏÖÏó·¢ÉúÇÒÄãÔÚ³ÌÐòÖÐδ¼Ó´¦Àí£¬ÄÇôºÜÓпÉÄܵ¼ÖÂÄúµÄ³ÌÐò·¢Éú²»¿ÉÔ¤²âµÄ½á¹û¡£½áºÏÍøÉϲéѯµÄ½á¹ûºÍ×Ô¼ºµÄÉè¼ÆÌṩ¼¸¸ö¿ÉÐеĽâ¾ö·½·¨ÊÇ£º
1. ÀûÓùؼü×Öreentrant±íÃ÷º¯Êý¿ÉÖØÔØ
ÆÀ×¢£º¸Ã·¨ÅųýÁ˱àÒëÆ÷¾¯¸æºÍ¿ÉÄܳöÏÖµÄÖØÔØ´øÀ´µÄÓ°Ï죬µ«´Ë·½·¨ÔÚÖØÔØ·¢Éúʱ£¬ÎªÁ˱£»¤Ö÷³ÌÐòµÄ³ÌÐòÐÅÏ¢£¬ÏµÍ³»á½«³ÌÐòµÄÐÅÏ¢±£´æµ½¶ÑÕ»ÖУ¬Ôì³É¶ÑÕ»µÄ¶øÍ⸺µ£
2. Èç¹û¿Õ¼ä¶àµÄ»°£¬¿ÉÒÔ¶¨ÒåÁ½¸öͬ¹¦Äܵĺ¯Êý£¬·Ö±ðÔÚÖжϺÍÖжÏÍâµ÷ÓÃ
ÆÀ×¢£º¸Ã·½·¨²Ù×÷ÆðÀ´·½±ã£¬²»»á³öÏÖÉÏÒ»¸ö°ì·¨µÄ±×¶Ë£¬µ«±È½ÏÀË·Ñcode
3. ÀûÓú¯ÊýÖ¸Õë
ÆÀ×¢£º¸Ã·½·¨ÊʺÏÓÃÔÚÈ·¶¨ÖжϺÍÖ÷³ÌÐò²»»áͬʱµ÷Óøú¯ÊýµÄʱºò¡£Ëü²»½öÅųýÁ˱àÒëÆ÷¾¯¸æ£¬ÔÚcodeÕ¼ÓᢲÙ×÷·½Ãæ¶¼±È½ÏºÃ
Ïà¹ØÎĵµ£º
º¯ÊýÃûÓ뺯ÊýÖ¸Õë
º¯Êý´æ·ÅÔÚÄÚ´æµÄ´úÂëÇøÓòÄÚ£¬ËüÃÇͬÑùÓеØÖ·£¬ÎÒÃÇÈçºÎÄÜ»ñµÃº¯ÊýµÄµØÖ·ÄØ£¿
Èç¹ûÎÒÃÇÓÐÒ»¸öint test(int a)µÄº¯Êý£¬ÄÇô£¬ËüµÄµØÖ·¾ÍÊǺ¯ÊýµÄÃû×Ö£¬ÕâÒ»µãÈçͬÊý×éÒ»Ñù£¬Êý×éµÄÃû×Ö¾ÍÊÇÊý×éµÄÆðʼµØÖ·¡£
Ò» ͨ³£µÄº¯Êýµ÷ÓÃ
Ò»¸öͨ³£µÄº¯Êýµ÷ÓõÄÀý×Ó ......
(1)
Êý×éÃûµÄÄÚºÔÚÓÚÆäÖ¸´úʵÌåÊÇÒ»ÖÖÊý¾Ý½á¹¹£¬ÕâÖÖÊý¾Ý½á¹¹¾ÍÊÇÊý×飻
(2)
Êý×éÃûµÄÍâÑÓÔÚÓÚÆä¿ÉÒÔת»»ÎªÖ¸ÏòÆäÖ¸´úʵÌåµÄÖ¸Õ룬¶øÇÒÊÇÒ»¸öÖ¸Õë³£Á¿£»
(3)
Ö¸ÏòÊý×éµÄÖ¸ÕëÔòÊÇÁíÍâÒ»ÖÖ±äÁ¿ÀàÐÍ£¨ÔÚWIN32ƽ̨Ï£¬³¤¶ÈΪ4£©£¬½ö½öÒâζ×ÅÊý×éµÄ´æ·ÅµØÖ·
£¨4£©
Êý×éÃû×÷Ϊº¯ÊýÐβÎʱ£¬ÔÚº¯ÊýÌåÄÚ£¬ÆäʧȥÁ˱¾ÉíµÄÄÚº ......
Q:ʲôÊÇC·ç¸ñת»»£¿Ê²Ã´ÊÇstatic_cast, dynamic_cast ÒÔ¼° reinterpret_cast£¿Çø±ðÊÇʲô£¿ÎªÊ²Ã´Òª×¢Ò⣿
A:ת»»µÄº¬ÒåÊÇͨ¹ý¸Ä±äÒ»¸ö±äÁ¿µÄÀàÐÍΪ±ðµÄÀàÐÍ´Ó¶ø¸Ä±ä¸Ã±äÁ¿µÄ±íʾ·½Ê½¡£ÎªÁËÀàÐÍת»»Ò»¸ö¼òµ¥¶ÔÏóΪÁíÒ»¸ö¶ÔÏóÄã»áʹÓô«Í³µÄÀàÐÍת»»²Ù×÷·û¡£±ÈÈ磬ΪÁËת»»Ò»¸öÀàÐÍΪdouboleµÄ¸¡µãÊýµÄÖ¸Õëµ½ÕûÐÍ£º
......
²Ù×÷ϵͳµÄÒ»¸ö¾µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define N 2 // Ïû·ÑÕß» ......