dz̸C/C++ÄÚ´æÐ¹Â©¼°Æä¼ì²â¹¤¾ß
¶ÔÓÚÒ»¸öc/c++³ÌÐòÔ±À´Ëµ£¬ÄÚ´æÐ¹Â©ÊÇÒ»¸ö³£¼ûµÄÒ²ÊÇÁîÈËÍ·ÌÛµÄÎÊÌâ¡£ÒѾÓÐÐí¶à¼¼Êõ±»Ñо¿³öÀ´ÒÔÓ¦¶ÔÕâ¸öÎÊÌ⣬±ÈÈçSmart Pointer£¬Garbage CollectionµÈ¡£Smart Pointer¼¼Êõ±È½Ï³ÉÊ죬STLÖÐÒѾ°üº¬Ö§³ÖSmart PointerµÄclass£¬µ«ÊÇËüµÄʹÓÃËÆºõ²¢²»¹ã·º£¬¶øÇÒËüÒ²²»Äܽâ¾öËùÓеÄÎÊÌ⣻Garbage Collection¼¼ÊõÔÚJavaÖÐÒѾ±È½Ï³ÉÊ죬µ«ÊÇÔÚc/c++ÁìÓòµÄ·¢Õ¹²¢²»Ë³³©£¬ËäÈ»ºÜÔç¾ÍÓÐÈË˼¿¼ÔÚC++ÖÐÒ²¼ÓÈëGCµÄÖ§³Ö¡£ÏÖʵÊÀ½ç¾ÍÊÇÕâÑùµÄ£¬×÷Ϊһ¸öc/c++³ÌÐòÔ±£¬ÄÚ´æÐ¹Â©ÊÇÄãÐÄÖÐÓÀÔ¶µÄÍ´¡£²»¹ýºÃÔÚÏÖÔÚÓÐÐí¶à¹¤¾ßÄܹ»°ïÖúÎÒÃÇÑéÖ¤ÄÚ´æÐ¹Â©µÄ´æÔÚ£¬ÕÒ³ö·¢ÉúÎÊÌâµÄ´úÂë¡£
¡¡¡¡ÄÚ´æÐ¹Â©µÄ¶¨Òå
¡¡¡¡Ò»°ãÎÒÃdz£ËµµÄÄÚ´æÐ¹Â©ÊÇÖ¸¶ÑÄÚ´æµÄй©¡£¶ÑÄÚ´æÊÇÖ¸³ÌÐò´Ó¶ÑÖзÖÅäµÄ£¬´óСÈÎÒâµÄ£¨ÄÚ´æ¿éµÄ´óС¿ÉÒÔÔÚ³ÌÐòÔËÐÐÆÚ¾ö¶¨£©£¬Ê¹ÓÃÍêºó±ØÐëÏÔʾÊͷŵÄÄÚ´æ¡£Ó¦ÓóÌÐòÒ»°ãʹÓÃmalloc£¬realloc£¬newµÈº¯Êý´Ó¶ÑÖзÖÅäµ½Ò»¿éÄڴ棬ʹÓÃÍêºó£¬³ÌÐò±ØÐ븺ÔðÏàÓ¦µÄµ÷ÓÃfree»òdeleteÊͷŸÃÄÚ´æ¿é£¬·ñÔò£¬Õâ¿éÄÚ´æ¾Í²»Äܱ»ÔÙ´ÎʹÓã¬ÎÒÃǾÍ˵Õâ¿éÄÚ´æÐ¹Â©ÁË¡£ÒÔÏÂÕâ¶ÎС³ÌÐòÑÝʾÁ˶ÑÄÚ´æ·¢Éúй©µÄÇéÐΣº
void MyFunction(int nSize)
{
¡¡char* p= new char[nSize];
¡¡if( !GetStringfrom( p, nSize ) ){
¡¡¡¡MessageBox(“Error”);
¡¡¡¡return;
¡¡}
¡¡…//using the string pointed by p;
¡¡delete p;
}
¡¡¡¡ÀýÒ»
¡¡¡¡µ±º¯ÊýGetStringfrom()·µ»ØÁãµÄʱºò£¬Ö¸ÕëpÖ¸ÏòµÄÄÚ´æ¾Í²»»á±»ÊÍ·Å¡£ÕâÊÇÒ»ÖÖ³£¼ûµÄ·¢ÉúÄÚ´æÐ¹Â©µÄÇéÐΡ£³ÌÐòÔÚÈë¿Ú´¦·ÖÅäÄڴ棬ÔÚ³ö¿Ú´¦ÊÍ·ÅÄڴ棬µ«ÊÇcº¯Êý¿ÉÒÔÔÚÈκεط½Í˳ö£¬ËùÒÔÒ»µ©ÓÐij¸ö³ö¿Ú´¦Ã»ÓÐÊÍ·ÅÓ¦¸ÃÊͷŵÄÄڴ棬¾Í»á·¢ÉúÄÚ´æÐ¹Â©¡£
¡¡¡¡¹ãÒåµÄ˵£¬ÄÚ´æÐ¹Â©²»½ö½ö°üº¬¶ÑÄÚ´æµÄй©£¬»¹°üº¬ÏµÍ³×ÊÔ´µÄй©(resource leak)£¬±ÈÈçºËÐÄ̬HANDLE£¬GDI Object£¬SOCKET£¬ InterfaceµÈ£¬´Ó¸ù±¾ÉÏ˵ÕâЩÓɲÙ×÷ϵͳ·ÖÅäµÄ¶ÔÏóÒ²ÏûºÄÄڴ棬Èç¹ûÕâЩ¶ÔÏó·¢Éúй©×îÖÕÒ²»áµ¼ÖÂÄÚ´æµÄй©¡£¶øÇÒ£¬Ä³Ð©¶ÔÏóÏûºÄµÄÊǺËÐÄ̬Äڴ棬ÕâЩ¶ÔÏóÑÏÖØÐ¹Â©Ê±»áµ¼ÖÂÕû¸ö²Ù×÷ϵͳ²»Îȶ¨¡£ËùÒÔÏà±È֮ϣ¬ÏµÍ³×ÊÔ´µÄй©±È¶ÑÄÚ´æµÄй©¸üΪÑÏÖØ¡£
¡¡¡¡GDI ObjectµÄй©ÊÇÒ»ÖÖ³£¼ûµÄ×ÊԴй©£º
void CMyView::OnPaint( CDC* pDC )
{
¡¡CBitmap bmp;
¡¡CBitmap* pOldBmp;
¡¡bmp.LoadBitmap(IDB_MYBMP);
¡¡pOldBmp = pDC->SelectObject( &bmp );
¡¡…
¡¡if( Something() ){
¡¡¡¡return;
¡¡}
¡¡pDC->SelectObjec
Ïà¹ØÎĵµ£º
½ñÌìÓиö¸Õ¸Õ±ÏÒµµÄСÅóÓÑÎÊÎÒ¹ØÓÚvoid*µÄһЩÎÊÌ⣬¸ÕºÃÔÚÍøÉÏÕÒµ½ÁËһƪ±È½ÏÏêϸ˵Ã÷µÄÎÄÕ£¬×ªÔØÖ®......
1.¸ÅÊö
¡¡¡¡
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬ ......
//ΪÁ˺ÍDSP¼æÈÝ£¬TSint64ºÍTUint64ÉèÖóÉTSint40ºÍTUint40Ò»ÑùµÄÊý
//½á¹ûVCÖл¹ÊÇÈÏΪÊÇ32λµÄ£¬ÏÔÈ»²»ºÏÊÊ
//typedef signed long int TSint64;
//typedef unsigned long int TUint64; &nb ......
µ¥Ïß³Ì
Single-Threaded(static) libc.lib
Debug Single-Threaded(static) & ......
Ñ¡Á½¸ö±È½ÏÓдú±íÐԵĺ¯Êý
Ê×ÏÈÏÂÔØ°²×°sdk£¬½«ÆäÖеÄsde.dll,pe.dllºÍsg.dll¿½±´¹ýÀ´
ʹÓÃÈçϵĴúÂ룬ָ¶¨dllºóÖ±½Óµ÷ÓÃÆäÖеĺ¯Êý£¬
/// <summary>
/// Sets the value for a small integer column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ......
Ò»Ö±¾õµÃCÓïÑÔµÄÔ¤´¦Àí
Æ÷ÊǸöÃÀÃî¶øÉñÆæµÄ¹¤¾ß£¬ÒÔºó»áÂ½Ðø°Ñ×Ô¼ºÑ§µ½µÄ¹ØÓÚËüµÄÐÂ֪ʶ×ܽá³öÀ´¡£To be continued aways...
Ò»¡¢ #defineÌæ»»
£¨Pointer ON C
, Ch14.2.2£©
³ÌÐòÖÐÀ©Õ¹#define¶¨Òå·ûºÅºÍºêʱ£¬Éæ¼°Èçϼ¸¸ö²½Ö裺
(1) ÔÚµ÷Óúêʱ£¬Ê×ÏȶԲÎÊý½øÐмì²é£¬¿´¿´ÊÇ·ñ°üº¬ÁËÈκÎÓÉ#define ¶¨ÒåµÄ·ûºÅ£¬Èç¹ ......