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

C/C++Öеĺ¯Êý²ÎÊý´«µÝ»úÖÆ(תÔØ)

 Ò»¡¢ º¯Êý²ÎÊý´«µÝ»úÖƵĻù±¾ÀíÂÛ ¡¡¡¡º¯Êý²ÎÊý´«µÝ»úÖÆÎÊÌâÔÚ±¾ÖÊÉÏÊǵ÷Óú¯Êý£¨¹ý³Ì£©ºÍ±»µ÷Óú¯Êý£¨¹ý³Ì£©ÔÚµ÷Ó÷¢Éúʱ½øÐÐͨÐŵķ½·¨ÎÊÌâ¡£»ù±¾µÄ²ÎÊý´«µÝ»úÖÆÓÐÁ½ÖÖ£ºÖµ´«µÝºÍÒýÓô«µÝ¡£ÒÔÏÂÌÖÂ۳Ƶ÷ÓÃÆäËûº¯ÊýµÄº¯ÊýΪÖ÷µ÷º¯Êý£¬±»µ÷Óõĺ¯ÊýΪ±»µ÷º¯Êý¡£¡¡¡¡Öµ´«µÝ£¨passl-by-value£©¹ý³ÌÖУ¬±»µ÷º¯ÊýµÄÐÎʽ²ÎÊý×÷Ϊ±»µ÷º¯ÊýµÄ¾Ö²¿±äÁ¿´¦Àí£¬¼´ÔÚ¶ÑÕ»Öпª±ÙÁËÄÚ´æ¿Õ¼äÒÔ´æ·ÅÓÉÖ÷µ÷º¯Êý·Å½øÀ´µÄʵ²ÎµÄÖµ£¬´Ó¶ø³ÉΪÁËʵ²ÎµÄÒ»¸ö¸±±¾¡£Öµ´«µÝµÄÌصãÊDZ»µ÷º¯Êý¶ÔÐÎʽ²ÎÊýµÄÈκβÙ×÷¶¼ÊÇ×÷Ϊ¾Ö²¿±äÁ¿½øÐУ¬²»»áÓ°ÏìÖ÷µ÷º¯ÊýµÄʵ²Î±äÁ¿µÄÖµ¡£¡¡¡¡ÒýÓô«µÝ(pass-by-reference)¹ý³ÌÖУ¬±»µ÷º¯ÊýµÄÐÎʽ²ÎÊýËäȻҲ×÷Ϊ¾Ö²¿±äÁ¿ÔÚ¶ÑÕ»Öпª±ÙÁËÄÚ´æ¿Õ¼ä£¬µ«ÊÇÕâʱ´æ·ÅµÄÊÇÓÉÖ÷µ÷º¯Êý·Å½øÀ´µÄʵ²Î±äÁ¿µÄµØÖ·¡£±»µ÷º¯Êý¶ÔÐβεÄÈκβÙ×÷¶¼±»´¦Àí³É¼ä½ÓÑ°Ö·£¬¼´Í¨¹ý¶ÑÕ»Öдæ·ÅµÄµØÖ··ÃÎÊÖ÷µ÷º¯ÊýÖеÄʵ²Î±äÁ¿¡£ÕýÒòΪÈç´Ë£¬±»µ÷º¯Êý¶ÔÐβÎ×öµÄÈκβÙ×÷¶¼Ó°ÏìÁËÖ÷µ÷º¯ÊýÖеÄʵ²Î±äÁ¿¡£
¶þ¡¢ CÓïÑÔÖеĺ¯Êý²ÎÊý´«µÝ»úÖÆ ¡¡¡¡ÔÚCÓïÑÔÖУ¬Öµ´«µÝÊÇΨһ¿ÉÓõIJÎÊý´«µÝ»úÖÆ¡£µ«ÊǾݱÊÕßËùÖª£¬ÓÉÓÚÊÜÖ¸Õë±äÁ¿×÷Ϊº¯Êý²ÎÊýµÄÓ°Ï죬ÓÐÐí¶àÅóÓÑ»¹ÈÏΪÕâÖÖÇé¿öÊÇÒýÓô«µÝ¡£ÕâÊÇ´íÎóµÄ¡£Çë¿´ÏÂÃæµÄ´úÂ룺 int swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; return temp; } void main() { int a = 1, b = 2; int *p1 = &a; int *p2 = &b; swap(p1, p2) } ¡¡¡¡º¯ÊýswapÒÔÁ½¸öÖ¸Õë±äÁ¿×÷Ϊ²ÎÊý£¬µ±main()µ÷ÓÃswapʱ£¬ÊÇÒÔÖµ´«µÝµÄ·½Ê½½«Ö¸Õë±äÁ¿p1¡¢p2µÄÖµ£¨Ò²¾ÍÊDZäÁ¿a¡¢bµÄµØÖ·£©·ÅÔÚÁËswapÔÚ¶ÑÕ»ÖÐΪÐÎʽ²ÎÊýx¡¢y¿ª±ÙµÄÄÚ´æµ¥ÔªÖС£ÕâÒ»µã´ÓÒÔϵĻã±à´úÂë¿ÉÒÔ¿´³ö£¨×¢ÊÍÊDZÊÕ߼ӵģ©£º 22: void main() 23: { …… …… 13: int a = 1, b = 2; 00401088 mov dword ptr [ebp-4],1 0040108F mov dword ptr [ebp-8],2 14: int *p1 = &a; 00401096 lea eax,[ebp-4] 00401099 mov dword ptr [ebp-0Ch],eax 15: int *p2 = &b; 0040109C lea ecx,[ebp-8] 0040109F mov dword ptr [ebp-10h],ecx 16: swap(p1, p2); 004010A2 mov edx,dword ptr [ebp-10h] £»²ÎÊýp2µÄÖµ½øÕ» 004010A5 push edx 004010A6 mov eax,dword ptr [ebp-0Ch] £»²ÎÊýp1µÄÖµ½øÕ» 004010A9 push eax 004010AA call @ILT+15(swap) (00401014) £»µ÷ÓÃswapº¯Êý 004010AF add esp,8 £»ÇåÀí¶ÑÕ»ÖеIJÎÊý 17: } ¡¡¡¡ÔĶÁÉÏÊö´úÂëҪעÒ⣬INTEL8


Ïà¹ØÎĵµ£º

ECLIPSE ¿ª·¢ C/C++ ¹¤³Ì

  ×î½üÒ»¸öÅóÓÑ×¼±¸°ÑC´úÂëÔÚECLIPSEÉϱàÒ룬ÒÔÇ°Ò»Ö±¸ãµÄJAVA£¬Ò²ÖªµÀECLIPSEÖ§³ÖC¹¤³Ì£¬µ«ÊÇ×Ô¼º´ÓÀ´Ã»¸ã¹ý£¬ËùÒÔ¾Í×Ô¼ºÏÈ´ÓÍøÂçÉÏÕÒ×ÊÁÏ£¬Ö÷Òª·½·¨ÈçÏÂ
1¡¢°²×°JDKºÍEclipse
ÕâÀï¾Í²»¶à˵£¬¾ßÌåÇë¼û£ºhttp://blog.chinaunix.net/u/16292/showart_223309.html
Îҵݲװ»·¾³ÊÇjdk1.5£¬eclipse3.2.1
2¡¢°²×°C++µÄE ......

(ת)C³ÌÐòµÄ±àÒë¹ý³Ì

±àÒ룬±àÒë³ÌÐò¶ÁÈ¡Ô´³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
CÔ´³ÌÐòÍ·Îļþ£­£­>Ô¤±àÒë´¦Àí(cpp)£­£­>±àÒë³ÌÐò±¾Éí£­£­>ÓÅ»¯³ÌÐò£­£­>»ã±à³ÌÐò£­£­>Á´½Ó³ÌÐò--> ......

C++ÖÐextern ¡°C¡±º¬ÒåÉî²ã̽Ë÷

1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌص㣨±»ÊÀÈ˳ÆΪ“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......

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

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

C/C++ ×Ö½Ú¶ÔÆëÎÊÌâ

VCÖÐÏÂÃ漸¸ö½á¹¹Ìå´óС·Ö±ðÊǶàÉÙÄØ
struct MyStruct
{
    double m4;
    char m1;
    int m3£»
};
struct MyStruct {
    char m1;
    double m4;
    int m3;
};
#pragma pack(push)   ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ