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

¾Ý˵ÊÇÃÀ¹ú×î¡°¹Ö¡±C³ÌÐò´óÈüµÄ»ñ½±³ÌÐò

int main()
{
printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60);
}
gcc -S±àÒë³É»ã±à´úÂëÈçÏÂ:
        .file   "test.c"
        .section        .rodata
.LC0:
        .string "fun"
.LC1:
        .string "\021%six\n"
        .string ""
        .text
.globl main
        .type   main,@function
main:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        andl    $-16, %esp
        movl    $0, %eax
        subl    %eax, %esp
        subl    $8, %esp
        movl    $.LC0, %eax
        subl    $96, %eax
        addl    $97, %eax
        pushl   %eax
        pushl   $.LC1+1
        call    printf
        addl    $16, %esp
        leave
        ret
.Lfe1:
        .size   main,.Lfe1-main
        .section        .note.GNU-stack,"",@progbits
  &n


Ïà¹ØÎĵµ£º

extern "C"µ×²ãÔ­Àí

ͨ³££¬ÔÚCÓïÑÔµÄÍ·ÎļþÖо­³£¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæÕâÖÖÐÎʽµÄ´úÂ룺
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
ÄÇô£¬ÕâÖÖд·¨Ê²Ã´ÓÃÄØ£¿Êµ¼ÊÉÏ£¬ÕâÊÇΪÁËÈÃCPPÄܹ»ÓëC½Ó¿Ú¶ø²ÉÓõÄÒ»ÖÖÓï·¨ÐÎʽ¡£Ö®ËùÒÔ²ÉÓÃÕâÖÖ·½Ê½ ......

CÈô¸ÉʵÓÃС¼¼ÇÉ

Visual C++6.0(5.0)¿ª·¢¹¤¾ß¹¦Äܷdz£Ç¿´ó£¬µ«ÊǶÔÓÚ³õѧÕßÀ´Ëµ£¬È´Óкܶàϸ½ÚµÄÎÊÌâÐèҪעÒâ¡£×÷ÕßËѼ¯ÕûÀíÁËÒÔÏÂһЩʵÓÃС¼¼ÇÉ£¬Ï£Íû¶Ô³õѧÕßÓÐËù°ïÖú¡£
  1:ʹÓÃvc¿ª·¢ÏîĿʱ£¬³£»áÓöµ½ÕâÖÖÇé¿ö£º
    ¼´Ã÷Ã÷Ö»¸Ä¶¯ÁËÒ»¸öÎļþ£¬È´Òª°ÑÕû¸öÏîÄ¿È«²¿ÖØбàÒëÁ¬½ÓÒ»´Î¡£¸Õ¸ÕÁ¬½ÓºÃ£¬Ò»ÔËÐУ¬ÓÖÌáʾ ......

extern "C"

      ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ­´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔ­À´µÄC´úÂëºÍÒѾ­Ð´ºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾ­ÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£ ......

̸CÖÐscanfÏÝÚå

Ô­ÎĵØÖ·£ºhttp://westsoftware.blog.163.com/blog/static/2609410920091953456841/
      ×î½üÒ»Ö±ÔÚ¿´Andrew KoeningдµÄÊé¼®£¬¿ÉÒÔ˵ѧϰC/C++»òÕß´ÓÊÂÕâ·½ÃæµÄ¿ª·¢µÄÈËÔ±·Ç³£ÖµµÃÒ»¿´µÄÊé¼®£¬ÕâÀïÎÒÍƼö¿´¿´¡¶CÏÝÚåÓëȱÏÝ¡·Ó롶C/C++³Á˼¼¡·¡£
      ÕâÀïÏÈÀ´¿´¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ