锘??xml version="1.0" encoding="utf-8" standalone="yes"?>av午夜福利一片免费看久久 ,亚洲伊人久久综合中文成人网,久久婷婷五月综合国产尤物apphttp://www.shnenglu.com/ichenq/category/11288.html紼嬪簭涓嶈繃鏄ⅵ錛? 鐢熶簬鏃犲艦鏃犺薄鐨勭涓紝 鎴戜滑鍙槸閭e仛姊︾殑浜恒?/description>zh-cnMon, 18 Apr 2011 04:53:25 GMTMon, 18 Apr 2011 04:53:25 GMT60渚冧竴渚僾c鐨剆td::stringhttp://www.shnenglu.com/ichenq/archive/2011/04/02/vs-std-string.htmljohnny chanjohnny chanSat, 02 Apr 2011 14:51:00 GMThttp://www.shnenglu.com/ichenq/archive/2011/04/02/vs-std-string.htmlhttp://www.shnenglu.com/ichenq/comments/143317.htmlhttp://www.shnenglu.com/ichenq/archive/2011/04/02/vs-std-string.html#Feedback0http://www.shnenglu.com/ichenq/comments/commentRss/143317.htmlhttp://www.shnenglu.com/ichenq/services/trackbacks/143317.html
cout聽<<sizeof(std::string) << endl;
鎴戠殑騫沖彴鏄疿P+VC9.0錛岃繍琛岀粨鏋滄槸32錛屼笉鐭ラ亾涓轟粈涔堣閭d箞澶氾紝浜庢槸鍦ㄦ簮浠g爜閲屾崳榧撲簡涓鐣紝璁鎬箙涔嬪悗緇堜簬鏈変簡涓鐐圭湁鐩紝涓嬮潰鏄垜鐨勪竴浜涙葷粨銆?br />

涓錛岀粨鏋勫竷灞
string鐨勫師鍨嬫槸

typedef聽basic_string<char,聽char_traits<char>,聽allocator<char>>聽聽聽聽string;

瀹冩槸basic_string涓涓猼ypedef錛岄鍏堟潵鐪媌asic_string鐨勭被灞傛緇撴瀯錛?br />
_Container_base_secure
聽聽聽聽聽聽 /\
聽聽聽聽聽聽 |
_String_base
聽聽聽聽聽聽 /\
聽聽聽聽聽聽 |
_String_val
聽聽聽聽聽聽 /\
聽聽聽聽聽聽 |
basic_string


_Container_base_secure閲屾湁涓涓猒Iterator_base綾誨瀷鐨勬寚閽堟垚鍛榑Myfirstiter錛屽緱鍗?涓瓧鑺傦紝_String_base娌℃湁鏁版嵁鎴愬憳錛宊String_val閲屾湁涓涓猒Alval綾誨瀷錛堜竴涓猘llocator錛夌殑鎴愬憳_Alty錛屾病鏈夋暟鎹垚鍛橈紝鍙崰鐢?涓瓧鑺傦紝鍔犱笂padding錛屼篃灝辨槸4涓瓧鑺傦紝basic_string鏈?涓暟鎹垚鍛橈紝涓涓猽nion鍗?6涓瓧鑺傦紝涓や釜璺熼暱搴︾浉鍏崇殑鏁村瀷鍙橀噺鍚?涓瓧鑺傘傛墍鏈夌被閮戒笉鍚櫄鍑芥暟錛屽竷灞濡備笅錛?br />
_Container_base_secure
聽聽聽聽_Myfirstiter錛歘Iterator_base
*聽聽(4聽bytes)

_String_base聽(nop)

_String_val
聽聽聽聽聽聽_Alty錛歘Alval聽聽(
1byte+3 bytes聽padding)
聽聽聽聽聽聽
basic_string
聽聽聽聽_Bx聽聽聽聽聽聽聽聽:聽聽聽_Bxty聽聽聽聽聽聽聽(
16聽bytes)
聽聽聽聽_Mysize聽:聽聽聽size_type聽聽聽(
4聽bytes)
聽聽聽聽_Myres聽錛毬犅爏ize_type聽聽聽(
4聽bytes)



榪欎釜鏄痓asic_string鐨剈nion:
enum{聽 _BUF_SIZE = 16 / sizeof (_Elem) < 1 ? 1 : 16 / sizeof(_Elem)};
union聽_Bxty
{聽
聽聽聽 _Elem
聽 _Buf[_BUF_SIZE];
聽聽聽 _Elem
*聽_Ptr;
}聽_Bx;

閫氳繃榪欎釜union鍙互鐪嬪嚭vc鐨剆td::string鍦ㄥ瓧絎︿覆闀垮害杈冨皬鐨勬椂鍊欎細浣跨敤涓涓爤涓婄紦鍐插尯錛坃Bxty::_Buf錛夋潵淇濆瓨瀛楃涓插唴瀹癸紝濡傛灉瀛楃涓查暱搴﹁秴榪囦簡鏌愪釜鑼冨洿鍒欎細浣跨敤allocator鍒嗛厤鍔ㄦ佸唴瀛?_Bxty::_Ptr)錛宊BUF_SIZE鎺у埗鐫榪欎釜鑼冨洿鍊鹼紝_Buf緙撳啿鍖哄緇堟槸16涓瓧鑺傚ぇ灝忋傚彲浠ョ湅鍑猴紝vc鐨剆td::string娌℃湁浣跨敤閫氱敤Copy-On-Write鎶鏈紝鍥犱負瀹冩病鏈塺eference count鎴愬憳銆傞偅涔坴c閲囩敤鐨勮繖涓妧鏈浜庡瓧絎︿覆鐨勪嬌鐢ㄦ晥鐜囧湪瀹為檯浣跨敤涓〃鐜板浣曞憿錛?br />
涓嬮潰鏄竴孌墊祴璇曟嫹璐濅笉鍚屽瓧絎︿覆闀垮害鐨勪唬鐮?
#include聽<windows.h>
#include聽
<stdio.h>
#include聽
<iostream>
#include聽
<string>
#include聽
<vector>

usingnamespace聽std;

template聽
<size_t聽N>
void聽test_string()
{
聽聽聽聽
const聽size_t聽loop聽=1000000; // 涓鐧句竾嬈?br />聽聽聽
聽聽聽 // 棰勫厛鍒嗛厤濂藉唴瀛?br />聽聽聽聽vector
<string>聽vec;
聽聽聽聽vec.resize(loop);
聽聽聽聽
聽聽聽聽
char聽szbuf[N]聽=聽{};
聽聽聽聽memset(szbuf,聽
'a',聽N聽-1);

聽聽聽 // 璁$畻鎷瘋礉鏃墮棿
聽聽聽聽size_t聽time聽
=聽GetTickCount();
聽聽聽聽
for聽(int聽i聽=0;聽i聽<聽loop;聽++i)
聽聽聽聽{
聽聽聽聽聽聽聽聽vec[i]聽
=聽szbuf;
聽聽聽聽}
聽聽聽聽time聽
=聽GetTickCount()聽-聽time;

聽聽聽聽printf(
"buffer聽size:聽%u,聽loop:聽%u,聽used聽%u聽ms\n",聽N,聽loop,聽time);
}


int聽main(int聽argc,聽char*聽argv[])
{
聽聽聽聽test_string
<8>();
聽聽聽聽test_string
<12>();
聽聽聽聽test_string
<16>();
聽聽聽聽test_string
<20>();
聽聽聽聽test_string
<24>();
聽聽聽聽test_string
<32>();

聽聽聽聽
return0;
}
緙栬瘧浣跨敤release鐗堝叏榛樿鍙傛暟錛岀粨鏋滃涓嬶細

buffer size: 4, loop: 1000000, used 78 ms
buffer size: 8, loop: 1000000, used 94 ms
buffer size: 12, loop: 1000000, used 93 ms
buffer size: 16, loop: 1000000, used 94 ms
buffer size: 20, loop: 1000000, used 422 ms
buffer size: 24, loop: 1000000, used 422 ms
buffer size: 32, loop: 1000000, used 438 ms


鍦ㄥ瓧絎︿覆(鍖呭惈0緇撳熬瀛楃)灝忎簬16涓瓧鑺傜殑鏃跺欐秷鑰楃殑鏃墮棿閮藉緢浣庤屼笖鍑犱箮涓鑷?94ms)錛岃屼竴鏃﹁秴榪囦簡16涓瓧鑺傛秷鑰楁椂闂村垯榪呴熷鍔狅紝鍙樻垚浜?22ms錛堣繎5鍊嶏級銆傚彲浠ョ湅鍑猴紝濡傛灉浣跨敤闀垮害杈冨皬鐨勫瓧絎︿覆錛屽湪娑夊強澶ч噺鎷瘋礉澶勭悊鐨勬椂鍊欙紝vc榪欎釜鎶宸х殑鏁堢巼榪樻槸鎸洪珮鐨勩?br />

涓嬮潰鏄浉鍚屼唬鐮侀噰鐢ㄤ嬌鐢ㄤ簡Copy-On-Write鎶鏈殑GNU std::string鐨勮繍琛岀粨鏋滐紙Ubuntu + gcc4.4 + -O2鍙傛暟錛夛細

buffer size: 8, loop: 1000000, used 140 ms
buffer size: 12, loop: 1000000, used 119 ms
buffer size: 16, loop: 1000000, used 140 ms
buffer size: 20, loop: 1000000, used 126 ms
buffer size: 24, loop: 1000000, used 154 ms
buffer size: 32, loop: 1000000, used 129 ms


閫熷害澧為暱寰堝鉤鍧囷紝鍦?6瀛楄妭浠ヤ笅鐨勬椂鍊欑敤鏃舵瘮vc澶氾紝浣嗘槸瓚呰繃16瀛楄妭鍚庢晥鐜囨瘮vc楂橈紙緇嗚妭娌″幓鐮旂┒錛夈?br />

浜岋紝铏氭瀽鏋勫嚱鏁?br />
basic_string鍜屽畠鐨勫熀綾籣Container_base_secure鐨勬瀽鏋勫嚱鏁伴兘涓嶆槸virutual function錛岃繖鍦ㄧ戶鎵跨殑鏃跺欎細鏈夊壇浣滅敤錛屽厛鐪嬩笅闈㈣繖孌典唬鐮侊細
class聽mystring聽:聽public聽std::string
{
public:
聽聽聽聽
~mystring()
聽聽聽聽{
聽聽聽聽聽聽聽聽cout聽
<<"dctor"<<聽endl;
聽聽聽聽}
};

void聽main()
{
聽聽聽聽std::
string*聽pstr聽=new聽mystring();
聽聽聽聽delete聽pstr;聽 // ~mystring()娌℃湁琚皟鐢?br />}

娌℃湁铏氬嚱鏁版墍浠ユ瀽鏋勫嚱鏁版棤娉曞姩鎬佺粦瀹氾紝涓婇潰鐨勪唬鐮佽繍琛屽埌delete鏃跺皢鐩存帴璋冪敤std::string鐨勬瀽鏋勫嚱鏁幫紝鑰屼笉浼氬幓鎵緈ystring鐨勬瀽鏋勫嚱鏁般傚鏋渵mystring娑夊強鍒拌祫婧愰噴鏀劇殑璇濓紝閭d箞鏃犵枒涓婇潰鐨勪唬鐮佸皢瀵艱嚧娉勬紡銆?br />
榪樻湁涓鐐瑰煎緱涓鎻愮殑灝辨槸瀵箂td::string鎴栧寘鍚玸td::string鐨勫璞″疄鏂絑eroMemory

铏界劧澶у鏁板悎鏍肩殑C++紼嬪簭鍛橀兘鐭ラ亾涓嶅簲璇ュ闈濸OD瀵硅薄瀹炴柦ZeroMomory錛屼絾鏄湪宸ョ▼瀹為檯涓‘瀹炴湁榪欐牱鐨勪唬鐮侊紝鑰屼笖浠栦滑榪愯鐨勫緢姝e父(vc++涓?錛岃繖鏄負浠涔堝憿錛熸垜璇曞浘鍋氫竴涓畝鍗曡В閲娿?br />
濡備笂鎵榪幫紝std::string鐨勭戶鎵夸綋緋婚噷娌℃湁virtual function錛屽璞″竷灞閲屼篃灝辨病鏈塿ptr錛岃屼笖鏁翠釜緇ф壙浣撶郴閮介噰鐢ㄧ殑鏄崟緇ф壙錛宐ptr鍙堢渷浜嗭紙鍙傝僉ippman鐨?lt;Inside C++ Object Model>錛夛紝鎵浠td::string瀵硅薄鐨勫竷灞鍏ㄦ槸瀹冪殑鑷韓鐨勬暟鎹垚鍛橈紝_Container_base_secure鐨刜Myfirstiter鏄寚閽堟垚鍛橈紝鏈韓鍦ㄥ垵濮嬪寲鏃跺氨闇瑕佺疆闆訛紝_String_val鐨刜Alval鎴愬憳鏄釜allocator錛屽彧鏈夊嚱鏁頒笉鍖呭惈鏁版嵁錛岃皟鐢ㄦ椂涔熷氨涓嶅繀浼爐his鎸囬拡錛屾墍浠ョ粰瀹冪疆闆朵笉浼氭湁鍓綔鐢紝basic_string鎸囬拡鏈韓鐨勪笁涓垚鍛樺垎鍒槸緙撳啿鍖猴紝瀛楃涓查暱搴﹀拰棰勭暀闀垮害錛屽垵濮嬪寲鏃跺皢瀹冧滑緗浂涔熸槸娌℃湁鍓綔鐢ㄧ殑銆傛墍浠ュstd::string榪涜ZeroMemory鎿嶄綔鐨勪唬鐮佷緷鐒惰繍琛岀殑寰堟甯搞?br />









]]>
鏈夎叮鐨勬潯浠惰繍綆楃http://www.shnenglu.com/ichenq/archive/2011/03/28/interesting-condition-operator.htmljohnny chanjohnny chanMon, 28 Mar 2011 15:02:00 GMThttp://www.shnenglu.com/ichenq/archive/2011/03/28/interesting-condition-operator.htmlhttp://www.shnenglu.com/ichenq/comments/142898.htmlhttp://www.shnenglu.com/ichenq/archive/2011/03/28/interesting-condition-operator.html#Feedback0http://www.shnenglu.com/ichenq/comments/commentRss/142898.htmlhttp://www.shnenglu.com/ichenq/services/trackbacks/142898.html涓錛岀紭璧?br />
騫沖父閮芥槸鎶婃潯浠惰繍綆楃褰撲綔綆鍖杋f/else浠g爜琛屾暟鐨勫彟涓縐嶅艦寮忥紝浠婂ぉ鍋剁劧鍐欎笅浜嗕笅闈㈣繖鐮d唬鐮侊紝灝辨槸璁╃浜屼釜鍜岀涓変釜琛ㄨ揪寮忕殑鍏鋒湁涓嶅悓綾誨瀷錛岀湅鐪媠izeof鐨勭粨鏋滐細
#include聽<iostream>

int聽main()
{
聽聽聽
int聽n聽=sizeof((聽true?3聽:聽3.14);聽聽聽聽//聽涓嶅悓鐨勭被鍨?/span>
聽聽聽 printf(鈥淭ype聽size:聽%d\n鈥?聽n);
聽聽聽
return0;
}

緇撴灉鏄?聽 Type size: 8


浜岋紝緇嗚妭


涓涓?a >鏉′歡鎿嶄綔絎?/a>鏄笅闈㈣繖鏍風殑褰㈠紡:

exp1 ? exp2 : exp3

琛ㄨ揪寮廵xp1鎬繪槸浼氳姹傚箋俥xp2鍜宔xp3鏄惁琚墽琛屼緷璧栦簬exp1鐨勫鹼紝濡傛灉exp1涓虹湡鍒檈xp2浼氳姹傚鹼紝鍚﹀垯exp3琚眰鍊箋?br />

Side Effect:

鍦ㄦ墽琛宔xp2鎴栬卐xp3涔嬪墠錛宔xp1鐨勬墍鏈塻ide effect蹇呴』鍏ㄩ儴姹傚兼垨鑰呮洿鏂板畬鎴愶紝鍥犱負鏉′歡鎿嶄綔絎︾殑絎竴涓搷浣滄暟姹傚間箣鍚庡氨鏄竴涓?a >sequence point銆傚鏋渆xp2鍜宔xp3閮芥湁side effect錛岄偅涔堝彧鏈変竴涓細琚眰鍊箋?br />


榪斿洖綾誨瀷錛?br />
鏉′歡鎿嶄綔絎︾殑榪斿洖綾誨瀷鍙栧喅浜巈xp2鍜宔xp3綾誨瀷錛岀紪璇戝櫒浼氭鏌xp2錛堝彲鑳芥槸涓涓猚lass type錛夎兘鍚﹁漿鎹負exp3鎴栬卐xp3鑳藉惁杞崲涓篹xp2錛屽鏋滀袱涓兘涓嶆弧瓚籌紝緙栬瘧鍣ㄥ氨浼氭姏鍑轟竴涓敊璇?br />


涓夛紝瀹炶返

鍙exp2鎴杄xpr3鑳借漿鎹負瀵規柟鐨勭被鍨嬶紝閭d箞鏉′歡鎿嶄綔絎﹀氨鍙互閫氳繃緙栬瘧鍣紝濡傛灉瀹冧滑涔嬮棿娌℃湁鑳藉杞崲鐨勮鍒欙紝鑷劧榪囦笉浜嗙紪璇戝櫒榪欎竴鍏籌紝濡備笅闈㈣繖琛屼唬鐮?

sizeof(true ? 鈥渢ext鈥?: 3.14);聽聽 聽// error

sizeof(true ? 鈥渢ext鈥?: 0);聽聽 聽// OK, bug or feature?


涓轟簡鍒╃敤C++緇欐垜浠彁渚涚殑寮虹被鍨嬫敮鎸侊紝鎴戜滑搴旇鍦ㄥ疄璺典腑璁〆xp2鍜宔xp3鐨勭被鍨嬩繚鎸佷竴鑷淬?br />
鍙﹀錛?a >BOOST_FOREACH閲岄潰鐢ㄥ埌浜嗘潯浠舵搷浣滅鐨勮繖涓妧宸ф潵钀冨彇瀹瑰櫒琛ㄨ揪寮忕被鍨嬶紝鍚屾椂閬垮厤瀵硅〃杈懼紡姹傚鹼紝浠ユ杈懼埌瀵箁value鐨勫畬緹庢敮鎸侊紝鍏朵腑鐨勪唬鐮佸涓嬶細


//聽綾誨瀷鍖呰鍣?/span>

template
<class聽T聽>struct聽type2type聽{};



//聽杞崲T鍒皌ype2type<t>
template
<class聽T聽>
type2type
<聽T聽>聽encode_type(聽T聽const&聽t聽)
{
聽聽聽聽
return聽type2type<聽T聽>();
}

//聽瀹氫箟浜嗗埌any2type<t>鐨勮漿鎹?/span>
struct聽any_type
{
聽聽聽聽template
<class聽T聽>
聽聽聽聽
operator聽type2type<聽T聽>聽()聽const
聽聽聽聽{
聽聽聽聽聽聽聽聽
return聽type2type<聽T聽>();
聽聽聽聽}
};

//聽灝嗚〃杈懼紡鐨勭被鍨嬭漿鎹負type2type<聽expression>錛屽茍閬垮厤瀵孤爀xpression姹傚?/span>
#define聽ENCODED_TYPEOF(聽expression聽)聽聽聽聽聽聽聽聽 (聽true?聽any_type()聽:聽encode_type(聽expression聽)聽)



ENCODED_TYPEOF(expression)浼氳灞曞紑涓?(true ? any_type() : encode_type(expression))錛宔xp2鐨勭被鍨嬩負any_type錛宔xp3鐨勭被鍨嬩負type2type<expression>錛屼袱涓〃杈懼紡鐨勭被鍨嬭涓鑷達紝type2type<expression>鍙堜笉鑳借漿鎹負any_type錛屾墍浠ュ彧鏈夌粰any_type瀹氫箟涓涓漿鎹㈡搷浣滅錛岃any_type鑳藉杞崲涓簍ype2type<expression>銆?br />
鏈鍚庢垜浠緱鍒癊NCODE_TYPEOF(expression)鐨勭被鍨嬩負type2type< expression>錛屽茍涓旀病鏈夊 expression姹傚箋?br />



鍙傝?

http://drdobbs.com/cpp/184401310
http://geeksforgeeks.org/?p=9205
http://www.artima.com/cppsource/foreach2.html




]]>
C鐨勫彲鍙樺弬鏁板垪琛?/title><link>http://www.shnenglu.com/ichenq/archive/2009/06/21/varialbe-list-in-c.html</link><dc:creator>johnny chan</dc:creator><author>johnny chan</author><pubDate>Sun, 21 Jun 2009 15:34:00 GMT</pubDate><guid>http://www.shnenglu.com/ichenq/archive/2009/06/21/varialbe-list-in-c.html</guid><wfw:comment>http://www.shnenglu.com/ichenq/comments/88245.html</wfw:comment><comments>http://www.shnenglu.com/ichenq/archive/2009/06/21/varialbe-list-in-c.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ichenq/comments/commentRss/88245.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ichenq/services/trackbacks/88245.html</trackback:ping><description><![CDATA[涓錛?br /> 褰撴垜浠殑紼嬪簭璋冪敤鍑芥暟鐨勬椂鍊欙紝緋葷粺浼氶鍏堝皢鍑芥暟鐨勫弬鏁版寜鐓т粠鍙寵嚜宸︾殑欏哄簭鍘嬪叆鍑芥暟鐨勬爤涓傚鏋滃簳灞傜殑C璇█瀹炵幇璁╁嚱鏁板弬鏁板湪鍐呭瓨涓繛緇瓨鍌紝閭d箞鎴戜滑鍙渶瑕佺煡閬撳綋鍓嶅弬鏁扮殑鍦板潃錛屽氨鍙互渚濇璁塊棶鍙傛暟鍒楄〃涓殑鍏朵粬鍙傛暟銆?br /><br /> 榪欓噷涓轟簡涓句緥鏂逛究錛屽亣璁句紶閫掔殑3涓兘鏄痠nt綾誨瀷鐨勫弬鏁般備唬鐮侊細<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">fun:聽鎵撳嵃n鍚庨潰鍙傛暟鐨勫?/span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">聽fun(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽n,聽<img src="http://www.shnenglu.com/images/dot.gif" />);<br /><br /></span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽main()<br />{<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par1聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">128</span><span style="color: rgb(0, 0, 0);">;<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par2聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">256</span><span style="color: rgb(0, 0, 0);">;<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par3聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">512</span><span style="color: rgb(0, 0, 0);">;<br />聽聽聽聽fun(par1,聽par2,聽par3聽);<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;<br />}<br /><br /></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">聽fun(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par1,聽<img src="http://www.shnenglu.com/images/dot.gif" />)<br />{<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">聽p聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">&</span><span style="color: rgb(0, 0, 0);">par1;聽聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">鑾峰彇par1鐨勫湴鍧聽聽聽</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽printf(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">%d聽\n</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,聽</span><span style="color: rgb(0, 0, 0);">*++</span><span style="color: rgb(0, 0, 0);">p);聽聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">鎵撳嵃par2鐨勫?/span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽printf(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">%d聽\n</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,聽</span><span style="color: rgb(0, 0, 0);">*++</span><span style="color: rgb(0, 0, 0);">p);聽聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">鎵撳嵃par3鐨勫?/span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">}</span></div><br /><br /><br /> C榛樿鐨勫嚱鏁拌皟鐢ㄨ鑼冩槸__cdecl,涔熷氨鏄墍鏈夊弬鏁頒粠鍙沖埌宸︿緷嬈″叆鏍堬紝涓ユ牸鐨刦un澹版槑搴旇鏄?<br /><br /> void __cdecl fun(int n, ...);<br /><br /><br /> 鐢變簬鍏ユ爤欏哄簭鏄粠鍙沖悜宸︼紝鎵浠ain緇欎紶閫掔殑par1,par2鍜宲ar3鐨勫叆鏍堥『搴忔槸錛?br /> push聽聽聽 par3<br /> push聽聽聽 par2<br /> push聽聽聽 par1<br /><br /> 褰撶劧姹囩紪浠g爜(wintel)鏇村彲鑳芥槸錛?br /> mov聽聽聽聽聽聽聽聽 eax,dword ptr [par3] <br /> push聽聽聽聽聽聽聽 eax <br /> mov聽聽聽聽聽聽聽聽 ecx,dword ptr [par2] <br /> push聽聽聽聽聽聽聽 ecx <br /> mov聽聽聽聽聽聽聽聽 edx,dword ptr [par1] <br /> push聽聽聽聽聽聽聽 edx<br /><br /> 鏈鍚庡啀call fun,鎵ц鍑芥暟浣撶殑浠g爜銆?br /><br /> 鍏堝帇鏍堢殑鍙傛暟浼氭斁鍦ㄩ珮鍦板潃錛屽洜涓烘爤鏄敱涓婂線涓嬬敓闀跨殑錛屾墍浠ar1錛宲ar2錛宲ar3鍦ㄥ唴瀛樹腑鐨勯『搴忓皢浼氭槸錛?br /> 0xFE6C 聽聽聽聽聽聽 par3 <br /> 0xFE70聽聽聽聽聽聽聽聽 par2<br /> 0xFE74 聽聽聽聽聽聽聽 par1<br /><br /> 鍦板潃鏄亣璁撅紝浣嗚窛紱誨簲璇ユ槸sizeof(int)鐨勫?4涓瓧鑺?銆?br /><br /> 鍙﹀錛屾爣鍑嗗簱閲岀殑printf涓鏃忕殑搴撳嚱鏁?sprintf, fprintf)閭f牱鎺ュ彈鍙彉鍙傛暟涓暟鐨勫嚱鏁頒篃鍙湁鐢╟decl鎵嶈兘澶熷疄鐜般傚亣璁炬湁涓嬮潰涓琛岃鍙ワ細<br /><br /> printf("%d %d %d \n", m, n, k);<br /><br /> 鍙互鐪嬪埌瀹冩槸閫氳繃鎶婂弬鏁扮殑涓暟鍜岀被鍨嬩繚瀛樺湪絎竴涓弬鏁版潵瀹炵幇姝g‘瀵誨潃鐨勩傛牸寮忕%d鎸囧畾浜嗚璇誨彇鐨勭被鍨嬶紝鑰屾牸寮忕鐨勬暟鐩寚瀹氫簡浼犻掑弬鏁扮殑涓暟銆傝繖灝辨槸涓轟粈涔坧rintf("%d %d \n", m, n, k)鍙互鎴愬姛鎵ц錛岃宲rintf("%d %d %d \n", m, n)浼氬け璐ョ殑鍘熷洜銆備紶閫掔殑鍙傛暟澶氫簬闇瑕佸鐞嗙殑鏁扮洰鏃跺彲浠ュ拷鐣ユ帀錛屼絾鏄皯浜庨渶瑕佸鐞嗙殑鏁扮洰鏃跺氨璁塊棶瓚婄晫浜嗐?br /><br /><br /><br /><br /> 浜岋紝<br /><br /> 鎴戜滑閫氬父浼氫嬌鐢–璇█鐨剉arargs瀹忔潵緙栧啓鏀寔鍙彉鍙傛暟鍒楄〃鐨勫嚱鏁幫紝鍦ˋNSI C鏍囧噯閲岋紝榪欎簺瀹忓寘鍚湪<stdarg.h>澶存枃浠墮噷銆?br /><br /> 涓嬮潰鍐嶅垎鏋愪竴涓媣arargs瀹忥紝澧炲姞varargs瀹忓悗鐨勪唬鐮侊細<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#include聽</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">stdio.h</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"><br />#include聽</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">stdarg.h</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"><br /><br /></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">聽__cdecl聽fun(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽n,聽<img src="http://www.shnenglu.com/images/dot.gif" />);<br /><br /></span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽main()<br />{<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par1聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">128</span><span style="color: rgb(0, 0, 0);">;<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par2聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">256</span><span style="color: rgb(0, 0, 0);">;<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par3聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">512</span><span style="color: rgb(0, 0, 0);">;<br />聽聽聽聽fun(par1,聽par2,聽par3聽);<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;<br />}<br /><br /></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">聽fun(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽n,聽<img src="http://www.shnenglu.com/images/dot.gif" />)<br />{<br />聽聽聽聽va_list聽ap;<br />聽聽聽聽va_start(ap,聽n);<br />聽聽聽聽printf(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">%d聽\n</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,聽va_arg(ap,聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">));<br />聽聽聽聽printf(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">%d聽\n</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,聽va_arg(ap,聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">));<br />聽聽聽聽va_end(ap);<br />}</span></div><br /><br /> 鍦∕icrosoft涓篤C鎻愪緵鐨勫疄鐜頒腑錛屽彲浠ョ湅鍒拌繖鏍風殑瀹氫箟錛?br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">#define</span><span style="color: rgb(0, 0, 0);">聽_ADDRESSOF(v)聽聽聽(聽&(v)聽)</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">#define</span><span style="color: rgb(0, 0, 0);">聽_INTSIZEOF(n)聽聽聽(聽(sizeof(n)聽+聽sizeof(int)聽-聽1)聽&聽~(sizeof(int)聽-聽1)聽)</span><span style="color: rgb(0, 0, 0);"><br />typedef聽</span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">聽va_list;<br /></span><span style="color: rgb(0, 0, 255);">#define</span><span style="color: rgb(0, 0, 0);">聽va_start(ap,v)聽(聽ap聽=聽(va_list)_ADDRESSOF(v)聽+聽_INTSIZEOF(v)聽)</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">#define</span><span style="color: rgb(0, 0, 0);">聽va_arg(ap,t)聽聽聽聽(聽*(t聽*)((ap聽+=聽_INTSIZEOF(t))聽-聽_INTSIZEOF(t))聽)</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">#define</span><span style="color: rgb(0, 0, 0);">聽va_end(ap)聽聽聽聽聽聽(聽ap聽=聽(va_list)0聽)</span></div><br /><br /> va_list聽聽聽聽 涓涓猚har鍨嬫寚閽堬紝姣忔鍗曚釜瀛楄妭瀵誨潃銆?<br /> va_start聽聽聽 閫氳繃_INTSIZEOF璁$畻綾誨瀷鐨勫ぇ灝忥紝騫惰ap鑾峰緱v鍚庨潰鍙傛暟瀵硅薄鐨勫湴鍧聽聽聽聽聽聽聽 <br /> va_arg聽聽聽 聽 ap鎸囧悜鍙傛暟鍒楄〃涓璦p涓嬩竴涓弬鏁板璞★紝騫惰繑鍥瀉p涔嬪墠鎸囧悜鐨則綾誨瀷鍙傛暟瀵硅薄<br /><br /><br /> 灝唙a_list絳夊畯榪樺師鍚庝細鏇存槑鐧戒竴鐐癸細<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">聽fun(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par1,聽<img src="http://www.shnenglu.com/images/dot.gif" />)<br />{<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">聽par2,聽par3;<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">聽聽聽ap;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">va_list聽ap;</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽ap聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽(</span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">)</span><span style="color: rgb(0, 0, 0);">&</span><span style="color: rgb(0, 0, 0);">par1聽</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);">;聽聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">va_start(ap,聽par1);</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽par2聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">)(ap</span><span style="color: rgb(0, 0, 0);">+=</span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);">);聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">m聽=聽va_arg(ap,聽int);</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽par3聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">)(ap</span><span style="color: rgb(0, 0, 0);">+=</span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);">);聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">m聽=聽va_arg(ap,聽int);</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽ap聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽(</span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">)</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">va_end(ap);</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">}</span></div><br /><br /> 鏍規嵁榪欎釜瀹炵幇錛寁a_arg鐨勭浜屼釜鍙傛暟鑻ヤ負char, short鍒欎細琚漿鎹負int綾誨瀷錛岃嫢涓篺loat鍒欎細杞崲涓篸oule綾誨瀷錛岃繖鏄洜涓篲INTSIZEOF瀹忕殑榪斿洖鍊?4鎴?)鐨勫師鍥狅紝姣曠珶瀹忕敤C鏉ュ仛娉涘瀷榪樻槸涓嶅C++鐨勬ā鏉挎潵鐨勫ソ銆?br /><br /><br /><br /><br /> 涓夛紝<br /><br /> 鏍規嵁鏍囧噯搴撴彁渚涚殑va_list鎴戜滑鍙互瀹炵幇鑷繁鐨勮兘鎺ュ彈鍙彉鍙傛暟鐨勫垪琛ㄧ殑鍑芥暟錛屼笅闈互Win32API涓殑MessageBox浣滀負璇曢獙銆?br /> 鍦╳indows紼嬪簭璁捐涓湁鏃跺欎篃闇瑕佽緭鍑轟竴浜涜皟璇曚俊鎭紝浣嗘槸榪欎釜鏃跺欏鏋滄牴鎹湪鎺у埗鍙頒笅鐨勭紪紼嬩範鎯嬌鐢╬rintf()鍑芥暟鏉ュ疄鐜板皢淇℃伅杈撳嚭鍒扮獥鍙g殑 璇濇槸姣旇緝楹葷儲鐨勶紝榪欐牱鍙互閫夋嫨涓涓渶綆鍗曠殑Windows紿楀彛鍑芥暟MessageBox銆備絾鏄疢essageBox()鐨勫弬鏁扮被鍨嬫槸瀛楃涓詫紝鎵浠ユ垜浠渶瑕? 瀵瑰畠鍋氫竴浜涙牸寮忓寲銆傝繖灝遍渶瑕佺敤鍒版爣鍑嗗簱鐨剉sprintf鍑芥暟(<font color="#ff0000">榪欓噷</font>)銆?br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#include聽</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">stdio.h</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">聽聽聽聽聽聽 </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">聽vsprintf()</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">#include聽</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">stdarg.h</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">聽聽聽聽聽 </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">聽va_list,聽va_start(),聽va_end()</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">#include聽</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">windows.h</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">聽聽聽聽聽</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">聽MessageBoxA()</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);"><br /><br /></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">聽my_messagebox(</span><span style="color: rgb(0, 0, 255);">const</span><span style="color: rgb(0, 0, 0);">聽</span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">聽format,聽<img src="http://www.shnenglu.com/images/dot.gif" />)<br />{<br />聽聽聽聽</span><span style="color: rgb(0, 0, 255);">char</span><span style="color: rgb(0, 0, 0);">聽聽聽聽聽聽聽聽buffer[MAX_PATH]聽</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">聽{</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">};</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">260涓瓧鑺傜殑緙撳啿</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">聽聽聽聽va_list聽聽聽聽聽ap;聽聽聽<br />聽聽聽聽va_start(ap,聽format);<br />聽聽聽聽vsprintf(buffer,聽format,聽ap);<br />聽聽聽聽va_end(ap);<br />聽聽聽聽::MessageBoxA(NULL,聽buffer,聽</span><span style="color: rgb(0, 0, 0);">""</span><span style="color: rgb(0, 0, 0);">,聽MB_OK);</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">ANSCII鐗堟湰鐨凪essageBox()</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">}</span></div><br /><br /><br /></stdarg.h><img src ="http://www.shnenglu.com/ichenq/aggbug/88245.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ichenq/" target="_blank">johnny chan</a> 2009-06-21 23:34 <a href="http://www.shnenglu.com/ichenq/archive/2009/06/21/varialbe-list-in-c.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.jianzhuhr.net.cn" target="_blank">亚洲国产成人精品女人久久久 </a>| <a href="http://www.52cjw.cn" target="_blank">久久久久免费精品国产</a>| <a href="http://www.kottbac.cn" target="_blank">国产高潮久久免费观看</a>| <a href="http://www.tjonline.com.cn" target="_blank">欧洲性大片xxxxx久久久</a>| <a href="http://www.hzust.cn" target="_blank">亚洲精品国精品久久99热</a>| <a href="http://www.z1359.cn" target="_blank">久久精品国产91久久综合麻豆自制</a>| <a href="http://www.uzfz.cn" target="_blank">久久精品蜜芽亚洲国产AV</a>| <a href="http://www.jiulongpu.cn" target="_blank">99精品久久久久久久婷婷</a>| <a href="http://www.baomintv.cn" target="_blank">狠狠色噜噜色狠狠狠综合久久</a>| <a href="http://www.sjz114.net.cn" target="_blank">97久久精品国产精品青草</a>| <a href="http://www.51083114.cn" target="_blank">国产香蕉久久精品综合网</a>| <a href="http://www.32dd.cn" target="_blank">日韩亚洲欧美久久久www综合网</a>| <a href="http://www.51uhq.cn" target="_blank">丁香色欲久久久久久综合网</a>| <a href="http://www.hfdsbw.cn" target="_blank">国产成人精品久久一区二区三区</a>| <a href="http://www.sskca.cn" target="_blank">国产精品免费久久久久影院</a>| <a href="http://www.bleg.cn" target="_blank">亚洲精品白浆高清久久久久久</a>| <a href="http://www.scstnysc.cn" target="_blank">最新久久免费视频</a>| <a href="http://www.114tmall.cn" target="_blank">久久97精品久久久久久久不卡</a>| <a href="http://www.gougou123.cn" target="_blank">亚洲精品乱码久久久久久蜜桃</a>| <a href="http://www.sms321.cn" target="_blank">国产亚洲婷婷香蕉久久精品</a>| <a href="http://www.u4439.cn" target="_blank">亚洲国产精品久久电影欧美</a>| <a href="http://www.buksk.cn" target="_blank">亚洲色欲久久久久综合网 </a>| <a href="http://www.zmlxs.cn" target="_blank">国产亚洲精品美女久久久</a>| <a href="http://www.n29306.cn" target="_blank">亚洲色欲久久久综合网东京热</a>| <a href="http://www.bolson.cn" target="_blank">国产午夜福利精品久久</a>| <a href="http://www.tdpqb.cn" target="_blank">亚洲精品无码久久久久</a>| <a href="http://www.dengbilong6.com.cn" target="_blank">久久91这里精品国产2020</a>| <a href="http://www.szltw.cn" target="_blank">99国产精品久久</a>| <a href="http://www.5icsw.cn" target="_blank">97久久香蕉国产线看观看</a>| <a href="http://www.wirja9.cn" target="_blank">亚洲色欲久久久综合网</a>| <a href="http://www.jpcn2.cn" target="_blank">婷婷久久久亚洲欧洲日产国码AV</a>| <a href="http://www.vnzn.cn" target="_blank">国产一区二区久久久</a>| <a href="http://www.pzjc.net.cn" target="_blank">久久久久亚洲精品日久生情</a>| <a href="http://www.itwinds.cn" target="_blank">亚洲伊人久久综合影院</a>| <a href="http://www.frsmb.cn" target="_blank">亚洲中文字幕伊人久久无码</a>| <a href="http://www.jtm0513.cn" target="_blank">污污内射久久一区二区欧美日韩</a>| <a href="http://www.gp9222.cn" target="_blank">久久国产香蕉一区精品</a>| <a href="http://www.liuy88.cn" target="_blank">久久精品中文字幕一区</a>| <a href="http://www.dfyxw.cn" target="_blank">亚洲欧美成人综合久久久</a>| <a href="http://www.888su.cn" target="_blank">亚洲AV无码久久精品成人</a>| <a href="http://www.211228.cn" target="_blank">久久久久久亚洲精品成人</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>