锘??xml version="1.0" encoding="utf-8" standalone="yes"?>一本色道久久综合狠狠躁的推荐,在线日韩成人,国产亚洲成av人在线观看导航http://m.shnenglu.com/aa19870406/category/16145.htmlzh-cnThu, 12 Jul 2012 10:52:01 GMTThu, 12 Jul 2012 10:52:01 GMT60linux 鏂囦歡鎿嶄綔涔媍losehttp://m.shnenglu.com/aa19870406/archive/2012/07/12/183010.htmlMrRightLeftMrRightLeftThu, 12 Jul 2012 08:13:00 GMThttp://m.shnenglu.com/aa19870406/archive/2012/07/12/183010.htmlhttp://m.shnenglu.com/aa19870406/comments/183010.htmlhttp://m.shnenglu.com/aa19870406/archive/2012/07/12/183010.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/183010.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/183010.html#include <iostream>
#include 
<fcntl.h>
using namespace std;

int main()
{
    
int fd = open("demo.txt", O_RDWR, 0);
    close(fd);
    
int fd1 = open("demo1.txt", O_RDWR, 0);
    
char *szMsg = "hello";
    
int size = write(fd, szMsg, strlen(szMsg)+1);
    
if (-1 == size)
    
{
         cerr 
<< "error!" << endl;
    }

    close(fd1);
    
return 0;
}
鐚滀竴涓嬩笂闈㈢▼搴忕殑鎵ц緇撴灉銆?br />鍦╳rite鏃訛紝fd鍜宖d1鐨勫兼槸涓鏍風殑錛寃rite fd鏃訛紝瀹為檯灝辨槸write fd1銆?br />涓轟簡閬垮厤鑷繁鍦ㄧ▼搴忎腑璇搷浣滐紝鍙互鍦╟lose(fd)涔嬪悗錛屽姞涓奻d = -1;

]]>
64浣嶇綉緇滃瓧鑺傚簭涓庝富鏈哄瓧鑺傚簭杞崲http://m.shnenglu.com/aa19870406/archive/2012/06/20/179517.htmlMrRightLeftMrRightLeftWed, 20 Jun 2012 08:50:00 GMThttp://m.shnenglu.com/aa19870406/archive/2012/06/20/179517.htmlhttp://m.shnenglu.com/aa19870406/comments/179517.htmlhttp://m.shnenglu.com/aa19870406/archive/2012/06/20/179517.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/179517.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/179517.html 64浣嶇綉緇滃瓧鑺傚簭涓庝富鏈哄瓧鑺傚簭杞崲

unsigned long long ntohll(unsigned long long val)
{
    
if (__BYTE_ORDER == __LITTLE_ENDIAN)
    
{
        
return (((unsigned long long )htonl((int)((val << 32>> 32))) << 32| (unsigned int)htonl((int)(val >> 32));
    }

    
else if (__BYTE_ORDER == __BIG_ENDIAN)
    
{
        
return val;
    }

}


unsigned 
long long htonll(unsigned long long val)
{
    
if (__BYTE_ORDER == __LITTLE_ENDIAN)
    
{
        
return (((unsigned long long )htonl((int)((val << 32>> 32))) << 32| (unsigned int)htonl((int)(val >> 32));
    }

    
else if (__BYTE_ORDER == __BIG_ENDIAN)
    
{
        
return val;
    }

}

 



]]>
濡備綍瀹氫箟鍙橀暱鐨凾LV緇撴瀯浣擄紵http://m.shnenglu.com/aa19870406/archive/2012/06/14/178803.htmlMrRightLeftMrRightLeftThu, 14 Jun 2012 07:46:00 GMThttp://m.shnenglu.com/aa19870406/archive/2012/06/14/178803.htmlhttp://m.shnenglu.com/aa19870406/comments/178803.htmlhttp://m.shnenglu.com/aa19870406/archive/2012/06/14/178803.html#Feedback4http://m.shnenglu.com/aa19870406/comments/commentRss/178803.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/178803.html濡備綍瀹氫箟鍙橀暱鐨凾LV緇撴瀯浣擄紵

TLV鏄竴縐嶅父鐢ㄧ殑鐢ㄤ簬閫氫俊鐨勭粨鏋勪綋鏍煎紡銆俆琛ㄧずtag錛孡琛ㄧずlength錛孷琛ㄧずvalue銆傚叾涓璗鍜孡鏄浐瀹氬ぇ灝忕殑錛孷鏄彲鍙樺ぇ灝忥紝L琛ㄧず鐨勬槸V鐨勯暱搴︺傞氬父鐢ㄤ簬緇撴瀯鍖栫綉緇滈氫俊涓殑鏁版嵁嫻併傚0x3 3 'aa\0'錛?x3 5 'aaaa\0',鍏朵腑0x3琛ㄧずtag鐨勫鹼紝3 or 5琛ㄧず鐨勬槸鍚庨潰鐨勫瓧絎︿覆鐨勯暱搴︺傜敱浜嶸鏄彲鍙橀暱搴︾殑錛屾墍浠ュ湪瀹氫箟TLV緇撴瀯鏃訛紝闇瑕佸皢V瀹氫箟鎴愪負鍙彉澶у皬銆傚彲瀹氫箟濡備笅錛?br />
struct TLV
{
    uint8_t tag;
    uint16_t len;
    char value[0];
}__attribute__((packed));

娉ㄦ剰value鍒嗛厤鐨勬槸0澶у皬錛屾渶鍚庝竴涓垚鍛樹負鍙彉闀跨殑鏁扮粍錛屽浜嶵LV錛圱ype-Length-Value錛夊艦寮忕殑緇撴瀯錛屾垨鑰呭叾浠栭渶瑕佸彉闀垮害鐨勭粨鏋勪綋錛岀敤榪欑鏂瑰紡瀹氫箟鏈濂姐備嬌鐢ㄨ搗鏉ラ潪甯告柟渚匡紝鍒涘緩鏃訛紝malloc涓孌電粨鏋勪綋澶у皬鍔犱笂鍙彉闀挎暟鎹暱搴︾殑絀洪棿緇欏畠錛屽彲鍙橀暱閮ㄥ垎鍙寜鏁扮粍鐨勬柟寮忚闂紝閲婃斁鏃訛紝鐩存帴鎶婃暣涓粨鏋勪綋free鎺夊氨鍙互浜嗐俖_attribute__(packed)鐢ㄦ潵寮哄埗涓嶅struct TLV榪涜4瀛楄妭瀵歸綈錛岀洰鐨勬槸涓轟簡鑾峰彇鐪熷疄鐨凾LV鐨勭┖闂翠嬌鐢ㄦ儏鍐點?br />
int main()
{
    char *szMsg = "aaaaaaaaa";
    cout << sizeof(TLV) << endl; //the size of TLV
    uint16_t len = strlen(szMsg) + 1;
    struct TLV *pTLV;
    pTLV = (struct TLV*)malloc(sizeof(struct TLV) + sizeof(char)*len);
    pTLV->tag = 0x2;
    pTLV->len = len;
    memcpy(pTLV->value, szMsg, len);
    cout << pTLV->value << endl;
    free(pTLV);
    pTLV = NULL;
    return 0;
}

榪欓噷鏈夊叧浜庤緗彉闀縏LV鐨勮緇嗚鏄庯細http://www.douban.com/note/213324857/
榪欓噷鏈変竴涓棶棰橈紝濡備綍瀹炵幇宓屽TLV緇撴瀯鍛紵澶у鏈変粈涔堝ソ鐨勬濊礬鍚楋紵嬈㈣繋浜ゆ祦
綆鍗曞疄鐜頒簡涓涓嬪祵濂桾LV錛屼笉鐭ラ亾鏈夋病鏈夐棶棰樸?br />
#include <iostream>
using namespace std;

struct TLVNODE
{
    uint8_t tag;
    uint16_t len;
    char value[0];
}__attribute__ ((packed));

struct TLV
{
    int hei;
    uint8_t tag;
    uint16_t len;
    struct TLVNODE value[0];
} __attribute__ ((packed));

int main()
{
    //char *szMsg = "aaaaaaaaaaa";
    cout << sizeof(TLV) << endl;
    //uint16_t len = strlen(szMsg) + 1;

    char *szNodeMsg = "bbbbbbbbbb";
    uint16_t nodelen = strlen(szNodeMsg) + 1;
    struct TLVNODE *pNode = (struct TLVNODE *) malloc(sizeof(struct TLVNODE) + sizeof(char)*nodelen); 
    pNode->tag = 0x3;
    pNode->len = nodelen;
    memcpy(pNode->value, szNodeMsg, nodelen);


    struct TLV *pTlv;
    uint16_t nodeSize = sizeof(struct TLVNODE) + sizeof(char)*nodelen;
    pTlv = (struct TLV*)malloc(sizeof(struct TLV) + nodeSize);
    pTlv->tag = 0x2;
    pTlv->len = nodeSize;
//    pTlv->value[0] = (struct TLVNODE)*pNode;
    memcpy(pTlv->value, pNode, nodeSize);
    free(pNode);
    pNode = NULL;
    cout << sizeof(*pTlv) << endl;
    /*for (int i = 0; i < len; ++i)
    {
        pTlv->value[i] = szMsg[i]; 
    }
*/

    /*memcpy(pTlv->value, szMsg, len);*/
    //cout << pTlv->value << endl;
    free(pTlv);
    pTlv = NULL;
    return 0;
}






]]>
c++涓璫onst鍙橀噺鐪熺殑涓嶅彲浠ヤ慨鏀瑰悧錛?/title><link>http://m.shnenglu.com/aa19870406/archive/2012/04/10/170836.html</link><dc:creator>MrRightLeft</dc:creator><author>MrRightLeft</author><pubDate>Tue, 10 Apr 2012 15:49:00 GMT</pubDate><guid>http://m.shnenglu.com/aa19870406/archive/2012/04/10/170836.html</guid><wfw:comment>http://m.shnenglu.com/aa19870406/comments/170836.html</wfw:comment><comments>http://m.shnenglu.com/aa19870406/archive/2012/04/10/170836.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://m.shnenglu.com/aa19870406/comments/commentRss/170836.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/aa19870406/services/trackbacks/170836.html</trackback:ping><description><![CDATA[<div><div style="text-align: center;"><strong style="font-size: 18pt; ">c++涓璫onst鍙橀噺鐪熺殑涓嶅彲浠ヤ慨鏀瑰悧錛?br /><br /></strong></div>鍦ㄥc++鐨勬椂鍊欙紝鐪嬪埌鐨勫ぇ閮ㄥ垎鐨勪功綾嶅const鍏抽敭瀛楃殑浠嬬粛閮芥槸:const鍏抽敭瀛椾慨楗扮殑鍙橀噺鐨勫兼槸涓嶅彲琚慨鏀圭殑銆備絾鏄簨瀹炵湡鏄姝ゅ悧錛熶粖澶╁仛浜嗕竴涓皬鐨勫疄楠岋紝鍙戠幇const鍙橀噺鏄彲浠ヨ淇敼鐨勩俢++浠g爜濡備笅:<span style="font-size: 13px; ">           </span><br /><div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; background-color: #eeeeee; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; width: 1081px; word-break: break-all; "><span style="color: #008080; "> 1</span> <span style="color: #000000; ">#include </span><span style="color: #000000; "><</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /></span><span style="color: #008080; "> 2</span> <span style="color: #0000ff; ">using</span> <span style="color: #0000ff; ">namespace</span><span style="color: #000000; "> std;<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 4</span> <span style="color: #0000ff; ">int</span><span style="color: #000000; "> main()<br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">{<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">    </span><span style="color: #0000ff; ">const</span> <span style="color: #0000ff; ">int</span><span style="color: #000000; "> a </span><span style="color: #000000; ">=</span> <span style="color: #000000; ">3</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">    </span><span style="color: #0000ff; ">int</span><span style="color: #000000; ">*</span><span style="color: #000000; "> p </span><span style="color: #000000; ">=</span><span style="color: #000000; "> const_cast</span><span style="color: #000000; "><</span><span style="color: #0000ff; ">int</span><span style="color: #000000; ">*></span><span style="color: #000000; ">(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">a);<br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    </span><span style="color: #000000; ">*</span><span style="color: #000000; ">p </span><span style="color: #000000; ">=</span> <span style="color: #000000; ">4</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span> <span style="color: #000000; ">"</span><span style="color: #000000; ">value of p: </span><span style="color: #000000; ">"</span> <span style="color: #000000; "><<</span> <span style="color: #000000; ">*</span><span style="color: #000000; ">p </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span> <span style="color: #000000; ">"</span><span style="color: #000000; ">value of a: </span><span style="color: #000000; ">"</span> <span style="color: #000000; "><<</span><span style="color: #000000; "> a </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span> <span style="color: #000000; ">"</span><span style="color: #000000; ">address of p: </span><span style="color: #000000; ">"</span> <span style="color: #000000; "><<</span><span style="color: #000000; "> p </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span> <span style="color: #000000; ">"</span><span style="color: #000000; ">address of a: </span><span style="color: #000000; ">"</span> <span style="color: #000000; "><<</span> <span style="color: #000000; ">&</span><span style="color: #000000; ">a </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">    </span><span style="color: #0000ff; ">return</span> <span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">15</span> <span style="color: #000000; ">}             </span></div>涓婇潰浠g爜絎?琛屽皢a鐨勫湴鍧璧嬪肩粰鎸囬拡p錛岀劧鍚庣8琛屼慨鏀筽鎵鎸囧悜鐨勫湴鍧涓殑鍊鹼紝榪愯緇撴灉濡備笅錛?br /><fieldset><legend>榪愯緇撴灉</legend><div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #ff9900; background-color: #ffffff; ">value of p: 4</span></div><div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #ff9900; background-color: #ffffff; ">value of a: 3</span></div><div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #ff9900; background-color: #ffffff; ">address of p: 0x7fbffff7fc</span></div><div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #ff9900; background-color: #ffffff; ">address of a: 0x7fbffff7fc</span></div></div></fieldset>濡備笂鎵紺虹粨鏋滐紝鎸囬拡p鎵鎸囧悜鐨勫湴鍧鍜屽彉閲廰鐨勫湴鍧鐩稿悓錛屼絾鏄痯鎵鎸囧湴鍧涓殑鍊煎凡緇忓彂鐢熸敼鍙樸備絾鏄負浣曞彉閲廰瀵瑰簲鐨勫湴鍧涓殑鍊煎凡緇忕敱3鍙樹負4錛屼絾鏄痑鐨勫肩‘瀹?鍛紵<br />鏆傛椂鎶婅繖涓棶棰樻悂嫻呫傚啀鏉ョ湅涓涓嬪涓嬬殑c++浠g爜錛?br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #000000; ">#include </span><span style="color: #000000; "><</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">using</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; "> std;<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">3</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main()<br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">{<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; ">const int a = 3;</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 7</span> <span style="color: #008000; "></span><span style="color: #000000; ">    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">*</span><span style="color: #000000; "> p </span><span style="color: #000000; ">=</span><span style="color: #000000; "> const_cast</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">*></span><span style="color: #000000; ">(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">a);<br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    </span><span style="color: #000000; ">*</span><span style="color: #000000; ">p </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">4</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">value of p: </span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">p </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">value of a: </span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> a </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">address of p: </span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> p </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">    cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">address of a: </span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">a </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">15</span> <span style="color: #000000; ">}</span></div>濡備笂浠g爜g++緙栬瘧閫氳繃錛屽湪榪愯鏃舵姤閿欏涓嬶細<br /><fieldset><legend>杈撳嚭緇撴灉</legend><div><span style="color: red; ">Segmentation fault (core dumped)</span></div></fieldset>鐢辨鍙錛屽湪c++涓叏灞const鍙橀噺鍜屽眬閮╟onst鍙橀噺鐨勭紪璇戝櫒澶勭悊鐨勬柟娉曟槸涓嶄竴鏍風殑銆傛煡闃呰祫鏂欏緱鐭ワ紝鍏ㄥ眬const鍙橀噺鏄笉鍒嗛厤鍐呭瓨鍦板潃鐨勶紝瀹冪紪璇戝櫒鏀劇疆鍦ㄧ鍙瘋〃涓綔涓虹紪璇戞湡甯擱噺錛屽叏灞const鍙橀噺鏀懼湪鍙鏁版嵁孌典腑錛屽彈鍒板彧璇繪暟鎹鐨勬潈闄愪繚鎶わ紝褰撲綘淇敼涓涓彧璇繪暟鎹涓殑鍐呭鏃訛紝浼氬緱鍒頒竴涓繍琛屾椂閿欒銆傝屽眬閮╟onst鍙橀噺鏄斁鍦ㄥ爢鏍堜箣涓紝鍥犱負鍦ㄥ唴瀛樹腑鏈夊湴鍧錛岄氳繃淇敼鍦板潃涓殑鍊煎彲浠ヨ揪鍒頒慨鏀筩onst鎵鎸囧唴瀛樹腑鍊肩殑鐩殑銆?br /></div> <div id="hvzpftn" class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://m.shnenglu.com/aa19870406/aggbug/170836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/aa19870406/" target="_blank">MrRightLeft</a> 2012-04-10 23:49 <a href="http://m.shnenglu.com/aa19870406/archive/2012/04/10/170836.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>澹版槑欏哄簭錛岄潤鎬佷綔鐢ㄥ煙錛屽姩鎬佷綔鐢ㄥ煙http://m.shnenglu.com/aa19870406/archive/2011/06/18/148917.htmlMrRightLeftMrRightLeftSat, 18 Jun 2011 09:37:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/06/18/148917.htmlhttp://m.shnenglu.com/aa19870406/comments/148917.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/06/18/148917.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/148917.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/148917.html
 1 #include<iostream>
 2 //#include <map>
 3 //#include <string>
 4 using namespace std;
 5 
 6 int a;
 7 void first()
 8 {
 9     a = 1;
10 }
11 
12 void second()
13 {
14     int a = 7;
15     first();
16     cout << "second:" << a << endl;
17 }
18 
19 
20 int main()
21 {
22     a = 2;
23     int num;
24     cin >> num;
25     if (num > 0)
26     {
27         second();
28     }
29     else
30     {
31         first();
32     }
33     cout << a << endl;
34     return 0;
35 }
36 
鐚滄兂涓涓嬩笂闈㈢殑浠g爜杈撳嚭鐨勭粨鏋滄槸浠涔堬紵main鍑芥暟涓緭鍑虹殑緇撴灉鏄?銆備笉璁轟綘杈撳叆鐨刵um鍊兼槸姝f暟榪樻槸璐熸暟緇撴灉閮芥槸1銆備負浠涔堜細榪欐牱鍛紵榪欐槸鍥犱負c++閲囩敤鐨勬槸闈欐佷綔鐢ㄥ煙瑙勫垯銆傜9琛屼唬鐮佹槸鍏抽敭鎵鍦ㄣ傚浜巆++榪欑闈欐佽璦鑰岃█錛岀9琛屼唬鐮佸疄闄呬慨鏀圭殑鏄叏灞鍙橀噺a鐨勫箋傛墍浠ヨ紼嬪簭鐨勬渶緇堢粨鏋滀細鏄?銆傞偅涔堝姩鎬佷綔鐢ㄥ煙瑙勫垯鐨勮璦浼氳緭鍑轟粈涔堟牱鐨勭粨鏋滃憿錛熼偅灝辮鏍規(guī)嵁鎵杈撳叆鐨刵um鏉ュ喅瀹氫簡銆?br />
c++澹版槑鍙橀噺鐨勪綔鐢ㄥ氨鏄紩榪涘悕瀛楃鍙鳳紝琛ㄦ槑璇ュ彉閲忕殑浣滅敤鍩燂紝鑰屽畾涔夊垯鏄粰鍙橀噺鍒嗛厤鍐呭瓨錛屽茍涓旂粦瀹氬肩殑榪囩▼銆傚浜庤皟鐢ㄥ瓙鍑芥暟鐨勮繃紼嬶紝涓轟簡鎵懼埌瀛愬嚱鏁頒腑鐨勫彉閲忕殑澹版槑浣滅敤鍩燂紝緙栬瘧鍣ㄩ噰鐢ㄤ簡闈欐侀摼鎺ョ殑鏂規(guī)硶銆傚浜庣▼搴忕殑鎵ц嫻佺▼錛岀紪璇戝櫒浼氱淮鎶や竴涓爤錛屾爤涓細瀛樺偍涓庣浉搴旇皟鐢ㄥ嚱鏁板搴旂殑甯с傜紪璇戝櫒閫氳繃鏍堝拰甯ф暟鎹粨鏋勬潵緇存姢紼嬪簭鎵ц鎵璋冪敤鐨勫嚱鏁板眰嬈℃祦紼嬨傝鎵懼埌涓涓瓙鍑芥暟涓殑鍙橀噺澹版槑鍩熷疄闄呬笂灝辨槸鍦ㄦ爤涓浉搴斿撫涓鎵捐鍙橀噺鐨勫0鏄庛傚鎵捐搗鐐規(guī)槸褰撳墠媧誨姩甯э紝鑰屽綋鍓嶆椿鍔ㄥ撫鍙堥氳繃闈欐侀摼鎺ワ紙鐩稿綋浜庢寚閽堬級涓庡畠鐨勭埗甯х浉鍏寵仈銆備絾鏄冭檻涓婇潰鐨勭▼搴忥紝褰撹緭鍏um澶т簬0鏃訛紝搴旇鏄厛璋冪敤second錛岀劧鍚庤皟鐢╢irst錛岃宻econd涓鍙橀噺a閲嶆柊榪涜浜嗗0鏄庯紝濡傛灉鏍堜腑緇存姢鐨勫眰嬈℃槸鍑芥暟璋冪敤鐨勫眰嬈★紝鍒欐鏃秄irst涓慨鏀圭殑鍙橀噺a搴旇鏄痵econd涓0鏄庣殑鍙橀噺a鎵嶆槸錛岄偅涔堢粨鏋滆緭鍑哄簲璇ユ槸2錛屼絾鏄簨瀹炲茍闈炲姝ゃ傛墍浠ユ垜璁や負鏍堜腑鐨勯潤鎬侀摼鎺ユ墍閾炬帴鐨勪笉鏄嚱鏁拌皟鐢ㄧ殑灞傛錛岃屾槸澹版槑鐨勫眰嬈°傝冭檻涓婇潰鐨勭▼搴忥紝鍏ㄥ眬鍙橀噺a鍜屽嚱鏁癴irst鐨勫0鏄庢槸鍦ㄥ悓涓灞傛鐨勶紝鍒欏鏋滆瀵繪壘a涓彉閲忕殑澹版槑錛屽簲璇ラ鍏堟煡鎵綼鎵鍦ㄧ殑閭d釜妯″潡鎵瀵瑰簲鐨勫撫錛堝涓旇涓烘槸鍏ㄥ眬甯у惂錛岀湅鎴愭湁涓涓叏灞鑼冨洿鐨勫嚱鏁頒笌涔嬪搴旓級錛屽垯榪欐椂鎵懼埌鐨刟鐨勫0鏄庡簲璇ュ氨鏄叏灞鍙橀噺a銆傛墍浠ュ鏋滄寜鐓ц繖縐嶅垎鏋愮殑璇濓紝閭d箞紼嬪簭鐨勭粨鏋滃氨鏄?浜嗐?br />
浠ヤ笂鍙槸鎴戠殑鐚滄兂錛岀敱浜庢渶榪戣蹇欎簬鑰冭瘯錛屾病鏈夋椂闂存煡闃呮洿澶氳祫鏂欙紝涓旂紪璇戝師鐞嗛偅鍧楀凡緇忓嚑涔庡繕寰楀樊涓嶅浜嗐傚鏈夐敊璇鍚勪綅鎸囨銆?br />



]]>
鍑嗗鐮旂┒涓涓媟edishttp://m.shnenglu.com/aa19870406/archive/2011/06/14/148615.htmlMrRightLeftMrRightLeftMon, 13 Jun 2011 16:36:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/06/14/148615.htmlhttp://m.shnenglu.com/aa19870406/comments/148615.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/06/14/148615.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/148615.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/148615.html2.鐢變簬鏈榪戝噯澶囨湡鏈冭瘯錛屾墍浠ユ瘡澶╂櫄涓?2:00-24:00瀛︿範2涓皬鏃?img src ="http://m.shnenglu.com/aa19870406/aggbug/148615.html" width = "1" height = "1" />

]]>
01鑳屽寘闂http://m.shnenglu.com/aa19870406/archive/2011/06/07/148170.htmlMrRightLeftMrRightLeftMon, 06 Jun 2011 16:55:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/06/07/148170.htmlhttp://m.shnenglu.com/aa19870406/comments/148170.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/06/07/148170.html#Feedback1http://m.shnenglu.com/aa19870406/comments/commentRss/148170.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/148170.html
  1 #include <iostream>
  2 #include <vector>
  3 #include <algorithm>
  4 #define max(a,b) ((a)>(b))?(a):(b)
  5 using namespace std;
  6 //鍐欏嚭鏉ヤ箣鍚庯紝灝濊瘯鎶婃瘡涓涓猣or寰幆鐢╢or_each鏉ユ浛鎹€傛垨鑰呭皢鍏敤鐨刦or嫻佺▼鐢ㄥ嚱鏁版浛浠?/span>
  7 struct PrintResult 
  8 {
  9     void operator()(int i)
 10     {
 11         cout << i << " ";
 12     }
 13 }printResult;
 14 
 15 struct PrintVecResult 
 16 {
 17     void operator()(vector<int> vec)
 18     {
 19         for_each(vec.begin(), vec.end(), printResult);
 20         cout << endl;
 21     }
 22 }printVecResult;
 23 
 24 int knapsack(vector<int> &vecWeight, vector<int> &vecValue, int capacity)
 25 {
 26     int num = vecWeight.size();
 27     vector<vector<int> > f(num, vector<int>(capacity, 0));
 28     vector<int> result(num, 0);
 29 
 30     int j = 0;
 31     int i = 0;
 32     for (i = 1; i <= num; ++i)
 33     {
 34         for (j = 1; j <= capacity; ++j)
 35         {
 36             if (j >= vecWeight[i])
 37             {
 38                 f[i][j] = max(f[i-1][j], f[i-1][j-vecWeight[i]] + vecValue[i]);
 39             }
 40             else
 41             {
 42                 f[i][j] = f[i-1][j];
 43             }
 44         }
 45     }
 46     //鎵撳嵃f鏁扮粍琛?/span>
 47     for_each(f.begin(), f.end(), printVecResult);
 48     
 49     //鎵撳嵃鑳屽寘鎵鑳藉綰崇殑鏈澶т環(huán)鍊?/span>
 50     cout << f[num][capacity] << endl;
 51 
 52     //鎵撳嵃浜х敓鏈澶т環(huán)鍊肩殑鑳屽寘涓墿鍝佺殑緙栧彿
 53     
 54     for (j = capacity, i = num; i >= 1--i)
 55     {
 56         //result[i] = f[i][j] > f[i-1][j] ? 1 : 0; 
 57         if (f[i][j] > f[i-1][j])
 58         {
 59             result[i] = 1;
 60             j = j - vecWeight[i];
 61         }
 62         else
 63         {
 64             result[i] = 0;
 65         }
 66     }
 67     
 68     for (i = 1; i <= num; ++i)
 69     {
 70         if (1 == result[i])
 71         {
 72             cout << i << " ";
 73         }
 74     }
 75     return  f[num][capacity] ;
 76 }
 77 
 78 
 79 int main()
 80 {
 81     int num = 0;
 82     int capacity = 0;
 83     cin >> num;
 84     cin >> capacity;
 85 
 86     vector<int> weight;
 87     vector<int> value;
 88     weight.push_back(0);
 89     value.push_back(0);
 90 
 91     for (int i = 1; i <= num; ++i)
 92     {
 93         int tempWeight = 0;
 94         int tempValue = 0;
 95         cin >> tempWeight >> tempValue;
 96         weight.push_back(tempWeight);
 97         value.push_back(tempValue);
 98     }
 99 
100     knapsack(weight, value, capacity);
101 
102     return 0;
103 }


]]>
璁℃暟鎺掑簭http://m.shnenglu.com/aa19870406/archive/2011/06/04/148072.htmlMrRightLeftMrRightLeftSat, 04 Jun 2011 15:50:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/06/04/148072.htmlhttp://m.shnenglu.com/aa19870406/comments/148072.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/06/04/148072.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/148072.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/148072.html
璁℃暟鎺掑簭瀹炵幇錛氫互瀛︾敓騫撮緞瀵瑰鐢熶俊鎭繘琛屾帓搴忋?br />
 1 #include <iostream>
 2 #include <vector>
 3 #include <string>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 typedef struct StudentInfo 
 8 {
 9     unsigned int age;
10     string name;
11     string major;
12 }StudentInfo;
13 
14 struct StudentCount 
15 {
16     void operator()(StudentInfo stuInfo)
17     {
18         cout << stuInfo.name << " " << stuInfo.age << stuInfo.major << endl;
19     }
20 }student;
21 
22 void Countsort(vector<StudentInfo> &vec, unsigned int nMaxAge)
23 {
24     unsigned int* nCount = (unsigned int*)malloc(sizeof(unsigned int)*nMaxAge);
25     //vector<unsigned int> nCount(nMaxAge, 0);
26     memset(nCount, 0sizeof(unsigned int)*nMaxAge); //assign 0 to the array nCount
27     vector<StudentInfo>::const_iterator iter = vec.begin();
28     
29     //count the number of each age
30     for (; iter != vec.end(); ++iter) //鐢╢or_each璇曚竴涓?/span>
31     {
32         ++nCount[iter->age];
33     }
34 
35     //紜畾鏈夊灝戜釜鏁版嵁鍦ㄥ綋鍓嶅厓绱犵殑鍓嶉潰
36     for (int i = 1; i < nMaxAge; ++i)
37     {
38         nCount[i] += nCount[i-1];
39     }
40 
41     vector<StudentInfo> StudentSorted;
42     StudentSorted.reserve(vec.size()); //浣跨敤reserve棰勫垎閰嶇┖闂達紝榪欎簺絀洪棿鏄惁鏈夊垵濮嬪煎憿錛?/span>
43     StudentSorted.resize(vec.size());
44     for (int i = 0; i < vec.size(); ++ i)
45     {
46         int index = --nCount[vec[i].age];
47          StudentSorted[index] = vec[i];
48     }
49 
50     //灝哠tudentSorted鏁版嵁澶嶅埗鍒皏ec涓?/span>
51     vec.swap(StudentSorted);
52     //for_each(vec.begin(), vec.end(), student);
53     free(nCount);
54     nCount = NULL;
55 }
56 int main()
57 {
58     vector<StudentInfo> vec;
59     //鍒濆鍖杤ec涓殑鏁版嵁
60     for (int i = 0; i < 20++i)
61     {
62         StudentInfo stuInfo = {i%10"qinlei""CS"};
63         vec.push_back(stuInfo);
64     }
65 
66     //寮濮嬫帓搴?/span>
67     Countsort(vec, 20);
68     //鎵撳嵃鎺掑簭鍚庣殑緇撴灉
69     for_each(vec.begin(), vec.end(), student);
70     return 0;
71 }


]]>
c++瀵硅薄鍐呭瓨甯冨眬http://m.shnenglu.com/aa19870406/archive/2011/06/01/147889.htmlMrRightLeftMrRightLeftWed, 01 Jun 2011 11:34:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/06/01/147889.htmlhttp://m.shnenglu.com/aa19870406/comments/147889.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/06/01/147889.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/147889.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/147889.html 鍏堢粰鍑轟竴涓被錛屽涓嬶細
 1 class A
 2 {
 3 public:
 4     A()
 5     {
 6         cout << "A" << endl;
 7     }
 8     virtual ~A()
 9     {
10         cout << "~A" << endl;
11     }
12     virtual void printA()
13     {
14         cout << "printA" << endl;
15     }
16 private:
17 
18     int a;
19     char c;
20     char e;
21     double b;
22     static double d;        
23 };
24 
25 int main()
26 {
27 
28     A a;
29     cout << sizeof(a) << endl; //杈撳嚭鏄?4
30     return 0;
31 }

浠ヤ笂浠g爜杈撳嚭鏄細24銆備篃灝辨槸璇村璞鍗犵敤鍐呭瓨絀洪棿澶у皬鏄?4瀛楄妭錛岃繖涓?4瀛楄妭鏄庝箞寰楁潵鐨勫憿錛熸垜浠敞鎰忓埌鍦ㄧ被A涓瓨鍦ㄨ櫄鍑芥暟錛岃屽彧鏈夌被涓湁铏氬嚱鏁板瓨鍦紝鍒欏彲浠ョ煡閬擄紝鍦ㄦ瘡涓被瀵硅薄鍗犵敤鍐呭瓨絀洪棿鐨勯閮ㄩ兘浼氭湁涓涓櫄鍑芥暟琛紝榪欎釜铏氬嚱鏁拌〃鍙互鐪嬫垚鏄竴涓寚閽堟暟緇勶紝鍦ㄥ璞涓櫄鍑芥暟琛ㄤ腑鎬誨叡鏈?欏癸紝鍥犱負綾籄涓瓨鍦ㄤ袱涓櫄鍑芥暟錛屾瘡涓櫄鍑芥暟閮藉湪铏氬嚱鏁拌〃涓湁涓涓」瀵瑰簲銆傜幇鍦ㄦ垜浠煡閬撹櫄鍑芥暟琛ㄦ槸2涓寚閽堢殑鍐呭瓨澶у皬錛屾墍浠ユ槸2*4=8瀛楄妭銆傜劧鍚巃,c,e鎬誨叡鍗犵敤4+1+1=6瀛楄妭錛岀敱浜庨渶瑕佽繘琛屽唴瀛樺榻愶紝鎵浠ュ疄闄呬笂瀹冨崰鐢ㄧ殑澶у皬鏄?瀛楄妭錛堝嵆綾誨璞′腑鐨勫唴瀛樻寜鐓у崰鐢ㄥ唴瀛樼┖闂存渶澶х殑鍙橀噺鏉ュ榻愶紝static鍙橀噺涓嶈冭檻鍦ㄥ唴錛夈傜劧鍚庢槸b鍗犵敤8瀛楄妭錛宻tatic鍙橀噺d涓嶅崰鐢ㄧ┖闂達紝緇間笂瀵硅薄a鍗犵敤絀洪棿澶у皬涓?錛堣櫄鍑芥暟琛級+8錛坅,c,e)+8(b)=24瀛楄妭銆傚叿浣撳彲浠ュ湪vs涓嬭皟璇曪紝鏌ョ湅a鐨勫湴鍧銆?br />
鐢變簬瑕佽冭檻鍒板唴瀛樺榻愶紝鎵浠ャ傘備粖澶╂湁浜嬶紝浠ュ悗寰呯畫


]]>
寮婧愪簯璁$畻鎶鏈郴鍒楋紙浜旓級錛堝礇璧風殑榛戦┈Sector/Sphere 瀹炴垬綃?(杞?http://m.shnenglu.com/aa19870406/archive/2011/05/30/147721.htmlMrRightLeftMrRightLeftMon, 30 May 2011 14:46:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/05/30/147721.htmlhttp://m.shnenglu.com/aa19870406/comments/147721.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/05/30/147721.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/147721.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/147721.html



]]>
STL涔媔terator_traitshttp://m.shnenglu.com/aa19870406/archive/2011/05/30/147687.htmlMrRightLeftMrRightLeftMon, 30 May 2011 04:01:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/05/30/147687.htmlhttp://m.shnenglu.com/aa19870406/comments/147687.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/05/30/147687.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/147687.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/147687.html2.鏁版嵁緇撴瀯鍜岀畻娉曠殑鍒嗙
3.STL宸﹂棴鍙沖紑鍖洪棿
4.http://www.cnblogs.com/jeedispeed/articles/1192614.html

]]>
鍑忓皯緙栬瘧渚濊禆http://m.shnenglu.com/aa19870406/archive/2011/05/27/147409.htmlMrRightLeftMrRightLeftFri, 27 May 2011 13:43:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/05/27/147409.htmlhttp://m.shnenglu.com/aa19870406/comments/147409.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/05/27/147409.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/147409.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/147409.html  PImpl鎵嬫硶錛岄殣钘忓疄鐜扮粏鑺傘備嬌鐢ㄦ寚閽堜唬鏇垮彉閲忓畾涔変綋銆?br />
2.interface class
  浣跨敤abstract class,綰櫄鍑芥暟錛坧ure function)錛屽鎬佹満鍒躲傜敤鐖剁被鐨勬帴鍙h皟鐢ㄥ叿浣撳瓙綾誨璞$殑瀹炵幇銆?br />
3.澶存枃浠朵腑鍙兘鏈夊0鏄庝綋錛屽疄鐜伴儴鍒嗘斁鍒板彟涓鏂囦歡涓傚疄鐜頒笌澹版槑鍒嗗紑-鎺ュ彛涓庡疄鐜板垎紱匯?br />  


]]>
鏈夊叧char鎸囬拡鐨勬枃绔犱竴綃?/title><link>http://m.shnenglu.com/aa19870406/archive/2011/05/03/145535.html</link><dc:creator>MrRightLeft</dc:creator><author>MrRightLeft</author><pubDate>Tue, 03 May 2011 02:50:00 GMT</pubDate><guid>http://m.shnenglu.com/aa19870406/archive/2011/05/03/145535.html</guid><wfw:comment>http://m.shnenglu.com/aa19870406/comments/145535.html</wfw:comment><comments>http://m.shnenglu.com/aa19870406/archive/2011/05/03/145535.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/aa19870406/comments/commentRss/145535.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/aa19870406/services/trackbacks/145535.html</trackback:ping><description><![CDATA[<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><span style="LINE-HEIGHT: 18px; BORDER-COLLAPSE: collapse" class=Apple-style-span> <table style="BORDER-COLLAPSE: collapse; TABLE-LAYOUT: fixed" border=0 cellSpacing=0 cellPadding=0 width="100%"> <tbody> <tr> <td style="LINE-HEIGHT: 27px; COLOR: rgb(0,0,0); FONT-SIZE: 18px; FONT-WEIGHT: bold" class=article_title height=30 align=middle><strong>[鏂囩珷] 鏈夊叧char鎸囬拡鐨勬枃绔犱竴綃?/strong></td> </tr> <tr> <td style="LINE-HEIGHT: 18px; FONT-SIZE: 9pt" bgColor=#888888 height=1 width="100%" align=middle></td> </tr> <tr> <td style="LINE-HEIGHT: 18px; FONT-SIZE: 9pt" height=2 width="100%"></td> </tr> <tr> <td style="LINE-HEIGHT: 18px; FONT-SIZE: 9pt" height=38 width="100%"> <p align=center><strong>浣滆?/strong>錛氭湭鐭?span class=Apple-converted-space> </span><strong>鏉ユ簮</strong>錛氭湀鍏夎蔣浠剁珯<span id="hvzpftn" class=Apple-converted-space> </span><strong>鍔犲叆鏃墮棿</strong>錛?005-2-28銆鏈堝厜杞歡绔?/p> </td> </tr> <tr> <td style="LINE-HEIGHT: 18px; FONT-SIZE: 9pt" vAlign=top width="100%"><font size=2 face=Tahoma><strong>[鏂囩珷] 鏈夊叧char鎸囬拡鐨勬枃绔犱竴綃囷紙杞嚜:</strong><a ><u><font color=#0066cc face=瀹嬩綋>http://www.moon-soft.com/doc/9040.htm</font></u></a>)<br></font> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">鍏堢湅浠ヤ笅浠g爜:<span id="hvzpftn" class=Apple-converted-space> </span><br>char *p;<span id="hvzpftn" class=Apple-converted-space> </span><br>p="abc";<span id="hvzpftn" class=Apple-converted-space> </span><br>浣犺涓烘槸瀵圭殑鍚?<span id="hvzpftn" class=Apple-converted-space> </span><br><br>絳旀錛氳娉曚笂鏄鐨勶紝浣嗕笉鎻愬¤繖縐嶅啓娉曘?span class=Apple-converted-space> </span><br><br>璇尯1錛氭病鏈夌粰p鍒嗛厤鍐呭瓨絀洪棿灝辮祴鍊鹼紝鎬庝箞浼氭槸瀵圭殑鍛紵<span id="hvzpftn" class=Apple-converted-space> </span><br>姝hВ錛氫笉灝戜漢絎竴鐪煎皢榪欓噷鐨刾="abc"鐪嬫垚浜?p="abc"錛岀劧鍚庡氨鍋氬嚭浜嗕互涓婄殑璁烘柇銆傝繖鏄瘮杈冪絎ㄧ殑閿欒鍜細錛?span class=Apple-converted-space> </span><br>鐪嬫竻妤氬氨濂藉暒錛屽叾瀹炶祴緇檖鐨勬槸"abc"鐨勫湴鍧銆傚啀璇達紝*p="abc"涔熶笉瀵瑰憖錛屽瓧絎︿覆鍙笉鑳借繖涔堣祴鍊箋?span class=Apple-converted-space> </span><br><br>璇尯2錛氳繖"abcd"鍝潵鐨勫湴鍧,鎬庝箞鑳界洿鎺ヨ祴緇檖鍛?<span id="hvzpftn" class=Apple-converted-space> </span><br>姝hВ錛氬厛鑷繁璇曡瘯鍚с傚湪2K/XP + VC涓嬭繍琛岃繖孌典唬鐮侊紝鏄笉浼氬嚭閿欑殑錛岃鏄庤繖孌典唬鐮佸茍鏃犻棶棰樸傛檿鍚э紵鐚滄兂鐨勮瘽鍛紝灝辨槸"abcd"涓嶇煡閬撹鏀懼湪浜嗕粈涔堝湴鏂癸紝鐒跺悗寮勬潵浜嗕竴涓湴鍧錛岀粰浜唒銆?span class=Apple-converted-space> </span><br><br>榪欏埌搴曟槸鎬庝箞鍥炰簨鍛紵<span id="hvzpftn" class=Apple-converted-space> </span><br><br>瑕佺煡閬擄紝榪欎袱涓鍙ュ拰char *p="abc"鏄畬鍏ㄤ竴鏍風殑錛屾墍浠ュ叾涓殑閬撶悊涔熶竴鏍楓?span class=Apple-converted-space> </span><br>char *p="abc"鏇劇粡榪鋒儜浜嗕笉灝戜漢鍛銆傞棶闂綘錛歱鍒板簳鏄粈涔堢被鍨嬬殑錛焎har *錛熼敊錛屾槸const char *錛?span class=Apple-converted-space> </span><br>涔熷氨鏄錛屽畠鎵鎸囧悜鐨勫唴瀹規(guī)槸涓嶅彲鏀瑰彉鐨勩備笉榪囪琛ュ厖鐨勬槸錛宎鐨勬寚鍚戞槸鍙互鏀瑰彉鐨勩?span class=Apple-converted-space> </span><br>鎵浠ヤ負浜嗕笉鍐嶅紩璧瘋浼氾紝char *p="abc榪欑鍐欐硶鏄笉鎻愬$殑銆?span class=Apple-converted-space> </span><br>鏃㈢劧char *p="abcd"琚緩璁啓鎴恈onst char *p="abcd"錛岄偅涔坈har *p; p="abcd";涔熷簲璇ュ啓鎴恈onst char *p; p="abcd";<span id="hvzpftn" class=Apple-converted-space> </span><br><br>璁叉潵璁插幓錛屾渶鍚庢潵寰楃湅鐪嬫眹緙栦唬鐮併傜湅瀹屽氨鏄庣櫧鏄庝箞鍥炰簨浜嗐傦紙鎴戞墠鍙戠幇姹囩紪浠g爜鍘熸潵榪欎箞鐖界湅錛乂C涓嬶紝娌″紑緙栬瘧鍣ㄤ紭鍖栵級錛?span class=Apple-converted-space> </span><br>鎴戜滑閲嶇偣鍏堢湅const char *p="abc"鍜宑har p[]="abc"鏈変粈涔堜笉鍚岋紙閮芥斁鍦╩ain()涓0鏄庯級錛?span class=Apple-converted-space> </span><br></font></p> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br>void main</font><font color=#007700>() <br>{ <br>  const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p</font><font color=#007700>=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br>} <br> <br></font><font color=#0000bb>3</font><font color=#007700>:        const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p</font><font color=#007700>=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br></font><font color=#0000bb>00401028   mov         dword ptr </font><font color=#007700>[</font><font color=#0000bb>ebp</font><font color=#007700>-</font><font color=#0000bb>4</font><font color=#007700>],</font><font color=#0000bb>offset string </font><font color=#dd0000>"abc" </font><font color=#007700>(</font><font color=#0000bb>0041f01c</font><font color=#007700>) <br> <br></font><font color=#0000bb>void main</font><font color=#007700>() <br>{ <br>  </font><font color=#0000bb>char p</font><font color=#007700>[]=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br>} <br> <br></font><font color=#0000bb>3</font><font color=#007700>:        </font><font color=#0000bb>char p</font><font color=#007700>[]=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br></font><font color=#0000bb>00401028   mov         eax</font><font color=#007700>,[</font><font color=#0000bb>string </font><font color=#dd0000>"abc" </font><font color=#007700>(</font><font color=#0000bb>0041f01c</font><font color=#007700>)] <br></font><font color=#0000bb>0040102D   mov         dword ptr </font><font color=#007700>[</font><font color=#0000bb>ebp</font><font color=#007700>-</font><font color=#0000bb>4</font><font color=#007700>],</font><font color=#0000bb>eax<br></font> </font> </code><hr></pre> </blockquote><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br>鐪嬪嚭宸埆浜嗗悧錛熶笂涓孌礎SM鐢╫ffset鍙?abc"鐨勫湴鍧錛岀劧鍚庤祴緇橻ebp-4]錛屼篃灝辨槸p錛堜笅鍚岋級銆?span class=Apple-converted-space> </span><br>鑰屼笅涓孌礎SM鍗磋漿浜嗕竴涓集錛屽厛鎶?abc"鐨勫湴鍧杞埌瀵勫瓨鍣╡ax錛岀劧鍚庡啀杞祴緇檖銆?span class=Apple-converted-space> </span><br><br>鏈夌枒闂簡錛氫負浠涔堜笉鍜屼笂闈㈢殑涓鏍鳳紝鐩存帴鐢╫ffset錛烿C鏄緢鑱槑鐨勶紙搴熻瘽錛孧$鐨勪笢瑗垮憖錛夛紝涓嶇敤offset錛屾亹鎬曞氨鏄敤涓嶄簡浜嗐?span class=Apple-converted-space> </span><br>offset鏄竴鏉′吉鎸囦護錛屽湪緙栬瘧鐨勬椂鍊欏氨宸茬粡鎶婂亸縐婚噺綆楀ソ浜嗐俹ffset鏄棤娉曟墽琛岄棿鎺ュ鍧鐨勮綆楃殑銆?span class=Apple-converted-space> </span><br><br>璇存槑浜嗕粈涔堬紵<span id="hvzpftn" class=Apple-converted-space> </span><br><br>const char *p="abc"涓殑"abc"錛屽湪緙栬瘧鏈熼棿灝卞凡緇忓鐞嗗ソ錛岃浜嗕竴鍧楀唴瀛橈紝瀛樿搗鏉ヤ簡錛佸湪鎶婂湴鍧璧嬬粰p鐨勬椂鍊欙紝灝卞彲浠ョ洿鎺ョ敤offset璁$畻銆?span class=Apple-converted-space> </span><br>鑰宑har p[]="abc"涓殑"abc"錛屾槸鍦ㄨ繍琛屾湡闂村姩鎬佸垎閰嶅唴瀛樼粰"abc"錛岀劧鍚庡啀綆楀嚭鍦板潃錛岃祴緇檖銆俬ehe錛岃繖鍚屾椂涔熻鏄庝簡鏁扮粍鍜屾寚閽堢殑絳変環(huán)鎬с?span class=Apple-converted-space> </span><br><br>鎴戜滑鍐嶅仛涓嬈″疄楠岋紝榪欎竴嬈℃垜浠妸char p[]="abc"鏀懼湪main()澶栵紝騫跺湪main()鍐呯敤涓涓寚閽堝啀鎸囧悜p鐪嬬湅銆?span class=Apple-converted-space> </span><br></font> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br>char p</font><font color=#007700>[]=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br> <br></font><font color=#0000bb>void main</font><font color=#007700>() <br>{ <br>  </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>t</font><font color=#007700>=</font><font color=#0000bb>p</font><font color=#007700>; <br>} <br> <br></font><font color=#0000bb>5</font><font color=#007700>:      </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>t</font><font color=#007700>=</font><font color=#0000bb>p</font><font color=#007700>; <br></font><font color=#0000bb>00401028   mov         dword ptr </font><font color=#007700>[</font><font color=#0000bb>ebp</font><font color=#007700>-</font><font color=#0000bb>4</font><font color=#007700>],</font><font color=#0000bb>offset p </font><font color=#007700>(</font><font color=#0000bb>00421adc</font><font color=#007700>)<br></font><font color=#0000bb></font> </font> </code><hr></pre> </blockquote><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br>榪欏洖p[]鐨勫0鏄庢斁鍦╩ain()澶栵紝鍙樻垚浜嗗叏灞鍙橀噺銆傜粨鏋渕ain()鍐呯殑t鍙杙鐨勬寚閽堢殑鏃跺欙紝鐩存帴鐢╫ffset鍙互璁$畻鍑烘潵銆?span class=Apple-converted-space> </span><br><br>鎹皬鐭沖ご鎵璇達紝瀛楅潰鍊鹼紝const錛宻tatic錛宨nline錛屽叏灞鍙橀噺閮芥槸鏀懼湪闈欐佹暟鎹尯鐨勩傦紙浣嗘垜鎰熻浼間箮涓嶆槸濡傛錛屽彧鏄叏灞鍙橀噺鍜屽瓧絎︿覆鍦ㄧ紪璇戞椂灝卞鐞嗗ソ鏀懼湪涓璧鳳級<span id="hvzpftn" class=Apple-converted-space> </span><br><br>涓嶉毦鍙戠幇錛宲[]琚0鏄庢垚鍏ㄥ眬鍙橀噺鍚庯紝灝卞彲浠ョ洿鎺ョ敤offset璁$畻鍦板潃錛岃鏄庨潤鎬佹暟鎹尯鏄紪璇戞椂灝卞凡緇忓鐞嗗ソ鐨勩?br>鍐嶅鐓onst char *p="abc"鐨凙SM錛屾垜浠┈涓婃兂鍒幫細"abc"灝辨槸琚獵/C++瀛樺湪闈欐佹暟鎹尯涓殑錛佸畠鐨勫湴鍧灝辨槸"abc"鍦ㄩ潤鎬佹暟鎹尯鐨勫湴鍧錛?span class=Apple-converted-space> </span><br><br>寮勬竻浜嗚繖涓紝鏈変簺闂涔熷氨鍙互鎯沖緱閫氫簡銆備笅闈㈣繖縐嶇敤娉曪紝鐪嬫潵涓嶈兘璇存槸閿欒鐨勪簡錛屽洜涓?abc"鏄湪闈欐佹暟鎹尯鐨勶紝鐢熷瓨鏈熷彲浠ヨ鏄暣涓▼搴忥細<span id="hvzpftn" class=Apple-converted-space> </span><br></font> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br></font><font color=#ff8000>#include "stdio.h" <br> <br></font><font color=#007700>const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>fun</font><font color=#007700>() <br>{ <br>  const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p</font><font color=#007700>=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br>  return </font><font color=#0000bb>p</font><font color=#007700>; <br>} <br> <br></font><font color=#0000bb>void main</font><font color=#007700>() <br>{ <br>  const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>t</font><font color=#007700>=</font><font color=#0000bb>fun</font><font color=#007700>(); <br>  </font><font color=#0000bb>printf </font><font color=#007700>(</font><font color=#dd0000>"%s"</font><font color=#007700>,</font><font color=#0000bb>t</font><font color=#007700>); <br>}<br></font><font color=#0000bb></font> </font> </code><hr></pre> </blockquote><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br><br>鐪婣SM錛?span class=Apple-converted-space> </span><br></font> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br>5</font><font color=#007700>:      const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p</font><font color=#007700>=</font><font color=#dd0000>"abc"</font><font color=#007700>; <br></font><font color=#0000bb>00401038   mov         dword ptr </font><font color=#007700>[</font><font color=#0000bb>ebp</font><font color=#007700>-</font><font color=#0000bb>4</font><font color=#007700>],</font><font color=#0000bb>offset string </font><font color=#dd0000>"%d" </font><font color=#007700>(</font><font color=#0000bb>0042001c</font><font color=#007700>)<br></font><font color=#0000bb></font> </font> </code><hr></pre> </blockquote><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br>涓鏍蜂篃鏄嬌鐢╫ffset璁$畻鍦板潃銆?span class=Apple-converted-space> </span><br><br>C/C++緇欏瓧絎︿覆鐨勫緟閬囩湡鏄お濂戒簡銆備負浜嗕竴涓瓧絎︿覆錛屽嚑涔庡彲浠ユ墦鐮存墍鏈夌殑鎸囬拡瑙勫垯銆傛檿锝烇綖锝烇綖錛堝畬錛?span class=Apple-converted-space> </span><br><br>闄勶細絎竴嬈″啓榪欎箞闀跨殑鏂囩珷錛屽啓寰楁尯鏅曠殑銆傛湰鏉ユ垜鐨凜/C++涔熶笉鏄緢綰啛鐨勶紝ASM涔熸槸涓鐭ュ崐瑙o紝浠婂ぉ鍦–SDN涓婁負榪欎釜闂閮侀椃浜嗗崐澶╋紝鍜屽嚑涓漢璁ㄨ浜嗕竴涓嬶紝鏈鍚庡氨鍐欎簡榪欎箞涓綃囨枃绔犮傚笇鏈涘ぇ瀹惰祻鑴哥湅鐪嬶綖锝烇綖鏈夐敊涓瀹氳鎸囨鍟婏紒鏈鍚庣壒鍒劅璋㈠皬鐭沖ご錛堟兂椋炵殑鑿滈笩錛岄獎鍌茬殑鐭沖ご錛岃彍鑿滐紝閮芥槸浠栧挴錛夛紝榪樻湁灝忛樋鍝ワ紙灝辨槸Kingzeus鍜級鐨勫府蹇欙綖锝烇綖锝烇綖锝炶阿璋㈠挴锝烇綖锝烇綖锝烇綖</font> <p> </p> <p> </p> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">__________________<br>灝忚彍铏?-> 鑿滆彍鐨勮佽檸</font></p> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><strong>楠勫偛鐨勭煶澶村洖澶嶏細</strong></font></p> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">鍫嗗嚑鐩樼Н鏈紝蹇冩儏濂戒簺浜嗭紝鎵浠ュ啀閲嶆柊鍐欎竴閬嶃?span class=Apple-converted-space> </span><br>鍏充簬瀛楃涓茬殑榪欎釜闂錛屾垜涓鐩村湪蹇冮噷鍥版儜鐫銆傛墍浠ュ憿錛屾槰澶╁氨鐪嬩簡涓涓嬨?span class=Apple-converted-space> </span><br>浠ュ墠鍥炵瓟鍒漢鐨勬椂鍊欙紝鎬繪槸寰堢畝鍗曠殑鍥炵瓟錛屽瓧絎︿覆灝辨槸const char *鎸囬拡錛屾寚鍚戝畠鐨勫叆鍙e湴鍧銆傜幇鍦ㄦ兂鏉ョ湡鏄儹鎰э紝铏界劧榪欎釜浜嬪疄濂借薄宸茬粡涓哄ぇ瀹舵墍鎺ュ彈錛岀敋鑷蟲病鏈変漢鎺㈣榪囪繖涓棶棰橈紒鎵浠ユ垜鐩鎬俊鎴戠殑鍙戠幇瀵瑰ぇ瀹跺ぇ澶氭暟鏄湁濂藉鐨勩?span class=Apple-converted-space> </span><br>棣栧厛璇風湅浠ヤ笅浠g爜<span id="hvzpftn" class=Apple-converted-space> </span><br></font></p> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br></font><font color=#ff8000>#include <iostream> <br>#include <iomanip> <br> <br></font><font color=#0000bb>using namespace std</font><font color=#007700>; <br> <br></font><font color=#0000bb>int main</font><font color=#007700>() <br>{ <br>    const </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p </font><font color=#007700>= </font><font color=#0000bb>0</font><font color=#007700>; <br>    </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p2 </font><font color=#007700>= </font><font color=#0000bb>p</font><font color=#007700>; <br>    return </font><font color=#0000bb>0</font><font color=#007700>; <br>}<br></font><font color=#0000bb></font> </font> </code><hr></pre> </blockquote> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br><br>浠ヤ笂浠g爜鏈夐棶棰樺悧錛?濡傛灉浣犺娌℃湁錛岃浣犺瘯涓涓嬨傚緢鏄庢樉錛岃繖鏄湁闂鐨勩俢onst鏄負浜嗕繚璇佷笉鍙樻э紝鑰屼綘鎶婁粬鍙樻垚non const錛岃偗瀹氭湁閿欒鎴栬呰鍛婏紝瑕佷箞灝辮鐢╟onst_cast杞崲銆?span class=Apple-converted-space> </span><br>鎵浠ヤ笂闈㈢殑浠g爜涓嶈兘閫氳繃緙栬瘧銆?span class=Apple-converted-space> </span><br><br>閭d箞榪欏氨寰堟槑鏄劇殑鍦╨ee鐨刾ost閲屽嚭鐜頒簡闂錛屽綋鐒舵垜浠ュ墠涔熶竴鐩存槸榪欎箞璁や負錛岀敋鑷沖緢澶氫漢閮芥槸榪欎箞璁や負銆傞毦閬撹繖鏄紪璇戝櫒瀵瑰瓧絎︿覆鐨勭壒孌婂鐞嗗悧錛?榪樻槸鍏朵粬鐨勫師鍥狅紵<span id="hvzpftn" class=Apple-converted-space> </span><br><br>浜庢槸鎴戞兂鐪嬬湅絀剁珶銆傚氨鍔ㄧ敤浜哛TTI錛屾垜椋炲揩鐨勯敭鍏ヤ簡浠ヤ笅浠g爜銆?span class=Apple-converted-space> </span><br></font></p> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br></font><font color=#ff8000>#include <iostream> <br>#include <iomanip> <br> <br></font><font color=#0000bb>using namespace std</font><font color=#007700>; <br> <br></font><font color=#0000bb>int main</font><font color=#007700>() <br>{ <br>   </font><font color=#0000bb>cout </font><font color=#007700><< </font><font color=#0000bb>typeid</font><font color=#007700>(</font><font color=#dd0000>"abc"</font><font color=#007700>).</font><font color=#0000bb>name</font><font color=#007700>() << </font><font color=#0000bb>endl</font><font color=#007700>; <br>   return </font><font color=#0000bb>0</font><font color=#007700>; <br>}<br></font><font color=#0000bb></font> </font> </code><hr></pre> </blockquote> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br><br>浣犺緇撴灉鏄粈涔堬紵<span id="hvzpftn" class=Apple-converted-space> </span><br>鏄痗har [4]錛佽屼笉鏄痗onst char *;<span id="hvzpftn" class=Apple-converted-space> </span><br>濂斤紝榪欎釜緇撴灉瑙e喅浜嗘垜蹇冧腑鐨勭枒鐐癸紝鍘熸潵鏄繖鏍鳳紒榪欏彲浠ュ緢綆鍗曠殑瑙i噴char *p = "abc"榪欎釜闂銆?鏁扮粍鏄竴涓猚har *const 鎸囬拡錛屽綋鐒跺彲浠ヨ祴緇檆har *鎸囬拡鑰屼笉浼氬獎鍝嶅叾甯擱噺鎬с傛墍浠ヨ繖鏄畬鍏ㄦ紜殑璧嬪箋?span class=Apple-converted-space> </span><br>鍏跺疄榪欐兂璧鋒潵涔熷緢騫沖父錛屾寚閽堟槸娌℃湁鍒嗛厤絀洪棿鐨勫湴鍧鑰屽凡錛岃屾暟緇勬槸涓縐嶅鍣紝鍗犵敤榪炵畫鐨勫偍瀛樼┖闂淬傛兂鎯沖瓧絎︿覆灝辮鐭ラ亾瀹冩槸涓涓暟緇勶紒鑰屼笉鏄寚閽堬紒鐪熸鎰忎箟涓婄殑鎸囬拡鍙兘鏄湴鍧錛岃屽畠鍦ㄥ垎閰嶄簡榪炵畫鐨勭┖闂村悗鍙互浣滀負鏁扮粍鏉ヤ嬌鐢紝榪欐槸鐢變簬浠栦滑鐨勫叡鎬ц屽喅瀹氱殑銆?span class=Apple-converted-space> </span><br><br>鍝堝搱錛佸績鎯呮剦蹇紝鎵浠ヤ篃鎺ョ潃鐪嬩簡涓媗ee涓婇潰鎵鍋氱殑鎺㈣銆傚瓧絎︿覆鏄斁鍦ㄩ潤鎬佸偍瀛樺尯娌¢敊錛屾鏃犵枒闂傝嚦浜庝綅緗畘 鍋朵笉鎯沖璇達紝lee鍦ㄤ笂闈㈠垎鏋愪簡寰堝銆傛墍浠ユ垜鍙瀹冭繘琛屼簡涓涓嬬畝鍗曠殑嫻嬭瘯銆?span class=Apple-converted-space> </span><br>鎴戞墜澶翠笂鍙湁dev c++ 鍜?vc70緙栬瘧鍣紝鎵浠ュ氨鍙敤浠栦滑榪涜浜嗘祴璇曘傦紙鎵撳紑浜嗗叏閮ㄤ紭鍖栵級<span id="hvzpftn" class=Apple-converted-space> </span><br></font></p> <blockquote> <pre><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">PHP婧愮爜:</font><hr><code><font color=#000000> <font color=#0000bb><br></font><font color=#ff8000>#include <iostream> <br>#include <iomanip> <br> <br></font><font color=#0000bb>using namespace std</font><font color=#007700>; <br> <br></font><font color=#0000bb>int main</font><font color=#007700>() <br>{ <br>    </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p </font><font color=#007700>= </font><font color=#dd0000>"abc" <br>    </font><font color=#0000bb>char </font><font color=#007700>*</font><font color=#0000bb>p2 </font><font color=#007700>= </font><font color=#dd0000>"abc"</font><font color=#007700>; <br>    </font><font color=#0000bb>p</font><font color=#007700>[</font><font color=#0000bb>1</font><font color=#007700>] = </font><font color=#dd0000>'k'</font><font color=#007700>; <br>    </font><font color=#0000bb>p2</font><font color=#007700>[</font><font color=#0000bb>1</font><font color=#007700>] = </font><font color=#dd0000>'j' <br>    </font><font color=#0000bb>cout </font><font color=#007700><< </font><font color=#0000bb>p1 </font><font color=#007700><< </font><font color=#0000bb>endl</font><font color=#007700>; <br>    </font><font color=#0000bb>cout </font><font color=#007700><< </font><font color=#0000bb>p2 </font><font color=#007700><< </font><font color=#0000bb>endl</font><font color=#007700>; <br>    return </font><font color=#0000bb>0</font><font color=#007700>; <br>}<br></font><font color=#0000bb></font> </font> </code><hr></pre> </blockquote> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px"><br><br>緇撴灉鍛紵鍦╠ev c++涓嬫姤閿欙紝 鍘熷洜鎴戞兂鍙兘鏄洜涓哄湪dev c++鍦ㄥ闈欐佸偍瀛樺尯榪涜浜嗕繚鎶ゃ傝寁c70涓嬶紝閫氳繃錛屽茍涓斾袱涓緭鍑烘槸涓嶅悓鐨勩傛墍浠ュ伓鍘葷湅vc70浜х敓鐨刴sil鐮侊紝鍘熸潵vc70姣忔澶勭悊瀛楃涓查兘鍦ㄩ潤鎬佸尯鍒嗛厤浜嗙┖闂達紝鑰屼笖榪欎袱涓?abc"鏄繛緇垎閰嶇殑錛佽繖閲屽氨娌℃湁鍑虹幇Solmyr璇寸殑閭g鎯呭喌銆傛垜鎯充竴鑸瘮杈冨ソ鐨勭紪璇戝櫒涔熷簲璇ヨ繖涔堣銆傝嚦浜巚c60,鍋舵病鏈夋祴璇曪紝浣嗘槸鍙兘Solmyr璇寸殑鎯呭喌浼氬嚭鐜板惂銆備絾榪欐牱鏄笉濂界殑錛岀浉淇¤繖鏍蜂細鍑虹幇寰堝寰鐨勬儏鍐點?span class=Apple-converted-space> </span><br>鎵浠ワ紝寮曠敤瀛楃涓茬殑鏈浣蟲牸寮忔槸const char *鎸囬拡錛屼絾char *鎸囬拡鏄畬鍏ㄦ病閿欑殑銆備簬鎯呬簬鐞嗭紝涔熻鐨勮繃鍘誨惂<img border=0 alt="" src="http://cpp.chinaccd.net/bbs/images/smilies/biggrin.gif"><span id="hvzpftn" class=Apple-converted-space> </span>銆?span class=Apple-converted-space> </span><br><br>濡傛灉浣犺繕瑕侀棶錛岄偅鐢ㄦ寚閽堟帴鍙楁暟緇勫憿錛?鍛靛懙錛屼綘璇ヤ粩緇嗙湅鐪嬪墠闈簡銆傜浉淇¤繖浼氱粰浣犲府鍔┿?/font></p> <p> </p> <p> </p> <p><font style="FONT-FAMILY: 'MS Shell Dlg', Tahoma, sans-serif, 瀹嬩綋; FONT-SIZE: 12px">__________________<br><font color=blue>涓嶅彲涓鏃ユ棤閰掓棤鑲夋棤濂充漢</font></font></p> <img border=0 src="http://www.moon-soft.com/doc/down_info.asp?id=9040" width=1 height=1></td> </tr> </tbody> </table> </span></span> <img src ="http://m.shnenglu.com/aa19870406/aggbug/145535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/aa19870406/" target="_blank">MrRightLeft</a> 2011-05-03 10:50 <a href="http://m.shnenglu.com/aa19870406/archive/2011/05/03/145535.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>綾諱腑鎴愬憳鍙橀噺鍜屾垚鍛樺嚱鏁板湪鍐呭瓨涓殑鍦板潃http://m.shnenglu.com/aa19870406/archive/2011/03/25/142735.htmlMrRightLeftMrRightLeftFri, 25 Mar 2011 11:57:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/03/25/142735.htmlhttp://m.shnenglu.com/aa19870406/comments/142735.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/03/25/142735.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/142735.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/142735.html#include <iostream>
using namespace std;

class Test
{
public:
 int a;
 int b;
 void print();
 void s();
 void ss();
 void fs();
};
void Test::print()
{
 //cout << "hello" << endl;
}

void Test::s()
{

}

void Test::ss()
{

}
void Test::fs()
{

}


void f()
{
 int s = 3;
 cout << "&s" << &s << endl;
 cout << "f" << endl;
}

class B:Test
{

};

int main()
{
 Test t;
 cout << sizeof(t) << endl;
 cout << &t.a << endl;
 cout << &t.b << endl;
 Test tt;
 cout << &tt.a << endl;
 cout << &tt.b << endl;
 typedef void (Test::*p)(void);
 ////Test t;
 ////t.print();
 p fun = &Test::print;
 printf("%p\n",fun);
 fun = &Test::s;
 printf("%p\n",fun);

 fun = &Test::ss;
 printf("%p\n",fun);
 fun = &Test::fs;
 printf("%p\n",fun);
 f();
 cout << "--------" << endl;
 B b;
 cout << sizeof(b) << endl;
 ////((Test::*print)fun)();
 //Test *p4;
 //fun(p4);
 //  Test t;
 //  (t.*fun)();
 //  Test d;
 //  (d.*fun)();
}


綾葷殑鎴愬憳鍑芥暟涓嶆槸鍦ㄧ被瀹炰緥鍖栫殑鏃跺欒澆鍏ュ唴瀛樼殑銆傚簲璇ユ槸緙栬瘧閾炬帴鐨勬椂鍊欏氨鍦ㄧ▼搴忔枃浠朵腑紜畾浜嗙浉瀵瑰湴鍧銆傜劧鍚庣▼搴忚澆鍏ョ殑鏃跺欙紝鎵鏈夌殑鍑芥暟閮借澆鍏ュ埌鍐呭瓨鐨勪唬鐮佸尯銆傛墍浠ュ疄渚嬪寲瀵硅薄鐨勬椂鍊欙紝鍙槸鐢寵浜嗗璞$殑鎴愬憳鍙橀噺鐨勫湴鍧錛屾垚鍛樺嚱鏁板浜庢墍鏈夌殑綾誨璞℃潵璇達紝搴旇鍙湁涓浠斤紝鍦ㄤ唬鐮佸尯鍏辯敤銆傝屼笖綾葷殑鎴愬憳鍙橀噺鍜屾垚鍛樺嚱鏁頒笉鏄瓨鏀懼湪涓璧鳳紙鍦板潃涓嶆槸榪炵畫鐨勶紝鏄垎寮瀛樻斁鐨勶級
Test綾諱腑鐨刟,b鍙橀噺鍦板潃鏄繛緇殑錛屾瘡涓崰4瀛楄妭銆備絾鏄痵(),ss(),fs()涓嶆槸鍜宎,b榪炵畫鐨勶紝鑰屼笖錛岃繖浜涘嚱鏁頒箣闂達紝濂藉儚涔熷茍涓嶆槸涓ユ牸榪炵畫鐨勶紝鏀逛竴涓嬪嚱鏁板悕錛屽湴鍧鏈夊彲鑳戒細鍙樺寲



]]>
Singleton鐨勮璁?-緇忓吀http://m.shnenglu.com/aa19870406/archive/2011/03/09/141408.htmlMrRightLeftMrRightLeftWed, 09 Mar 2011 04:36:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/03/09/141408.htmlhttp://m.shnenglu.com/aa19870406/comments/141408.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/03/09/141408.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/141408.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/141408.html杞嚜錛?a >http://www.techmango.com/blog/article/DotNet/Thread_Safe_Singleton_Instance.htm
璁稿鍚屽織閮戒細閲囩敤涓涓猟ouble check鐨勬柟寮忔潵鍒涘緩涓涓猄ingleton錛?/p>

public class Singleton
{
    protected Singleton() { }
    private static volatile Singleton instance = null;
    /// Lazy鏂瑰紡鍒涘緩鍞竴瀹炰緥鐨勮繃紼?br>    public static Singleton Instance()
    {
        if (instance == null)         // 澶栧眰if
            lock (typeof(Singleton))      // 澶氱嚎紼嬩腑鍏變韓璧勬簮鍚屾
                if (instance == null) // 鍐呭眰if
                    instance = new Singleton();
        return instance;
    }
}
 

榪欏簲璇ユ槸姣旇緝緇忓吀鐨勭嚎紼嬪畨鍏ㄧ殑Singleton鍒涘緩鏂瑰紡錛屼絾鏄繕鏄竴涓洿鍔犵畝鍗曚篃寰圕ool鐨勭嚎紼嬪畨鍏ㄧ殑Singleton錛?/p>

class Singleton
{
    private Singleton() { }
    public static readonly Singleton Instance = new Singleton();
}
 

銆銆瀹冪渷鍘諱簡涓婇潰紺轟緥涓偅涓猯aze鏋勯犺繃紼嬶紝鐢變簬Instance鏄被鐨勫叕鍏遍潤鎬佹垚鍛橈紝鍥犳鐩稿綋浜庡畠浼氬湪綾葷涓嬈¤鐢ㄥ埌鐨勬椂鍊欒鏋勯狅紝鍚屾牱鐨勫師鍥犱篃灝卞彲浠ョ渷鍘繪妸瀹冩斁鍦ㄩ潤鎬佹瀯閫犲嚱鏁伴噷鐨勮繃紼嬨?/p>


榪欓噷瀹炰緥鏋勯犲嚱鏁拌褰誨簳瀹氫箟涓虹鏈夌殑錛屾墍浠ュ鎴風▼搴忓拰瀛愮被鏃犳硶棰濆鏋勯犳柊鐨勫疄渚嬶紝鎵鏈夌殑璁塊棶閫氳繃鍏叡闈欐佹垚鍛業(yè)nstance鑾峰緱鍞竴瀹炰緥鐨勫紩鐢紝絎﹀悎Singleton鐨勮璁℃剰鍥俱?/p>

]]>
c++瀛︿範涔?--volatile鍜岀嚎紼嬪畨鍏ㄧ殑singleton妯″紡http://m.shnenglu.com/aa19870406/archive/2011/03/09/141405.htmlMrRightLeftMrRightLeftWed, 09 Mar 2011 03:47:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/03/09/141405.htmlhttp://m.shnenglu.com/aa19870406/comments/141405.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/03/09/141405.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/141405.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/141405.html鍙傝冿細http://www.cnblogs.com/rocketfan/archive/2009/12/05/1617759.html
volatile錛?br>1.volatile鐨勪綔鐢細
(1) the content of a volatile variable is “unstable” (can change by means unknown to the compiler),

(2) all writes to volatile data are “observable” so they must be executed religiously, and

(3) all operations on volatile data are executed in the sequence in which they appear in the source code.
1.琚0鏄庝負volatile鐨勫彉閲忓叾鍐呭鏄笉紼沖畾鐨?unstable),瀹冪殑鍊兼湁鍙兘鐢辯紪璇戝櫒鎵涓嶈兘鐭ユ檽鐨勬儏鍐墊墍鏀瑰彉銆?br>2.鎵鏈夊澹版槑涓簐olatile鐨勫彉閲忕殑鍐欐搷浣滈兘鏄彲瑙佺殑錛屽繀欏諱弗鏍兼墽琛宐e executed religiously銆?br>3.鎵鏈夊澹版槑涓簐olatile鐨勫彉閲忕殑鎿嶄綔錛堣鍐欙級閮藉繀欏諱弗鏍兼寜鐓ф簮浠g爜鐨勯『搴忔墽琛屻?br>volatile紜繚姣忔鐩存帴浠庡唴瀛樿鍙栧彉閲忕殑鍊箋俲ava涓殑volatile鏄法綰跨▼淇濊瘉涓婅堪涓変釜鏉′歡鐨勶紝鑰孋++鍙槸鍗曚竴綰跨▼鍐呬繚璇併?br>浣嗘槸鍗充嬌鏄疛AVA鑳藉璺ㄨ秺綰跨▼淇濊瘉錛屼粛鐒舵槸涓嶅鐨勫洜涓簐olatile鍜岄潪volatile鎿嶄綔涔嬮棿鐨勯『搴忎粛鐒舵槸鏈畾涔夌殑錛屾湁鍙兘浜х敓闂錛岃冭檻涓嬮潰鐨勪唬鐮侊細

volatile int vi;

void bar(void) {
vi = 1;
foo();
vi = 0;
}

鎴戜滑涓鑸細璁や負vi浼氬湪璋冪敤foo涔嬪墠璁劇疆涓?,璋冪敤瀹屽悗浼氳緗負0銆傜劧鑰岀紪璇戝櫒涓嶄細瀵逛綘淇濊瘉榪欎竴鐐癸紝瀹冧細寰堥珮鍏寸殑灝嗕綘鐨刦oo()縐諱綅錛屾瘮濡傝窇鍒皏i = 1鍓嶉潰錛屽彧瑕佸畠鐭ラ亾鍦╢oo()閲屼笉浼氭秹鍙婂埌鍏跺畠鐨剉olatile鎿嶄綔銆傛墍浠ュ畨鍏ㄧ殑鏂規(guī)硶鏄敤鏍呮爮memory barrier渚嬪“asm volatile (”" ::: “memory”)鍔犲埌foo鐨勫墠闈㈠拰鍚庨潰 鏉ヤ繚璇佷弗鏍肩殑鎵ц欏哄簭銆?span style="COLOR: red">鍐呭瓨灞忛殰淇濊瘉浠g爜鎵ц鏃朵弗鏍兼寜鐓ф簮浠g爜鐨勭殑欏哄簭銆?br>



]]>
main鍑芥暟涔嬪墠騫蹭簡紲為┈錛?璋佽皟鐢ㄤ簡鎴戠殑mainhttp://m.shnenglu.com/aa19870406/archive/2011/03/08/141386.htmlMrRightLeftMrRightLeftTue, 08 Mar 2011 15:34:00 GMThttp://m.shnenglu.com/aa19870406/archive/2011/03/08/141386.htmlhttp://m.shnenglu.com/aa19870406/comments/141386.htmlhttp://m.shnenglu.com/aa19870406/archive/2011/03/08/141386.html#Feedback0http://m.shnenglu.com/aa19870406/comments/commentRss/141386.htmlhttp://m.shnenglu.com/aa19870406/services/trackbacks/141386.html(杞澆鑷?a >http://topic.csdn.net/u/20101013/16/e5f2fcbb-528f-4b1a-b85c-aaa8aa9ab3b6.html錛?br>main鍑芥暟涔嬪墠--鐪熸鐨勫嚱鏁版墽琛屽叆鍙f垨寮濮?/p>

涓縐嶈В閲?/p>

瀹為檯涓婏紝鍦ㄥ彲鎵ц鏂囦歡琚姞杞戒箣鍚庯紝鎺у埗鏉冪珛鍗充氦緇欑敱緙栬瘧鍣ㄦ彃鍏ョ殑Start鍑芥暟錛屽畠?yōu)畣瀵瑰悗闈q欎簺鍏ㄥ眬鍙橀噺榪涜鍑嗗錛?br>銆銆銆_osver 鎿嶄綔緋葷粺鐨勬瀯浠剁紪鍙?br>  _winmajor銆鎿嶄綔緋葷粺鐨勪富鐗堟湰鍙?br>  _winminor銆鎿嶄綔緋葷粺鐨勬鐗堟湰鍙?br>  _winver銆鎿嶄綔緋葷粺瀹屽叏鐗堟湰鍙?br>  __argc銆鍛戒護琛屽弬鏁頒釜鏁?br>銆 __argv銆鎸囧悜鍙傛暟瀛楃涓茬殑鎸囬拡鏁扮粍
  _environ銆鎸囧悜鐜鍙橀噺瀛楃涓茬殑鎸囬拡鏁扮粍
Start鍑芥暟鍒濆鍖栧爢騫惰皟鐢╩ain鍑芥暟錛巑ian鍑芥暟榪斿洖涔嬪悗,Start鍑芥暟璋冪敤Exit鍑芥暟緇撴潫璇ヨ繘紼嬶紟
鍚姩鍑芥暟Start鐨勬簮浠g爜鍦細
銆銆銆crt0.c Microsoft Visual C++
  c0w.asm Borladn C++

鍙︿竴縐嶈В閲?/p>

Some of the stuff that has to happen before main():  
set up initial stack pointer  
initialize static and global data  
zero out uninitialized data  
run global constructors

Some of this comes with the runtime library's crt0.o file or its __start() function. Some of it you need to do yourself.
Crt0 is a synonym for the C runtime library.  
Depending on the system you're using the follwing may be incomplete, but it should give you an idea. Using newlib-1.9.0/libgloss/m68k/crt0.S as an outline, the steps are:  
1. Set stack pointer to value of __STACK if set  
2. Set the initial value of the frame pointer  
3. Clear .bss (where all the values that start at zero go)  
4. Call indirect of hardware_init_hook if set to initialize hardware  
5. Call indirect of software_init_hook if set to initialize software  
6. Add __do_global_dtors and __FINI_SECTION__ to the atexit function so destructors and other cleanup functions are called when the program exits by either returning from main, or calling exit  
7. setup the paramters for argc, argv, argp and call main  
8. call exit if main returns

絎笁縐嶈В閲婏細鍥浀C璇█錛堜笁錛夛細璋佽皟鐢ㄤ簡鎴戠殑 main錛?br>銆銆銆銆
銆銆銆銆鐜板湪鏈閲嶈鐨勬槸瑕佽窡寰椾笂娼祦錛屾墍浠ュ鐢ㄦ瘮杈冩椂楂︾殑璇濓紝璋佸姩浜嗘垜鐨勫ザ閰傝皝璋冪敤浜嗘垜鐨?main錛熶笉榪囦綔涓鴻綆楁満宸ヤ綔鑰咃紝鎴戝姖澶у榪樻槸涓嶈璧舵椂楂︼紝浠婂ぉJava鐑紝鏄庡ぉ .net 嫻佽錛屼粈涔堟椂楂﹀氨瀛︿粈涔堛傛垜鐨勬剰鎬濇槸鍏堣姳鍑犲勾鎶婂熀鏈姛瀛﹀ソ錛岀瓑浣犺刀鏃墮鐨勬椂鍊欎篃濂戒簨鍗婂姛鍊嶃傚簾璇濅笉澶氳浜嗐?br>銆銆銆銆
銆銆銆銆鎴戜滑閮藉惉璇磋繃涓鍙ヨ瘽錛?#8220;main鏄疌璇█鐨勫叆鍙?#8221;銆傛垜鑷充粖涓嶆槑鐧戒負浠涔堣繖涔堣銆傚氨濂藉儚濡傛灉鏈変漢璇達細“鎸i挶鏄場濡?#8221;錛岃偗瀹氭棤鏁扮爾澶存媿榪囨潵銆傝繖鍙ヨ瘽搴旇鏄?#8220;鎸i挶鏄場濡炵殑涓涓潯浠訛紝鍙笉榪囪繖涓潯浠剁壒鍒噸瑕?#8221;銆傞偅涔堜笂闈㈤偅鍙ヨ瘽搴旇鏄?“main鏄疌璇█涓竴涓鍙鳳紝鍙笉榪囪繖涓鍙鋒瘮杈冪壒鍒?#8221;
銆銆銆銆
銆銆銆銆鎴戜滑鐪嬩笅闈㈢殑渚嬪瓙錛?br>銆銆銆銆
銆銆銆銆/* file name test00.c */
銆銆銆銆
銆銆銆銆int main(int argc, char* argv)
銆銆銆銆{
銆銆銆銆 return 0;
銆銆銆銆}
銆銆銆銆
銆銆銆銆緙栬瘧閾炬帴瀹冿細
銆銆銆銆cc test00.c -o test.exe
銆銆銆銆浼氱敓鎴?test.exe
銆銆銆銆
銆銆銆銆浣嗘槸鎴戜滑鍔犱笂榪欎釜閫夐」錛?-nostdlib (涓嶉摼鎺ユ爣鍑嗗簱)
銆銆銆銆cc test00.c -nostdlib -o test.exe
銆銆銆銆閾炬帴鍣ㄤ細鎶ラ敊錛?br>銆銆銆銆undefined symbol: __start
銆銆銆銆
銆銆銆銆涔熷氨鏄錛?br>銆銆銆銆1. 緙栬瘧鍣ㄧ己鐪佹槸鎵?__start 絎﹀彿錛岃屼笉鏄?main
銆銆銆銆2. __start 榪欎釜絎﹀彿鏄▼搴忕殑璧峰鐐?br>銆銆銆銆3. main 鏄鏍囧噯搴撹皟鐢ㄧ殑涓涓鍙?br>銆銆銆銆
銆銆銆銆鍐嶆潵鎬濊冧竴涓棶棰橈細
銆銆銆銆鎴戜滑鍐欑▼搴忥紝姣斿涓涓ā鍧楋紝閫氬父瑕佹湁 initialize 鍜?de-initialize錛屼絾鏄垜浠啓 C 紼嬪簭鐨勬椂鍊欎負浠涔堟湁浜涙ā鍧楁病鏈夎繖涓や釜榪囩▼涔堝憿錛熸瘮濡傛垜浠▼搴忎粠 main 寮濮嬪氨鍙互 malloc錛宖ree錛屼絾鏄垜浠湪 main 閲岄潰鍗存病鏈夊垵濮嬪寲鍫嗐傚啀姣斿鍦?main 閲岄潰鍙互鐩存帴 printf錛屽彲鏄垜浠茍娌℃湁鎵撳紑鏍囧噯杈撳嚭鏂囦歡鍟娿?涓嶇煡閬撲粈涔堟槸 stdin錛宻tdout錛宻tderr 浠ュ強 printf 鍜?stdout 鍏崇郴鐨勭兢浼楄鍏堢湅鐪?C 璇█涓枃浠剁殑姒傚康)銆?br>銆銆銆銆
銆銆銆銆鏈変漢璇達紝榪欎簺涓滆タ涓嶉渶瑕佸垵濮嬪寲銆傚鏋滄?zhèn)ㄧ湡寰棙q欎箞鎯籌紝璇鋒偍涓嶈鍐嶅線涓嬬湅浜嗭紝鎴戜釜浜鴻涓鴻綆楁満杞歡涓嶉傚悎鎮(zhèn)ㄣ?br>銆銆銆銆
銆銆銆銆鑱槑鐨勪漢姘戠兢浼椾細鎯籌紝涓瀹氭槸鍦?main 涔嬪墠騫蹭簡浜涗粈涔堛備嬌榪欎簺鍑芥暟鍙互鐩存帴璋冪敤鑰屼笉鐢ㄥ垵濮嬪寲銆傞氬父錛屾垜浠細鍦ㄧ紪璇戝櫒鐨勭幆澧冧腑鎵懼埌涓涓悕瀛楃被浼間簬 crt0.o 鐨勬枃浠訛紝榪欎釜鏂囦歡涓寘鍚簡鎴戜滑鍒氭墠鎵璇寸殑 __start 絎﹀彿銆傦紙crt 澶ф鏄?C Runtime 鐨勭緝鍐欙紝璇峰ぇ瀹跺府鍔╃‘璁や竴涓嬨傦級
銆銆銆銆
銆銆銆銆閭d箞鐪熸鐨?crt0.s 鏄粈涔堟牱瀛愬憿錛熶笅闈㈡垜浠粰鍑洪儴鍒嗕吉浠g爜錛?br>銆銆銆銆
銆銆銆銆///////////////////////////////////////////////////////
銆銆銆銆section .text:
銆銆銆銆__start:
銆銆銆銆
銆銆銆銆 :
銆銆銆銆 init stack;
銆銆銆銆 init heap;
銆銆銆銆 open stdin;
銆銆銆銆 open stdout;
銆銆銆銆 open stderr;
銆銆銆銆 :
銆銆銆銆 push argv;
銆銆銆銆 push argc;
銆銆銆銆 call _main; (璋冪敤 main)
銆銆銆銆 :
銆銆銆銆 destory heap;
銆銆銆銆 close stdin;
銆銆銆銆 close stdout;
銆銆銆銆 close stderr;
銆銆銆銆 :
銆銆銆銆 call __exit;
銆銆銆銆////////////////////////////////////////////////////
銆銆銆銆
銆銆銆銆瀹為檯涓婂彲鑳借繕鏈夊緢澶氬垵濮嬪寲宸ヤ綔錛屽洜涓洪兘鏄拰鎿嶄綔緋葷粺鐩稿叧鐨勶紝絎旇呭氨涓嶄竴涓鍒楀嚭浜嗐?br>銆銆銆銆
銆銆銆銆娉ㄦ剰錛?br>銆銆銆銆1. 涓嶅悓鐨勭紪璇戝櫒錛屼笉涓瀹氱己鐪佸緱絎﹀彿閮芥槸 __start銆?br>銆銆銆銆2. 姹囩紪閲岄潰鐨?_main 灝辨槸 C 璇█閲岄潰鐨?main錛屾槸鍥犱負姹囩紪鍣ㄥ拰C緙栬瘧鍣ㄥ絎﹀彿鐨勫懡鍚嶆湁宸紓錛堥氬父鏄樊涓涓笅鍒掔嚎'_'錛夈?br>銆銆銆銆3. 鐩墠鎿嶄綔緋葷粺緇撴瀯鏈変袱涓富瑕佺殑鍒嗘敮錛氬井鍐呮牳鍜屽畯鍐呮牳銆傚井鍐呮牳鐨勪紭鐐規(guī)槸錛岀粨鏋勬竻鏅幫紝綆鍗曪紝鍐呮牳緇勪歡杈冨皯錛屼究浜庣淮鎶わ紱緙虹偣鏄紝榪涚▼闂撮氫俊杈冨錛岀▼搴忛綣佽繘鍑哄唴鏍革紝鏁堢巼杈冧綆銆傚畯鍐呮牳姝eソ鐩稿弽銆傛垜璇磋繖涓槸浠涔堢洰鐨勬槸錛氭病鍔炴硶淇濊瘉姣忎釜緇勪歡閮藉湪鐢ㄦ埛絀洪棿錛堟爣鍑嗗簱鍑芥暟錛変腑鍒濆鍖栵紝鏈変簺緇勪歡紜疄鍙兘涓嶈鍒濆鍖栵紝鎿嶄綔緋葷粺鍦ㄥ垱寤鴻繘紼嬬殑鏃跺欏湪鍐呮牳絀洪棿鍋氱殑銆傝繖渚濊禆浜庢搷浣滅郴緇熺殑鍏蜂綋瀹炵幇錛屾瘮濡傚爢錛屽畯鍐呮牳緇撴瀯鍙兘鍦ㄥ唴鏍稿垵濮嬪寲錛屽井鍐呮牳緇撴瀯鍦ㄧ敤鎴風┖闂達紱鍗充嬌鍚屾牱鏄井鍐呮牳錛岃繖涓笢涓滀篃鍙兘浼氳鎷垮埌鍐呮牳絀洪棿鍒濆鍖栥?br>銆銆銆銆
銆銆銆銆闅忕潃 CPU 鎶鏈殑鍙戝睍錛屽瓨鍌ㄩ噺鐨勮繀閫熸墿灞曪紝浠g爜澶嶆潅紼嬪害鐨勫鍔狅紝寰唴鏍歌瓚婃潵瓚婂鐨勯噰鐢ㄣ備綘浼氫負浜?10% 鐨勬晥鐜囦嬌浠g爜澶嶆潅搴﹀鍔犱箞錛熻鐭ラ亾姣忛殧 18 涓湀 CPU 鐨勯熷害灝變細緲諱竴鐣傛墍浠ユ垜瀵圭▼搴忓憳鐨勮姹傛槸錛屾垜棣栧厛涓嶈浣犵殑浠g爜鏁堢巼楂橈紝鎴戦鍏堣浣犵殑浠g爜鑳借 80% 鐨勪漢榪呴熺湅鎳傚茍鍙互緇存姢銆?/p>

鎬葷粨錛?/p>

main鍑芥暟鎵ц涔嬪墠錛屼富瑕佸氨鏄垵濮嬪寲緋葷粺鐩稿叧璧勬簮錛?/p>

1.璁劇疆鏍堟寚閽?/p>

2.鍒濆鍖杝tatic闈欐佸拰global鍏ㄥ眬鍙橀噺錛屽嵆data孌電殑鍐呭

3.灝嗘湭鍒濆鍖栭儴鍒嗙殑璧嬪垵鍊鹼細鏁板煎瀷short錛宨nt錛宭ong絳変負0錛宐ool涓篎ALSE錛屾寚閽堜負NULL錛岀瓑絳夛紝鍗?bss孌電殑鍐呭

4.榪愯鍏ㄥ眬鏋勯犲櫒錛屼及璁℃槸C++涓瀯閫犲嚱鏁頒箣綾葷殑鍚?/p>

5.灝唌ain鍑芥暟鐨勫弬鏁幫紝argc錛宎rgv絳変紶閫掔粰main鍑芥暟錛岀劧鍚庢墠鐪熸榪愯main鍑芥暟



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲美女中出| 久久久久国产一区二区三区| 亚洲欧美一区二区精品久久久| 亚洲第一成人在线| 欧美在线高清| 欧美一区二区三区四区在线| 国产精品国产三级国产aⅴ入口| 日韩一级在线| 一区二区三区四区五区精品| 欧美人与性动交cc0o| 亚洲精品乱码久久久久久黑人| 亚洲区欧美区| 欧美人在线观看| 日韩一区二区精品葵司在线| 亚洲一区久久久| 国产免费观看久久| 午夜精品一区二区三区在线视| 久久都是精品| 精品成人一区二区| 能在线观看的日韩av| 亚洲韩国青草视频| 亚洲一区二区久久| 国产欧美日韩三区| 久久久午夜精品| 亚洲激情视频在线播放| 亚洲午夜精品一区二区| 国产精品一区二区三区四区 | 亚洲在线视频网站| 欧美性色综合| 亚洲欧美日韩天堂| 你懂的国产精品永久在线| 91久久国产综合久久91精品网站| 欧美精品二区三区四区免费看视频| 亚洲欧洲视频在线| 欧美黑人一区二区三区| 一区二区三区四区蜜桃| 久久精品亚洲一区二区| 亚洲电影在线播放| 欧美日韩亚洲三区| 欧美一区综合| 亚洲精品人人| 久久免费偷拍视频| 亚洲精品一二三| 国产欧美日韩在线播放| 玖玖视频精品| 在线一区二区三区四区| 乱人伦精品视频在线观看| 在线观看日韩专区| 亚洲第一精品夜夜躁人人爽| 99精品福利视频| 国产精品自拍一区| 欧美aⅴ99久久黑人专区| 亚洲视频一区在线| 欧美成人国产一区二区| 亚洲欧美视频在线| 最新中文字幕一区二区三区| 国产精品久久久久久久久久妞妞| 久久精品亚洲一区二区| 亚洲精品自在久久| 久久躁狠狠躁夜夜爽| 正在播放欧美一区| 亚洲电影免费| 国产情人综合久久777777| 欧美激情一区二区三区成人| 亚洲欧美日韩国产另类专区| 亚洲大片免费看| 久久久精品日韩欧美| 国产精品99久久久久久人| 影音欧美亚洲| 国产欧美精品日韩区二区麻豆天美| 欧美福利视频| 久久久欧美一区二区| 午夜国产精品视频免费体验区| 亚洲美女在线国产| 欧美激情片在线观看| 久久久亚洲国产天美传媒修理工| 亚洲一级二级| 一区二区三区欧美在线| 亚洲区国产区| 亚洲高清免费| 在线高清一区| 国产在线不卡精品| 国产精品夜夜嗨| 欧美新色视频| 欧美午夜精品久久久久久久| 欧美日韩成人在线观看| 欧美激情精品久久久| 老妇喷水一区二区三区| 久久久久.com| 久久精品一区二区三区四区 | 久久精品国产免费| 亚洲一区二区三区视频| 一区二区三区导航| 日韩午夜在线电影| 日韩一级欧洲| 99国内精品久久| 一本色道久久综合亚洲精品不 | 午夜精品一区二区三区电影天堂| 一区二区欧美精品| 一区二区三区久久久| 一区二区三区波多野结衣在线观看| 亚洲三级免费| 夜夜精品视频| 亚洲午夜精品福利| 欧美一级欧美一级在线播放| 欧美一级一区| 久久深夜福利免费观看| 毛片一区二区三区| 欧美激情偷拍| 亚洲精品一区二区三区在线观看| 日韩视频免费观看高清完整版| 亚洲另类春色国产| 亚洲婷婷综合久久一本伊一区| 亚洲一级片在线观看| 午夜激情一区| 久久影视三级福利片| 欧美成人午夜激情| 欧美日韩在线不卡| 国产精品一二一区| 在线观看欧美日韩国产| 亚洲综合三区| 欧美亚州一区二区三区| 国产精品入口麻豆原神| 国产日韩亚洲欧美| 在线免费一区三区| 日韩网站免费观看| 午夜亚洲一区| 牛牛影视久久网| 亚洲精选视频免费看| 亚洲你懂的在线视频| 久久久国产一区二区| 欧美福利在线观看| 国产精品你懂的在线欣赏| 黄色亚洲精品| 一区二区欧美日韩视频| 久久riav二区三区| 欧美激情一区| 亚洲欧美国产高清va在线播| 久久久噜噜噜久噜久久| 欧美日韩在线三区| 一区二区三区在线观看视频| 99国内精品久久久久久久软件| 欧美影院视频| 亚洲激情二区| 欧美影视一区| 欧美日韩一区二区三区免费| 韩国欧美一区| 亚洲一区影院| 欧美激情一区二区三区四区| 亚洲午夜精品久久久久久浪潮| 久久久亚洲人| 国产精品日韩在线播放| 亚洲精品123区| 欧美尤物巨大精品爽| 亚洲区一区二| 久久久久一本一区二区青青蜜月| 欧美色偷偷大香| 亚洲福利视频三区| 欧美在线综合| 一区二区三区高清| 免费91麻豆精品国产自产在线观看| 国产精品久久毛片a| 日韩视频亚洲视频| 欧美a级一区| 午夜一区在线| 欧美亚洲成人网| 亚洲肉体裸体xxxx137| 美女主播一区| 欧美一级大片在线观看| 欧美亚日韩国产aⅴ精品中极品| 亚洲精品国精品久久99热一| 久久婷婷蜜乳一本欲蜜臀| 亚洲性xxxx| 欧美日韩中文精品| 一区二区免费在线观看| 亚洲国产经典视频| 久久综合狠狠综合久久综青草| 国产日韩欧美亚洲| 性视频1819p久久| 亚洲亚洲精品三区日韩精品在线视频| 欧美激情久久久久| 最新精品在线| 亚洲国产成人av| 牛夜精品久久久久久久99黑人| 黑人操亚洲美女惩罚| 久久精品国产欧美激情| 午夜视频在线观看一区二区三区 | 久久久久免费观看| 国产视频一区三区| 欧美在线视频观看免费网站| 亚洲特色特黄| 国产精品久久久久久妇女6080| 在线视频欧美日韩精品| 亚洲精品男同| 欧美日韩一区在线视频| 亚洲调教视频在线观看| 一本一本久久a久久精品牛牛影视| 欧美久久精品午夜青青大伊人| 亚洲美女av网站| 亚洲精品一区二区在线|