Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 µÄºÃÊé

RT
c³ÌÐòÉè¼ÆÓïÑÔ

C³ÌÐòÉè¼ÆÌ¶ºÆÇ¿µÄÄDZ¾

c³ÌÐòÉè¼ÆÓïÑÔ
cÏÝÚåÓëȱÏÝ
CºÍÖ¸Õë
C primer plus
cר¼Ò±à³Ì

CÓïÑÔÖ®ËÄÊéÎå¾­

ǧÍò²»Òª¿´Ì·ºÆÇ¿µÄ£¬»áº¦ËÀÄã¡£
Ö±½Ó¿´The C Programming Lang ......

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

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

C³ÌÐòÎÊÌâ

ÓÐÕâÑùÁ½¸öÎÊÌ⣬ϣÍû¸ßÊÖÖ¸µã£º
µÚÒ»£º
struct struct_A{
int a;
char b;
int c;
short d;
}
  struct struct_B{
  int a;
  char b;
  short c;
  ......

c ÓïÑÔ ¼ì²éÀ¨ºÅÆ¥Åä ²»ÄÜÔËÐÐ £¿£¿£¿£¿

¸÷λÇë°ïÎÒ¿´Ò»ÏÂÕâ¸ö¶«Î÷£¬ ÎÒÒªÔÚcÓïÑÔÖÐʵÏÖÀ¨ºÅÆ¥Å䣬Éè¼ÆË¼Â·£º°Ñ´ÓÁ´Õ»ÖÐɨÃèµÃµ½µÄ'}',¡®]',')'ÏÈ´æ´¢µ½¶¯Ì¬ÉêÇëµÄÄÚ´æ¿Õ¼äÖУ¬µ±É¨Ãèµ½¡®{','[','('ʱ ÔÚµ¯³öÏÈǰ´ ......

ÈçºÎÓÃCʵÏÖÎļþ´«µÝ¹¦ÄÜ

ÎÒÏÖÔÚÏ뽫ÕâËĸöÎļþ´Ó·þÎñÆ÷\\10.2.95.88\tempĿ¼ÏµÄËĸöÎı¾Îļþ£º1.txt ,2.txt ,3.txt , 4.txt´Ó·þÎñÆ÷ÏÂÔØµ½±¾µØ»úµÄC:\tempĿ¼Ï£¿

ÉÏÊöµÄ¹¦ÄÜÎÒÏëÓô¿CÓ¦¸ÃÈçºÎʵÏÖ£¿
ÓÃftpЭÒé¾Í¿ÉÒÔÁË

ÒýÓÃ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ