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 undeclared.
Ïà¹ØÎÊ´ð£º
1.Ϊʲô¶¨Ò庯Êýʱ£ºfun1 ¿ÉÒÔÕýÈ·µÄ·µ»Ø¶øfun2²»ÐУ¿
char * fun1()
{
char *p = "haha";
return p;
}
char * fun2()
{
char p[] = "haha&quo ......
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 ......
1001.exe ÖÐµÄ 0x0041394f ´¦Î´´¦ÀíµÄÒì³£: 0xC0000005: дÈëλÖà 0x66792e62 ʱ·¢Éú·ÃÎʳåÍ»
ÕâÊÇÔõô»ØÊ£¿Ð»Ð»ÁË£¬ÎÒÊDzËÄñ
ËÖªµÀÔõô»ØÊ¡¡ÕâÊǸöͨÓõĴíÎóÌáʾ¡¡ÉÏ´úÂë
ÐèÒªÖØÐ½øÐбàÒë
Ò ......
É¢·Ö£¬ÎªC£¯C++ÂÛ̳Ôö¼ÓµãÈËÆø£¡£¡
jf
jf£¬Â¥Ï±£³Ö¶ÓÐÎ
Ö»¼û¹ý²»¸ÒÉ¢·ÖµÄ£¬Ã»¼û¹ý²»¸Ò½Ó·ÖµÄ
½Ó
ǰÅÅÁôÃû
jf
ÕâÀïÈËÆø»¹²»´í°¡£¡
½Ó·Ö ¡¡ C/C++ºÃÈÈÄÖ¶î¡¡ÆäËû°æ¿é¾ÍÏà¶ÔûÕâôÈÈÁË
......
ÇëÎÊÏÂC/SµÄÎïÀí½á¹¹£¬ÊDz»ÊÇÕâÑùµÄ£º
һ̨·þÎñÆ÷£¬ÉÏÃæÖ»ÔËÐÐÒ»¸öÊý¾Ý¿â£¬È»ºóÊǶà¸ö¿Í»§¶Ë»ú£¬Ã¿¸ö»ú×ÓÉϰ²×°Ò»¸ö¿Í»§¶ËÈí¼þ£¬ÔÙ°ÑÊý¾Ý¿âÁ¬½ÓÓû§ÃûÃÜÂë¸øÃ¿¸ö¿Í»§¶Ë£¬Õâ¸öÃÜÂëÓÉÈí¼þ¼ÓÃÜ·ÅÔÚ¿Í»§¶Ë£¬Óû§µ ......