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.
Ïà¹ØÎÊ´ð£º
C/C++ code:
#include <stdio.h>
typedef struct node{
int *key;
int length;
}node;
void insert(node &temp,int n)
{
int i,j;
for(i=0;i<=temp.length;i++)
{
......
fastshow()
{
FILE *fp;
char name[10];
char ch[512];
printf("ÇëÊäÈë´ýÏÔʾµÄÎļþÃû\n");
scanf("%s",name);
if((fp=fopen(name,"r"))==NULL)
{
printf ......
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 ......
Ëã·¨Á÷³Ì
±¾Îĸù¾Ý¡¶ÖйúÒøÁªÖ±ÁªPOSÖն˹淶¡·µÄ²ûÊö£¬ÓÃCÓïÑÔ±à³ÌʵÏÖ£¬¸ÃËã·¨ÔÚʵ¼ÊµÄÉÌÒµPOSÖÕ¶ËÖÐʹÓá£POSÖն˲ÉÓãţãµļÓÃÜ·½Ê½£¬¼òÊöÈçÏ£º
a) ½«Óû·¢Ë͸øPOSÖÐÐĵÄÏûÏ¢ÖУ¬´ÓÏûÏ¢ÀàÐÍ£¨MTI£©µ½63Ó ......
struct s1 {
char ch, *ptr;
union {
short a, b;
unsigned int c:2, d:1;
}
struct s1 *next;
};
Ö÷Òª¿´²»¶®·ûºÅ¡¡:
Çë´ïÈËÖ¸µãÒ»¶þ
http://blog.cechina.cn/true ......