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

ÉîÈëC/C++Ö®»ùÓÚCheckStackVarsµÄ°²È«¼ì²é£¨VS2008£©

×î½üһֱæ±ÏÒµµÄÏà¹ØÊÂÇ飬¼ÓÉϹ¤×÷£¬×ªÑۼ䣬ÓÖµ½Ôµ×ÁË£¬Ö®Ç°³ÐŵµÄÿÔÂһƪ²©ÎÄ£¬Ç°¼¸Ìì¾ÍÒ»Ö±ÔÚѰÕÒµ½µ×Ҫдʲô£¬½üÁ½ÌìÓÖͻȻ·¢ÏÖÓкܶණÎ÷¿ÉÒÔд¡£±¾Æª¾ÍÏÈÑÓÐøÖ®Ç°µÄһƪ»ùÓÚCookieµÄ°²È«¼ì²é»úÖÆ£¨ÉîÈëC/C++Ö®»ùÓÚCookieµÄ°²È«¼ì²é£¨VS2005£©£©À´½éÉÜÏÂÁíÍâÒ»ÖÖÔÚDEBUG°æ±¾Ïµİ²È«¼ì²é£¬Ò²¾ÍÊÇCheckStackVars¼ì²é£¬»°²»¶à˵£¬Ö±½Ó½øÈëÕýÌâ¡£
ÔÚVS2008Ï£¬º¯ÊýµÄÕ»¿Õ¼äÀïÈç¹û´æÔÚÊý×飬¾Í»á×Ô¶¯¼ÓÉÏCheckStackVars¼ì²é£¬¹ËÃû˼Ò壬¾ÍÊÇÓÃÀ´¼ì²é¾Ö²¿Êý¾ÝÊÇ·ñ·ÃÎÊÔ½½ç¡£Ïà¶ÔÀ´Ëµ£¬ÕâÖÖ¼ì²éÖ»ÄÜÆðµ½Ò»¶¨µÄ×÷Ó㬲¢²»»áËùÓÐÔ½½ç·ÃÎʶ¼Äܼì²éµ½£¬¸ù¾ÝºóÃæµÄÔ­Àí½éÉÜ»áÁ˽⵽Õâµã¡£¼ÈÈ»ÊǼì²é¾Ö²¿µÄ£¬ÄÇôÔÚº¯ÊýÄÚ¶¨ÒåµÄstaticÀàÐÍÊý×é»òÕߺ¯ÊýÍⲿµÄÈ«¾ÖÊý×é²¢²»»á²ÉÓô˼ì²é£¬¼ÈÈ»ÊǼì²éÊý×飬ÄÇôÈç¹ûº¯ÊýÄÚûÓоֲ¿Êý×éʱ£¬´Ë¼ì²éÒ²²»»á´æÔÚ¡£
Ê×ÏÈÀ´¿´Ò»¸ö¼òµ¥µÄÀý×Ó£¬ÑéÖ¤Õâ¸ö¼ì²éµÄ´æÔÚ£º
void TestVars( void )
{
    int bf = 0xeeeeeeee;
    char array[10] = { 0 };
    int bk = 0xffffffff;
   
    strcpy( array, "masefee" );
}
int main( void )
{
    TestVars();
    return 0;
}
ÔÚÕâ¸öÀý×ÓÖУ¬´æÔÚÒ»¸öÊý×éarray£¬ÕâÀï¿ÌÒⶨÒåÁËÁíÍâÁ½¸ö±äÁ¿£¬ÓÃÓÚ¿´ÕâÁ½¸ö±äÁ¿ÓëÊý×éarrayµÄÄÚ´æ·Ö²¼Çé¿ö¡£ÕâÑù¾ÍÄÜÇåÎúµÄÁ˽⵽CheckStackVarsÕâ¸ö¼ì²éµÄÔ­Àí¡£È»ºóÀ´¿´¿´DebugÏ£¬TestVarsº¯ÊýÄÚ²¿µÄ3¸ö¾Ö²¿±äÁ¿µÄÄÚ´æ·Ö²¼Çé¿ö¡£¶Ïµã´òÔÚstrcpyÕâ¾äÉÏ£¬·Ö²¼ÈçÏ£º
ff ff ff ff cc cc cc cc cc cc cc cc 00 00 00 00 00 00 00 00 00 00cc cc cc cc cc cc cc cc cc cc ee ee ee ee  
   bk                                                           array                                &nbs


Ïà¹ØÎĵµ£º

²Ù×÷ϵͳѧϰ±Ê¼Ç(14) CºÍ»ã±àÏ໥µ÷ÓÃ

; ±àÒëÁ´½Ó·½·¨
; (ld µÄ‘-s’Ñ¡ÏîÒâΪ“strip all”)
; gcc -c not link
;
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd one
; [root@XXX XXX]#
exter ......

ÈçºÎÔÚLinuxʹÓÃEclipse + CDT¿ª·¢C/C++³ÌÐò?

A. ΪʲôҪÔÚLinuxʹÓÃEclipse¿ª·¢C/C++³ÌÐò?
LinuxÊÇÒ»¸öÒÔC/C++¿ª·¢ÎªÖ÷µÄƽ̨£¬ÎÞÂÛÊÇKernel»òÊÇApplication£¬Ö÷Òª¶¼Ê¹ÓÃC/C++¿ª·¢¡£´«Í³ÔÚLinuxÏ¿ª·¢³ÌÐò£¬ÊÇÔÚÎÄ×ÖģʽÏ£¬ÀûÓÃviµÈÎÄ×ֱ༭Æ÷׫дC/C++³ÌÐò´æÅ̺ó£¬ÔÚCommand lineÏÂʹÓÃgcc±àÒ룬ÈôÒªdebug£¬ÔòʹÓÃgdb¡£
ÕâÖÖ¿ª·¢·½Ê½Éú²úÁ¦²¢²»¸ß£¬ÈôÖ»ÊÇ¿ª·¢Ñ§ ......

Îĵµ´¦ÀíµÄcº¯Êý

Îļþº¯Êý´ò¿ªÎļþº¯Êý
[º¯ÊýÍ·]
FILE *fopen£¨char *filename, Char *mode£© 
[²ÎÊý]
filename ×Ö·ûÐÍÖ¸Õ룬ָÏòµÄ×Ö·û´®ÊÇÒª´ò¿ªµÄ´ÅÅÌÎļþÃû£»mode ×Ö·ûÐÍÖ¸Õ룬ָÏòµÄ×Ö·û´®ÊÇÎļþʹÓ÷½Ê½¡£ÕâÁ½¸ö²ÎÊý¶ÔÓ¦µÄʵ²Î¿ÉÒÔÊÇ×Ö·ûÖг£Á¿£¬Ò²¿ÉÒÔÊDz¹·ûÊý×éÊ×µØÖ·£¬»òÕßÊÇÖ¸Ïò×Ö·û´®µÄÖ¸Õë±äÁ¿¡£ 
ÎļþʹÓ÷½Ê½¿ ......

20100527 CÏÝÚåÓëȱÏݶÁÊé±Ê¼Ç£¨Ò»¡¢¶þÕ£©

  µÚÒ»Õ£º´Ê·¨“ÏÝÚå”
  ×Öĸ±¾ÉíûÓÐÒâ˼£¬µ«Êǽ«×Öĸ×é³ÉµÄµ¥´Ê¾Í±»¸³ÓèÁËÒâÒå¡£ÔÚCÓïÑÔÖУ¬×Ö·û×éºÏ³ÉÁËÕû¸ö´úÂ룬ÓÉ×Ö·ûÊéд´øÀ´µÄ±ÊÎó»á´øÀ´²»ÉÙÂé·³¡£×÷Ϊ³ÌÐòÔ±£¬²»ÄÜÖ¸Íû¿¿±àÒëÆ÷À´ÌáÐÑ¡£Òò´Ë£¬ÐèҪעÒ⣺
  1.CÓïÑÔÖУ¬·ûºÅÖ®¼äµÄ¿Õ°×£¨°üÀ¨¿Õ¸ñ·û£¬ÖƱí·û£¬»»Ðзû£© ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ