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->SelectOb
Ïà¹ØÎĵµ£º
ÔÚCÓïÑÔÖУ¬escapeµÄ·ûºÅºÜºÃÓã¬
±ÈÈç
"ÖйúÒ»¶¨Ç¿"
Õâ¸ö×Ö´®¿ÉÒÔд³É£º
"\x4E2D\x56FD\x4E00\x5B9A\x5F3A"
ÓÃ×ÖÔª±àÂë±àд³ÌÐò£¬ÔÚÆäËû²»Í¬ÓïÑÔµÄwindowsÔË×÷ʱ£¬±È½Ï²»»áÓÐÎÊÌâ¡£
£¨ÎÒ¾¡Á¿²»ÏëÔÚ³ÌÐòÖÐдÈëÖÐÎÄ£©
µ«ÊÇvbÈç¹ûÈ«²¿ÒªÓÃ×ÖÔª±àÂëдµÄ»°£¬¾Í»áºÜÂé·³¶øÇÒÒ»¸öÒ»¸ö¶¼ÒªÊÖд³É£º
ChrW(&H4E2D) ......
//cExample.h
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
#ifdef __cplusplus
extern "C"
{
#endif
int add(int x, int y);
#ifdef __cplusplus
}
#endif
#endif
---------------------------------
//cExample.c
#include"cExample.h"
int add(int x, int y)
{
return x + y;
}
----------------- ......
//1.JavaÖÐ×Ö·û´®²»ÄܶàÐÐÊéд¡£¶àÐÐÊéдÓÃÒýºÅ¸ô¶Ï£¬¼ÓºÅÏàÁ¬¡£
//2.JavaµÄ±êʶ·û¿ÉÒÔÓÃÃÀÔª·ûºÅ¿ªÍ·¡£
//3.JavaÖÐûÓÐÎÞ·ûºÅ±äÁ¿»òÎÞ·ûºÅ³£Á¿µÄ¸ÅÄî¡£ËùÓеıäÁ¿¶¼ÊÇÓзûºÅµÄ¡£
//4.JavaÖбäÁ¿µÄ×Ö³¤Êǹ̶¨µÄ¡£²»´æÔÚcharºÍwcharÖ®·Ö¡£
//5.JavaÖбäÁ¿Î ......
ÈÕÖ¾¼Ç¼ÁËÕýʽִÐвâÊÔ֮ǰµÄÕû¸ö¹¤×÷¹ý³Ì£¨ÒÔʧ°Ü¾ÑéΪÖ÷£©£¬ÆäÖаüÀ¨£º²âÊÔ·½°¸µÄÖÆ¶¨£¬·½°¸µÄ¿ÉÖ´ÐÐÐÔÑéÖ¤£¬ÒÔ¼°·½°¸Ö´ÐÐʧ°ÜºóµÄÐÞ¸ÄÓëÍêÉÆ¡£´Ë´Î¹¤×÷Ϊ“ÐÔÄܲâÊÔ”·¶³ë£¬Õâ¸ö·½ÏòÒ²ÊÇÎҵļ¼Êõ¶Ì°åÖ®Ò»¡£Ì¹°×µÄ½²£¬ÒÔÎÒ¸öÈ˵ÄÄÜÁ¦¼¸ºõ²»ÄÜ×öµ½£¬Ö®ËùÒÔ½â¾ö·½°¸Äܹ»Í¨¹ý£¬ÔÚ´ËÖ÷Òª¸Ðл¿ª·¢Í¬ÊµÄÈ«Á¦Ö§³ÖºÍ ......
Ò»£® ¸ÅÊö
ÄÚ´æÐ¹Â©Ò»Ö±ÊÇÈí¼þ¿ª·¢ÈËÔ±×îÍ·´óµÄÎÊÌâÖ®Ò»£¬ÓÈÆäÏñC/C++ÕâÑù×ÔÓɶȷdz£´óµÄ±à³ÌÓïÑÔ£¬¼¸ºõÊÇÿһ¸öÓÃÆä¿ª·¢³öÀ´µÄÈí¼þ¶¼»á³öÏÖÄÚ´æÐ¹Â©µÄÇé¿ö¡£
Èç¹ûûÓÐÄÚ´æÐ¹Â©£¬ÊÀ½ç»òÐí»á±äµÄÃÀºÃ¡£È»¶ø£¬ÍêÈ«ÃÀºÃµÄÊÀ½çÊDz»´æÔڵģ¬ÎÒÃÇÄÜ×öµÄ¾ÍÊǾ¡Á¿ÈÃËü±äµÄ¸üÃÀ ......