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

ÓÃGCCÊä³ö´øCÔ´´úÂë×¢Ê͵Ļã±àÁбíÎļþ

ÎÒÃǶ¼ÖªµÀgccµÄ-S¿ª¹Ø¿ÉÒÔÓÃÀ´Éú³É»ã±à´úÂ룬
µ«ÓÐʱºò£¬µ¥Óлã±àÎļþÊDz»¹»µÄ£¬ÎÒÃÇÏ£ÍûµÄÊǽ«CÓïÑÔ³ÌÐòµÄÔ´´úÂëºÍ»ã±àÓïÑÔÎı¾½»´íÔÚÒ»Æð²é¿´£¬
ÕâÊÇLISTING¹¦ÄÜ£¬ÔÚgccÖв¢Ã»ÓÐרÃŵÄFAQ˵Ã÷£¬
ÇøÇøÔÚÍøÉϲéÁ˺ܶà×ÊÁϲÅÖªµÀÔõôʵÏÖ£¬ËùÒÔÌØ´Ë¼ÇÏ¡£
gcc -c -g -Wa,-adlhn ee.c >  ee.anno.s
ÓÉ´ËÉú³ÉµÄee.anno.s¼´ÊÇee.c¶ÔÓ¦µÄCÓë»ã±à»ìÅŵÄÁбí

ÓÖÈçC³ÌÐò
/* EE */
#include<stdio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
int main(int argc, char **argv)
{
  char * p = "TO STDOUT";
  int ic   = (int)GetStdHandle(STD_OUTPUT_HANDLE);
  printf("%d\n", ic);
  WriteFile(ic, p, strlen(p), &ic, NULL);
  return 0;
}
¿ÉÒÔÉú³É
   1              
.file
"ee.c"
   4              
.text
   5              
Ltext0:
 4222              
.section .rdata,"dr"
 4223              
LC0:
 4224 0000 544F2053
.ascii "TO STDOUT\0"
 4224      54444F55 
 4224      5400
 4225              
LC1:
 4226 000a 25640A00
.ascii "%d\12\0"
 4227 000e 0000    
.text
 4231              
.globl _main
 4233              
_main:
   1:ee.c          **** /* EE */
   2:ee.c          **** #include<stdio.h>
   3:ee.c          **** #include<stdio.h>
   4:ee.c          **** #include<string.h>
   5:ee.c   &nbs


Ïà¹ØÎĵµ£º

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

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

ÈçºÎÔÚC++Öе÷ÓÃCµÄ´úÂë

ÒÔÇ°Ôø¾­×ܽá¹ýһƪ(http://www.cppblog.com/franksunny/archive/2007/11/29/37510.html
)£¬¹ØÓÚÔÚ
C
ÖÐÈçºÎµ÷ÓÃ
C++
µÄ´úÂ룬µ±Ê±²¢Î´×öÍêÈ«µÄÕ¹¿ª£¬Ö»ÊǼòµ¥µÄ×öÁËϵ÷ÊÔ£¬×î½ü¿´µ½Ò»¸öÌâĿҪÇóʵÏÖ
C
ºÍ
C++
ÖдúÂëµÄ»¥Ïàµ÷Óã¬Æä½á¹ûËäÈ»¶¼ÊÇͨ¹ý
extern “C”
À´ÊµÏÖ
£¬µ«ÊǾßÌ廹ÊÇÓÐЩ²î±ðµÄ¡ ......

¶Á¡¶Î¢ÈíC±à³Ì¾«´â¡·µÄһЩÊÕ»ñ

-  ÒªÊ¹ÓöÏÑÔ¶Ôº¯Êý²ÎÊý½øÐÐÈ·ÈÏ
-  ÎªÁ˲»±ØÒªµÄ¿ªÏú£¬¿ÉÒÔ½öʹÓöÏÑÔ£¬¶ø²»Òªreturn
    ÍøÉÏÓÐÈËдµÄstrcpy´úÂ룬×öÁËÌ«¶àµÄ³ö´í´¦Àí£¬µ¼ÖÂÐÔÄܵÍÏ£¬Æäʵû±ØÒª£¬ÓÃassert¾ÍÐÐÁË£¬ÕâÑùÔÚdebugģʽÏÂÄܲ¶×½´íÎó£¬releaseÏÂÓÖ²»Ó°ÏìÐÔÄÜ¡£
- ÊéÉÏÌṩµÄmemcpyµÄ·¶Àý
void memcpy(void* pvT ......

extern "C"

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

ASA¾ÖÓòÍøC/S¼Ü¹¹ÅäÖÃ×îÖÕÍêÃÀ³¬Ç¿°æ............


ASA¾ÖÓòÍøC/S¼Ü¹¹ÅäÖÃ×îÖÕÍêÃÀ³¬Ç¿°æ............
¾ßÌåʵÏÖÓÐÁ½ÖÖ£¬ÈçÏ£º
Ò»¡¢·þÎñÆ÷¶Ë°²×°ASA£¬ÒòΪҪʹÓÃASAÖÐ×Ô´øµÄSybase Central¹¤¾ß¡£
·þÎñÆ÷¶Ë¿ªÆô£ºscjview.exe£¨¼´£ºSybase Central£¬×¢Òâ²»ÊÇSybase Central-Sybase Central¡£½çÃæÈçͼ£º£©
1¡¢ÉèÖÃÈçÏ£ºfile£­new£­server
·þÎñÆ÷Ãû×ÖËæ±ãÆð£¨±ãÓÚÕâ¸ö¹¤¾ß ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ