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

C¿ª·¢ÖжѺÍÕ»µÄ²î±ð

1£¬Õ»Çø£¨stack£©—   ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å£¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£ ÀýÈ磬ÉùÃ÷ÔÚº¯ÊýÖеÄÒ»¸ö¾Ö²¿±äÁ¿int b£»ÏµÍ³×Ô¶¯ÔÚÕ»ÖÐΪb¿ª±Ù¿Õ¼ä¡£Ö»ÒªÕ»µÄÊ£Óà¿Õ¼ä´óÓÚËùÉêÇë¿Õ¼ä£¬ÏµÍ³½«Îª³ÌÐòÌṩÄڴ棬·ñÔò½«±¨Òì³£ÌáʾջÒç³ö¡£±ÈÈ磺
char* AllocStrfromStack()
{
¡¡¡¡¡¡¡¡char pstr[100];
¡¡¡¡¡¡¡¡return pstr;        //ÓÃÊý×éÄ£ÄâÕ»
}
¶ÔÓڸú¯Êý£¬ÄÇ¿épstrµÄÄÚ´æÔÚº¯Êý·µ»ØÊ±¾Í±»ÏµÍ³ÊÍ·ÅÁË£¬Ö»ÔÚº¯ÊýÄÚ²¿µ÷ÓÃʱ²ÅÓУ¬Æäʵ·µ»ØµÄchar*ʲôҲûÓС£
      Ϊ´Ë×ö¹ýÒ»¸öʵÑ飺
#include "stdafx.h"
#include "string.h"
char * AddReturn()
{
     char s[]="abcdef"; 
     unsigned char n=sizeof(s)/sizeof(char);
     printf("%d\n",n); //7
     printf("%d\n",strlen(s)); //6
     for(unsigned char  i=0;i<n;i++)
           printf("%c",s[i]);
     printf("\n");
     return s; //·µ»ØµØÖ·ºó£¬¾Í²»ÔÚÊÇ×Ö·û´®µØÖ·ÁË£¬ÒòΪÊǾֲ¿±äÁ¿£¬ÔÚÕ»ÖÐ
}
int main(int argc, char* argv[])
{
     char *u;
     u=AddReturn(); //·µ»ØÁËÒ»¸öÖµ£¬µ«ÊÇÎÞЧµÄ¡£
     for(unsigned char i=0;i<7;i++);
         printf("%c",u[i]); //Êä³öµÄÊÇÂÒÄÚÈÝ 
     return 0;
}
ÔÚWindowsÏ£¬Õ»ÊÇÏòµÍµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊÇÒ»¿éÁ¬ÐøµÄÄÚ´æµÄÇøÓò¡£Õâ¾ä»°µÄÒâ˼ÊÇÕ»¶¥µÄµØÖ·ºÍÕ»µÄ×î´óÈÝÁ¿ÊÇϵͳԤÏȹ涨ºÃµÄ£¬Èç¹ûÉêÇëµÄ¿Õ¼ä³¬¹ýÕ»µÄÊ£Óà¿Õ¼äʱ£¬½«Ìáʾoverflow¡£
2£¬¶ÑÇø£¨heap£© —   Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í¡£¿ÉÄÜÓõ½µÄ¹Ø¼ü×ÖÈçÏ£ºnew¡¢malloc¡¢delete¡¢freeµÈµÈ¡£ÔÚcÖÐmallocº¯ÊýÈçp1 = (char *)malloc(10)£»µ«ÊÇ×¢Òâp1±¾ÉíÊÇÔÚÕ»Öеģ¬ÒòΪËûÃÇ»¹ÊÇ¿ÉÒÔÈÏΪÊǾֲ¿±äÁ¿¡£±ÈÈ磺
ch


Ïà¹ØÎĵµ£º

C + windows API

×öWindows³ÌÐò¿ª·¢£¬windows APIÒ»¶¨ÊÇҪѧϰµÄ¡£ËäÈ»ÏÖÔÚwindowsƽ̨ϵĿª·¢»·¾³Óкܶ࣬ҲºÜ·½±ã£¬µ«Í¨³£Ö»»áÌṩ
windows·þÎñµÄÒ»¸ö×Ó¼¯£¬ÓÐÐ©ÌØÐÔ»¹µÃµ÷ÓÃAPI¡£
·Ö²ãÊÇÈí¼þ¿ª·¢ÖÐÒ»¸öÓÀ¾ÃµÄ½â¾ö·½°¸£¬ºÜ¶àÄÑÒÔ½â¾öµÄÎÊÌâ¶¼¿ÉÒÔÓöà¼ÓÒ»²ãÀ´½â¾ö¡£²Ù×÷ϵͳ¾ÍÊÇÒ»¸öºÜºÃµÄÀý×Ó¡£²Ù×÷ϵͳÔÚ
Èí¼þ¿ª·¢ÈËÔ±Óë¼ÆËã»úÓ²¼þÖ ......

C/C++±ê×¼¿âʹÓÃ

ÊÕ¼¯ÁË¿´Ò»ÏÂC/C++±ê×¼¿âʹÓõÄÏà¹ØÍøÕ¾£º
GNU¹ÙÍø£º
http://www.gnu.org/
¸ÃÍøÕ¾°üº¬C/C++±ê×¼¿âµÄʹÓ÷¶Àý£¬ÖµµÃ²Î¿¼£º
http://www.cplusplus.com/
ÔÚǶÈëʽµÚÈý·½Èí¼þÒÆÖ²Ê±£¬»áʹÓÃSTLÄ£°å¿â×÷ÏàÓ¦ÒÆÖ²£¬ÈçAndroidƽ̨JNI·â×°¼°ÒÆÖ²µÈ¡£
¸ÃÍøÕ¾½éÉÜstlportµÄʹÓã¬stlportÒѿɳɹ¦ÒÆÖ²ÖÁAndroidµÈǶÈëʽƽ̨£¬²¢Ç ......

linux c socket ¿ª·¢Óë±àÒëʵÀý

ÕâÆªÈÕÖ¾»¹ÊÇÏÈ´ÓÒ»¸öÄܹ»ÔËÐÐÆðÀ´µÄÀý×Ó³ö·¢£¬Ò»µ©ÄÜ˳ÀûµÄ¿´µ½³ÌÐòµÄ³É¹¦ÔËÐУ¬ÄÇô½ÓÏÂÀ´µÄʼþÎÒÏëÓ¦¸ÃÊÇÎÊΪʲôÁË£¿ËƺõÕâÑù¸ü¼ÓÈÝÒ×Àí½âºÍÕÆÎÕ¡£
¶ÔÓÚsocket³ÌÐòµÄ¸ÅÄîÕâÀï¾Í²»¶àдÁË£¬µ«ÎÒÏàÐÅ£¬Èç¹ûÄÜ¿´ÍêÕâÕûƪÎÄÕ£¬ÎÒÏàÐŲ»»áÔÙÓÐÕâÑùµÄÒÉÎʵġ£
ÏÂÃæ½«±àдһ¸öc/s½á¹¹µÄ³ÌÐò£¬Ö÷Òª¹¦ÄÜÊÇclient½«Ïòserver·¢Ë ......

extern "C"

¸ÅÊö¡¡¡¡
extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵Ä
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü× ......

ÔÚvc.netÖеÄC/C++´úÂëÉú³ÉDLL²½Öè


1 Ñ¡Ôñnew->project->win32 console project£»
    ÔÚÕâÒ»²½µÄÑ¡¿òÉÏÓÐÒ»¸öÑ¡ÏîÊÇ create dictionary for solution, ÎÒ²»ÖªµÀÕâ¸ö¾ßÌåÊÇʲô×÷Óã¬Ñ¡ÁËÖ®ºó»áÏîÄ¿³öÏÖÁ½²ãÎļþ¼Ð£¬±ÈÈçÄã´´½¨Ò»¸öÃüÃûΪtestµÄÏîÄ¿£¬»áÉú³ÉtestÎļþ¼Ð£¬testÖаüº¬ÁíÒ»¸ötestÎļþ¼Ð£¬ÄãµÄÏîĿʵ¼ÊÉÏ·ÅÔÚÁËÄÚ²ãte ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ