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

c signalµ÷ÓÃÎÊÌâ

¿ªÊ¼Ñ§OS,°´Á·Ï°ÒªÇóдµÄ´úÂëÔÚgccÏÂÎÞ·¨±àÒ룺

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>

void SIGFPEhandler2(int sig1) {
    printf("1");
    signal(SIGFPE, SIGFPEhandler1);
    exit(EXIT_SUCCESS);
}

void SIGFPEhandler1(int sig2) {
    signal(SIGFPE, SIGFPEhandler2);
    printf("2");
    exit(EXIT_SUCCESS);
}


int DBZ(int i) {
    return i/0;
}

int main(void) {
  (void) signal(SIGFPE, SIGFPEhandler1);
    DBZ(5);
    return EXIT_SUCCESS;
}


Ä¿µÄÈÃsignal handlerµ÷ÓÃÁíÒ»¸ö handler£¬¶¼ÊÇ´¦ÀíͬÑùµÄsignal¡£±àÒëÌáʾSIGFPEhandler1 undeclare.

ÊÇÎÒʵÏֵķ½·¨²»¶Ô»¹ÊÇhandler²»Äܵ÷Óô¦ÀíͬÑùsignalµÄhandler? Íû´ó¼ÒÖ¸Õý¡£

ÔÚlinuxÏÂÂð£¿

windowsÏÂ, ÓõÄCygwin.


ÔÚSIGFPEhandler2 ǰ ÉùÃ÷ SIGFPEhandler1

º¯ÊýȱÉÙǰÖÃÉùÃ÷
¼Ó
void SIGFPEhandler1(int sig2);
void SIGFPEhandler2(int sig1);
ÔÚÎļþÍ·ºó

ÒýÓÃ
ÔÚSIGFPEhandler2 ǰ ÉùÃ÷ SIGFPEhandler1

±àÒë²»ÄÜͨ¹ý£¬ SIGFPEhandler2 undeclared.

ÒýÓÃ
º¯ÊýȱÉÙ


Ïà¹ØÎÊ´ð£º

¹ØÓÚC¼¸¸öÖ¸ÕëµÄÎÊÌâ——Çë°ïæ½â»ó

1.Ϊʲô¶¨Ò庯Êýʱ£ºfun1 ¿ÉÒÔÕýÈ·µÄ·µ»Ø¶øfun2²»ÐУ¿
char * fun1()
{
  char *p = "haha";
  return p;
}
char * fun2()
{
  char p[] = "haha&quo ......

CÎļþ¶ÁдÎÊÌâ¡£

FILE *pFile;
errno_t m_err;
m_err = fopen_s(&pFile,"1.txt","r");
char ch[100];
memset(ch,0,100);
fread(ch,1,100,pFile);
MessageBox(ch);
fclose(pFil ......

ÇóÖúcµÄÎÊÌâ

1001.exe ÖÐµÄ 0x0041394f ´¦Î´´¦ÀíµÄÒì³£: 0xC0000005: дÈëλÖà 0x66792e62 ʱ·¢Éú·ÃÎʳåÍ»

ÕâÊÇÔõô»ØÊ£¿Ð»Ð»ÁË£¬ÎÒÊDzËÄñ
Ë­ÖªµÀÔõô»ØÊ¡­¡­ÕâÊǸöͨÓõĴíÎóÌáʾ¡­¡­ÉÏ´úÂë

ÐèÒªÖØÐ½øÐбàÒë

Ò ......

É¢·Ö£¬ÎªC£¯C++ÂÛ̳Ôö¼ÓµãÈËÆø£¡£¡

É¢·Ö£¬ÎªC£¯C++ÂÛ̳Ôö¼ÓµãÈËÆø£¡£¡
jf

jf£¬Â¥Ï±£³Ö¶ÓÐÎ

Ö»¼û¹ý²»¸ÒÉ¢·ÖµÄ£¬Ã»¼û¹ý²»¸Ò½Ó·ÖµÄ

½Ó



ǰÅÅÁôÃû

jf

ÕâÀïÈËÆø»¹²»´í°¡£¡

½Ó·Ö ¡­¡­ C/C++ºÃÈÈÄÖ¶î¡­¡­ÆäËû°æ¿é¾ÍÏà¶ÔûÕâôÈÈÁË ......

ÇëÎÊC/SµÄÎïÀí½á¹¹£¿

ÇëÎÊÏÂC/SµÄÎïÀí½á¹¹£¬ÊDz»ÊÇÕâÑùµÄ£º

һ̨·þÎñÆ÷£¬ÉÏÃæÖ»ÔËÐÐÒ»¸öÊý¾Ý¿â£¬È»ºóÊǶà¸ö¿Í»§¶Ë»ú£¬Ã¿¸ö»ú×ÓÉϰ²×°Ò»¸ö¿Í»§¶ËÈí¼þ£¬ÔÙ°ÑÊý¾Ý¿âÁ¬½ÓÓû§ÃûÃÜÂë¸øÃ¿¸ö¿Í»§¶Ë£¬Õâ¸öÃÜÂëÓÉÈí¼þ¼ÓÃÜ·ÅÔÚ¿Í»§¶Ë£¬Óû§µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ