锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美激情视频在线播放,午夜精品视频在线,亚洲国产美国国产综合一区二区http://m.shnenglu.com/sssa2000/zh-cnSat, 15 Nov 2025 23:36:31 GMTSat, 15 Nov 2025 23:36:31 GMT60[zz]瑙e喅閾炬帴閿欒錛歟rror LNK2001: 鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?__iobhttp://m.shnenglu.com/sssa2000/archive/2010/01/28/106592.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Thu, 28 Jan 2010 03:39:00 GMThttp://m.shnenglu.com/sssa2000/archive/2010/01/28/106592.htmlhttp://m.shnenglu.com/sssa2000/comments/106592.htmlhttp://m.shnenglu.com/sssa2000/archive/2010/01/28/106592.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/106592.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/106592.html

璇ラ敊璇富瑕佹槸鐢變簬闈欐佸簱鍦╒C6緙栬瘧鑰屼富紼嬪簭鍦╒C2005緙栬瘧錛屽ぇ瀹剁敤鐨凜RT涓嶅悓銆傝В鍐沖姙娉曪紝浠g爜涓鍔?/p>

#ifdef __cplusplus
extern "C"
#endif
FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]};

姝ら敊璇殑浜х敓鏍規簮錛?br> 鍦╒C6鐨剆tdio.h涔嬩腑鏈夊涓嬪畾涔?/p>

_CRTIMP extern FILE _iob[];
#define stdin (&_iob[0])
#define stdout (&_iob[1])
#define stderr (&_iob[2])

stdin銆乻tdout銆乻tderr鏄氳繃鏌iob鏁扮粍寰楀埌鐨勩傛墍浠ワ紝VC6緙栬瘧鐨勭▼搴忋侀潤鎬佸簱鍙鐢ㄥ埌浜唒rintf銆乻canf涔嬬被鐨勫嚱鏁幫紝閮借閾炬帴_iob鏁扮粍銆?/p>

鑰屽湪vc2005涓紝stdio.h涓彉鎴愪簡

_CRTIMP FILE * __cdecl __iob_func(void);
#define stdin (&__iob_func()[0])
#define stdout (&__iob_func()[1])
#define stderr (&__iob_func()[2])

_iob鏁扮粍涓嶅啀鏄樉寮忕殑鏆撮湶鍑烘潵浜嗭紝闇瑕佽皟鐢╛_iob_func()鍑芥暟鑾峰緱銆傛墍浠c6鐨勯潤鎬佸簱閾炬帴VC2005鐨凜榪愯搴撳氨浼氭壘涓嶅埌_iob鏁扮粍.
閫氳繃閲嶆柊瀹氫箟
FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]};
灝辨妸vc6闇瑕佺敤鍒扮殑_iob鏁扮粍鎼炲嚭鏉ヤ簡



]]>
[zz]An introduction to debugging in MSVC++ using Pseudoregistershttp://m.shnenglu.com/sssa2000/archive/2009/11/18/101276.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Wed, 18 Nov 2009 01:49:00 GMThttp://m.shnenglu.com/sssa2000/archive/2009/11/18/101276.htmlhttp://m.shnenglu.com/sssa2000/comments/101276.htmlhttp://m.shnenglu.com/sssa2000/archive/2009/11/18/101276.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/101276.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/101276.htmlIntroduction

Let's start with the reason why I wrote this article. One day, a colleague asked me to help him debug a problem he had. So I was watching him stepping in his code, when I noticed the following line:

Collapse
int test = GetLastError();

He did this, because he wanted to know the error code, if the previous function failed. He was adding this line every time he wanted to know the error code. I advised him to remove all those lines and use the @ERR pseudoregister in his watch window. He didn't know what it was and asking around in the office, a lot of other people didn't. So I came up with this article for people who have never heard of pseudoregisters.

What is a pseudoregister anyway?

A pseudoregister is not an actual hardware register, but is displayed as though it were a hardware register. With a pseudoregister, you can see and use certain values (error codes, thread information block...) in the debugger.

Let's have a look at the @ERR pseudoregister. Fire up your debugger with your favourite home-written application. Put a breakpoint in your code so that the debugger will break execution. Open the watch window if it isn't already (do this by right clicking on some empty toolbar space, and select "Watch" from this list). Add @ERR in this watch window. You should see 0 in the Value column. Now step through your code, and watch this value. It will always show the GetLastError() number for the current thread. So if something goes wrong in your code, this value will change.

If you want to test this, but your code doesn't have any errors, I advise to put some in (but don't forget to remove them afterwards). You can insert something like this:

Collapse
FILE *fp = fopen("c:\\a_file_that_does_not_exist.txt", "r");

If you step over this line, you'll see that the @ERR value changed to 2. Go to Tools->Error Lookup to see what this error value means ("The system cannot find the file specified" if you were wondering). Lazy bums like me, and smart lads / lasses like you can change the @ERR pseudoregister to @ERR,hr . Doing this will change the value of the pseudoregister to the error string. Now you even don't have to lookup the error. I leave the @ERR,hr in the watch window all the time.

Conditional Expressions

Pseudoregisters can also be used in conditional expressions. To try this out, put following lines after the fopen:

Collapse
if (fp)
{
fclose(fp);
}

Put a breakpoint on the if (fp) line. Go to Edit->Breakpoints (or press Alt-F9). Select the breakpoint you just inserted and press the "Condition" button. Here, you can enter the @ERR==2 condition. Now start the debugger. The debugger will break on this breakpoint if fopen() failed because it couldn't find the file. If the file does exist, the debugger won't break, even if it encountered another error (say error 4: could not open the file). Try this out by running the code (not stepping) after creating, and deleting the "a_file_that_does_not_exist.txt" file on c:\.

Just for the very curious (and otherwise totally irrelevant to this article) : what does @ERR do? How does it get the error number? As it turns out, @ERR does exactly the same thing as GetLastError() does. These functions have a whopping 3 lines of assembly code:

Collapse
mov eax,fs:[00000018h] 
mov eax,dword ptr [eax+34h]
ret

So @ERR grabs the DWORD at offset 0x34 in the thread environment block pointed to by fs:[18h].

The @TIB pseudoregister

The @ERR pseudoregister is not the only one that exists. Another important pseudoregister is @TIB. This is the thread information block for the current thread and is extremely helpful in multi-threaded debugging. If you place a breakpoint in a function that is called by multiple threads, the debugger will break execution every time no matter which thread passes the breakpoint. Even if you're stepping through your code, the debugger can jump to the breakpoint if another thread called the function. To solve this, you'll need to do the following. If execution breaks in the thread you want, add @TIB in the watch window. You will see some value like "0x7ffa6000" or "2147115008" in regular display. Go to the breakpoint menu (Alt-F9) and select the breakpoint. You can now add the @TIB==0x7ffa6000 condition filter. Doing this, the debugger will only break execution for this thread. All other threads using the same function will not result in a break.

This doesn't work in Windows 98 though. For Windows 98, you'll need to look at the Intel CPU FS register, which is unique for each thread. You can use the expression @FS==value

Complete list of pseudoregisters

Pseudoregister

Description

@ERR

Last error value; the same value returned by the GetLastError() API function

@TIB

Thread information block for the current thread; necessary because the debugger doesn't handle the "FS:0" format

@CLK

Undocumented clock register; usable only in the Watch window

@EAX, @EBX, @ECX, @EDX, @ESI, @EDI, @EIP, @ESP, @EBP, @EFL

Intel CPU registers

@CS, @DS, @ES, @SS, @FS, @GS

Intel CPU segment registers

@ST0, @ST1, @ST2, @ST3, @ST4, @ST5, @ST6, @ST7

Intel CPU floating-point registers



]]>
鍏充簬CRT鐨勫叏灞鍙橀噺鏋勯犵殑闂http://m.shnenglu.com/sssa2000/archive/2009/08/12/93006.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Wed, 12 Aug 2009 03:47:00 GMThttp://m.shnenglu.com/sssa2000/archive/2009/08/12/93006.htmlhttp://m.shnenglu.com/sssa2000/comments/93006.htmlhttp://m.shnenglu.com/sssa2000/archive/2009/08/12/93006.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/93006.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/93006.html涔嬪墠榪欎簺鍙橀噺鐩稿畨鏃犱簨錛?br>鐩村埌闇瑕佹坊鍔犱竴涓唴瀛樼鐞嗙殑鍔熻兘錛岃岃繖涓姛鑳戒篃闇瑕佷竴涓叏灞鍙橀噺錛屼絾鏄繖涓叏灞鍙橀噺蹇呴』鍦ㄦ墍鏈夊叾浠栧叏灞鍙橀噺涔嬪墠鎵ц鍒濆鍖栥?br>
鏈寮濮嬩嬌鐢?pragma section(SECNAME,long,read)鐨勬柟娉曪紝鎶婃煇涓嚱鏁板姞鍏ュ埌鏌愪釜section涓紝鍥犱負CRT鏄寜鐓ection鐨勫瓧姣嶅簭鎵ц鐨勶紝榪欎釜鏂規硶
鍦╡xe涓墽琛岀殑寰堝ソ錛屼笉騫哥殑鏄垜浠槸鍦ㄤ竴涓猟ll涓紝榪欎釜鏂規硶涓嶅鏁堛?br>
鏈鍚庢煡鐪媘sdn錛屽啓閬擄細濡傛灉鏄嬌鐢╠ll錛屼嬌鐢?strong>#pragma init_seg
#pragma init_seg(compiler)
_CRTIMP2 MemoryManager MemMnger;
榪欐牱錛屽垵濮嬪寲宸ヤ綔鍦ㄧ紪璇戝櫒鍒濆鍖栫殑鏃跺欏氨鎵ц浜嗭紝榪炴柇鐐歸兘鏂笉鍒頒簡




]]>
[zz]visual studio涓殑Regexhttp://m.shnenglu.com/sssa2000/archive/2009/08/07/92554.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Fri, 07 Aug 2009 09:15:00 GMThttp://m.shnenglu.com/sssa2000/archive/2009/08/07/92554.htmlhttp://m.shnenglu.com/sssa2000/comments/92554.htmlhttp://m.shnenglu.com/sssa2000/archive/2009/08/07/92554.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/92554.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/92554.html姝e垯琛ㄨ揪寮忔槸鏌ユ壘鍜屾浛鎹㈡枃鏈ā寮忕殑綆媧佸拰鐏墊椿鐨勮〃紺烘硶銆俈isual Studio 涓嬌鐢ㄧ殑姝e垯琛ㄨ揪寮忔槸 Visual C++ 6.0 涓嬌鐢ㄧ殑銆佸叿鏈夌畝鍖栬娉曠殑琛ㄨ揪寮忕殑瓚呴泦銆?/p>

鍦?#8220;鏌ユ壘”銆?#8220;鍦ㄦ枃浠朵腑鏌ユ壘”鎴?#8220;鍦ㄦ枃浠朵腑鏇挎崲”瀵硅瘽妗嗕腑錛屽彲浣跨敤涓嬪垪姝e垯琛ㄨ揪寮忔潵鏀硅繘鍜屾墿灞曟悳绱€?/p>

娉ㄦ剰???鍦ㄥ皢涓嬪垪浠諱綍琛ㄨ揪寮忕敤浣滄悳绱㈡潯浠剁殑涓閮ㄥ垎涔嬪墠錛屽繀欏誨湪“鏌ユ壘”銆?#8220;鍦ㄦ枃浠朵腑鏌ユ壘”鍜?#8220;鍦ㄦ枃浠朵腑鏇挎崲”瀵硅瘽妗嗕腑閫夋嫨“浣跨敤”澶嶉夋銆?/blockquote>

鍙嬌鐢ㄤ笅鍒楄〃杈懼紡鍖歸厤鎼滅儲瀛楃涓蹭腑鐨勫瓧絎︽垨鏁板瓧錛?/p>

琛ㄨ揪寮?/th> 璇硶 璇存槑
浠諱竴瀛楃 . 鍖歸厤闄ゆ崲琛岀澶栫殑浠諱綍涓涓瓧絎︺?/td>
鏈澶?0 欏規垨鏇村 * 鍖歸厤鍓嶉潰琛ㄨ揪寮忕殑 0 涓垨鏇村鎼滅儲欏廣?/td>
鏈澶氫竴欏規垨鏇村 + 鍖歸厤鍓嶉潰琛ㄨ揪寮忕殑鑷沖皯涓涓悳绱㈤」銆?/td>
鏈灝?0 欏規垨鏇村 @ 鍖歸厤鍓嶉潰琛ㄨ揪寮忕殑 0 涓垨鏇村鎼滅儲欏癸紝鍖歸厤灝藉彲鑳藉皯鐨勫瓧絎︺?/td>
鏈灝戜竴欏規垨鏇村 # 鍖歸厤鍓嶉潰琛ㄨ揪寮忕殑涓涓垨鏇村鎼滅儲欏癸紝鍖歸厤灝藉彲鑳藉皯鐨勫瓧絎︺?/td>
閲嶅 n 嬈?/td> ^n 鍖歸厤鍓嶉潰琛ㄨ揪寮忕殑 n 涓悳绱㈤」銆備緥濡傦紝[0-9]^4 鍖歸厤浠繪剰 4 浣嶆暟瀛楃殑搴忓垪銆?/td>
瀛楃闆?/td> [] 鍖歸厤 [] 鍐呯殑浠諱綍涓涓瓧絎︺傝鎸囧畾瀛楃鐨勮寖鍥達紝璇峰垪鍑虹敱鐭垝綰?(-) 鍒嗛殧鐨勮搗濮嬪瓧絎﹀拰緇撴潫瀛楃錛屽 [a-z] 涓墍紺恒?/td>
涓嶅湪瀛楃闆嗕腑鐨勫瓧絎?/td> [^...] 鍖歸厤璺熷湪 ^ 涔嬪悗鐨勪笉鍦ㄥ瓧絎﹂泦涓殑浠諱綍瀛楃銆?/td>
琛岄 ^ 灝嗗尮閰嶅畾浣嶅埌琛岄銆?/td>
琛屽熬 $ 灝嗗尮閰嶅畾浣嶅埌琛屽熬銆?/td>
璇嶉 < 浠呭綋璇嶅湪鏂囨湰涓殑姝や綅緗紑濮嬫椂鎵嶅尮閰嶃?/td>
璇嶅熬 > 浠呭綋璇嶅湪鏂囨湰涓殑姝や綅緗粨鏉熸椂鎵嶅尮閰嶃?/td>
鍒嗙粍 () 灝嗗瓙琛ㄨ揪寮忓垎緇勩?/td>
鎴?/td> | 鍖歸厤 OR 絎﹀彿 (|) 涔嬪墠鎴栦箣鍚庣殑琛ㄨ揪寮忋?. 鏈甯哥敤鍦ㄥ垎緇勪腑銆備緥濡傦紝(sponge|mud) bath 鍖歸厤“sponge bath”鍜?#8220;mud bath”銆?/td>
杞箟絎?/td> \ 鍖歸厤璺熷湪鍙嶆枩鏉?(\) 鍚庣殑瀛楃銆傝繖浣挎偍鍙互鏌ユ壘鍦ㄦ鍒欒〃杈懼紡琛ㄧず娉曚腑浣跨敤鐨勫瓧絎︼紝濡?{ 鍜?^銆備緥濡傦紝\^ 鎼滅儲 ^ 瀛楃銆?/td>
甯︽爣璁扮殑琛ㄨ揪寮?/td> {} 鏍囪鎷彿鍐呯殑琛ㄨ揪寮忔墍鍖歸厤鐨勬枃鏈?/td>
絎?n 涓甫鏍囪鐨勬枃鏈?/td> \n 鍦?#8220;鏌ユ壘”鎴?#8220;鏇挎崲”琛ㄨ揪寮忎腑錛屾寚紺虹 n 涓甫鏍囪鐨勮〃杈懼紡鎵鍖歸厤鐨勬枃鏈紝鍏朵腑 n 鏄粠 1 鑷?9 鐨勬暟瀛椼?

鍦?#8220;鏇挎崲”琛ㄨ揪寮忎腑錛孿0 鎻掑叆鏁翠釜鍖歸厤鐨勬枃鏈?/p>

鍙沖榻愬瓧孌?/td> \(w,n) 鍦?#8220;鏇挎崲”琛ㄨ揪寮忎腑錛屽皢瀛楁涓 n 涓甫鏍囪鐨勮〃杈懼紡鍙沖榻愯嚦灝?w 瀛楃瀹姐?/td>
宸﹀榻愬瓧孌?/td> \(-w,n) 鍦?#8220;鏇挎崲”琛ㄨ揪寮忎腑錛屽皢瀛楁涓 n 涓甫鏍囪鐨勮〃杈懼紡宸﹀榻愯嚦灝?w 瀛楃瀹姐?/td>
紱佹鍖歸厤 ~(X) 褰?X 鍑虹幇鍦ㄨ〃杈懼紡涓殑姝や綅緗椂紱佹鍖歸厤銆備緥濡傦紝real~(ity)????鍖歸厤“realty”鍜?#8220;really”涓殑“real”錛岃屼笉鍖歸厤“reality”涓殑“real”銆?/td>
瀛楁瘝鏁板瓧瀛楃 :a 鍖歸厤琛ㄨ揪寮?
([a-zA-Z0-9])銆?/td>
瀛楁瘝瀛楃 :c 鍖歸厤琛ㄨ揪寮?br>([a-zA-Z])銆?/td>
鍗佽繘鍒舵暟 :d 鍖歸厤琛ㄨ揪寮?
([0-9])銆?/td>
鍗佸叚榪涘埗鏁?/td> :h 鍖歸厤琛ㄨ揪寮?
([0-9a-fA-F]+)銆?/td>
鏍囪瘑絎?/td> :i 鍖歸厤琛ㄨ揪寮?
([a-zA-Z_$][a-zA-Z0-9_$]*)銆?/td>
鏈夌悊鏁?/td> :n 鍖歸厤琛ㄨ揪寮?
(([0-9]+.[0-9]*)| ([0-9]*.[0-9]+)| ([0-9]+)).
甯﹀紩鍙風殑瀛楃涓?/td> :q 鍖歸厤琛ㄨ揪寮?(("[^"]*")| ('[^']*'))
瀛楁瘝瀛楃涓?/td> :w 鍖歸厤琛ㄨ揪寮?
([a-zA-Z]+)
鍗佽繘鍒舵暣鏁?/td> :z 鍖歸厤琛ㄨ揪寮?
([0-9]+)銆?/td>
杞箟絎?/td> \e Unicode U+001B銆?/td>
Bell \g Unicode U+0007銆?/td>
閫鏍肩 \h Unicode U+0008銆?/td>
鎹㈣絎?/td> \n 鍖歸厤涓庡鉤鍙版棤鍏崇殑鎹㈣絎︺傚湪“鏇挎崲”琛ㄨ揪寮忎腑錛屾彃鍏ユ崲琛岀銆?/td>
鍒惰〃絎?/td> \t 鍖歸厤鍒惰〃絎︼紝Unicode U+0009銆?/td>
Unicode 瀛楃 \x#### 鎴?\u#### 鍖歸厤 Unicode 鍊肩粰瀹氱殑瀛楃錛屽叾涓?#### 鏄崄鍏繘鍒舵暟銆傚彲浠ョ敤 ISO 10646 浠g爜鐐規垨涓や釜鎻愪緵浠g悊欏瑰鐨勫肩殑 Unicode 浠g爜鐐規寚瀹氬熀鏈璇騫抽潰錛堝嵆涓涓唬鐞嗛」錛夊鐨勫瓧絎︺?/td>

涓嬭〃鍒楀嚭鎸夋爣鍑?Unicode 瀛楃灞炴ц繘琛屽尮閰嶇殑璇硶銆備袱涓瓧姣嶇殑緙╁啓璇嶄笌 Unicode 瀛楃灞炴ф暟鎹簱涓墍鍒楃殑涓鏍楓傚彲灝嗚繖浜涙寚瀹氫負瀛楃闆嗙殑涓閮ㄥ垎銆備緥濡傦紝琛ㄨ揪寮?[:Nd:Nl:No] 鍖歸厤浠諱綍縐嶇被鐨勬暟瀛椼?/p>

琛ㄨ揪寮?/th> 璇硶 璇存槑
澶у啓瀛楁瘝 :Lu 鍖歸厤浠諱綍涓涓ぇ鍐欏瓧姣嶃備緥濡傦紝:Luhe 鍖歸厤“The”浣嗕笉鍖歸厤“the”銆?/td>
灝忓啓瀛楁瘝 :Ll 鍖歸厤浠諱綍涓涓皬鍐欏瓧姣嶃備緥濡傦紝:Llhe 鍖歸厤“the”浣嗕笉鍖歸厤“The”銆?/td>
璇嶉澶у啓瀛楁瘝 :Lt 鍖歸厤灝嗗ぇ鍐欏瓧姣嶅拰灝忓啓瀛楁瘝緇撳悎鐨勫瓧絎︼紝渚嬪錛孨j 鍜?Dz銆?/td>
淇グ絎﹀瓧姣?/td> :Lm 鍖歸厤瀛楁瘝鎴栨爣鐐圭鍙鳳紝渚嬪閫楀彿銆佷氦鍙夐噸闊崇鍜屽弻鎾囧彿錛岀敤浜庤〃紺哄鍓嶄竴瀛楁瘝鐨勪慨楗般?/td>
鍏朵粬瀛楁瘝 :Lo 鍖歸厤鍏朵粬瀛楁瘝錛屽鍝ョ壒浣撳瓧姣?ahsa銆?/td>
鍗佽繘鍒舵暟 :Nd 鍖歸厤鍗佽繘鍒舵暟錛堝 0-9錛夊拰瀹冧滑鐨勫弻瀛楄妭絳夋晥鏁般?/td>
瀛楁瘝鏁板瓧 :Nl 鍖歸厤瀛楁瘝鏁板瓧錛屼緥濡傜綏椹暟瀛楀拰琛ㄦ剰鏁板瓧闆躲?/td>
鍏朵粬鏁板瓧 :No 鍖歸厤鍏朵粬鏁板瓧錛屽鏃ф枩浣撴暟瀛椾竴銆?/td>
寮濮嬫爣鐐圭鍙?/td> :Ps 鍖歸厤寮濮嬫爣鐐圭鍙鳳紝渚嬪宸︽柟鎷彿鍜屽乏澶ф嫭鍙楓?/td>
緇撴潫鏍囩偣絎﹀彿 :Pe 鍖歸厤緇撴潫鏍囩偣絎﹀彿錛屼緥濡傚彸鏂規嫭鍙峰拰鍙沖ぇ鎷彿銆?/td>
宸﹀紩鍙?/td> :Pi 鍖歸厤宸﹀弻寮曞彿銆?/td>
鍙沖紩鍙?/td> :Pf 鍖歸厤鍗曞紩鍙峰拰鍙沖弻寮曞彿銆?
鐮存姌鍙?/td> :Pd 鍖歸厤鐮存姌鍙鋒爣璁般?/td>
榪炴帴絎﹀彿 :Pc 鍖歸厤涓嬪垝綰挎爣璁般?/td>
鍏朵粬鏍囩偣絎﹀彿 :Po 鍖歸厤閫楀彿 (,)銆?銆?銆?銆丂銆?銆?銆?amp;銆?銆乗銆佸啋鍙?(:)銆佸垎鍙?(;)銆? 鍜?/銆?/td>
絀虹櫧鍒嗛殧絎?/td> :Zs 鍖歸厤絀虹櫧銆?/td>
琛屽垎闅旂 :Zl 鍖歸厤 Unicode 瀛楃 U+2028銆?/td>
孌佃惤鍒嗛殧絎?/td> :Zp 鍖歸厤 Unicode 瀛楃 U+2029銆?/td>
鏃犻棿闅旀爣璁?/td> :Mn 鍖歸厤鏃犻棿闅旀爣璁般?/td>
緇勫悎鏍囪 :Mc 鍖歸厤緇勫悎鏍囪銆?/td>
灝侀棴鏍囪 :Me 鍖歸厤灝侀棴鏍囪銆?
鏁板絎﹀彿 :Sm 鍖歸厤 +銆?銆亊銆亅 銆?lt; 鍜?>銆?/td>
璐у竵絎﹀彿 :Sc 鍖歸厤 $ 鍜屽叾浠栬揣甯佺鍙楓?/td>
淇グ絎﹀彿 :Sk 鍖歸厤淇グ絎﹀彿錛屽鎶戞壃闊熾佹姂闊崇鍙峰拰闀塊煶絎﹀彿銆?/td>
鍏朵粬絎﹀彿 :So 鍖歸厤鍏朵粬絎﹀彿錛屽鐗堟潈絎﹀彿銆佹钀芥爣璁板拰搴︽暟絎﹀彿銆?/td>
鍏朵粬鎺у埗 :Cc 鍖歸厤琛屽熬銆?/td>
鍏朵粬鏍煎紡 :Cf 鏍煎紡鍖栨帶鍒跺瓧絎︼紝渚嬪鍙屽悜鎺у埗瀛楃銆?/td>
浠g悊欏?/td> :Cs 鍖歸厤浠g悊欏瑰鐨勪竴鍗娿?/td>
鍏朵粬縐佺敤 :Co 鍖歸厤縐佺敤鍖哄煙鐨勪換浣曞瓧絎︺?/td>
鍏朵粬鏈垎閰嶇殑瀛楃 :Cn 鍖歸厤鏈槧灝勫埌 Unicode 瀛楃鐨勫瓧絎︺?/td>

闄ゆ爣鍑?Unicode 瀛楃灞炴у錛岃繕鍙互鎸囧畾涓嬪垪闄勫姞灞炴с傚彲灝嗚繖浜涘睘鎬ф寚瀹氫負瀛楃闆嗙殑涓閮ㄥ垎銆?/p>
琛ㄨ揪寮?/th> 璇硶 璇存槑
Alpha :Al 鍖歸厤浠諱綍涓涓瓧絎︺備緥濡傦紝:Alhe 鍖歸厤“The”銆?#8220;then”銆?#8220;reached”絳夊崟璇嶃?/td>
鏁板瓧 :Nu 鍖歸厤浠諱綍涓涓暟鎴栨暟瀛椼?/td>
鏍囩偣絎﹀彿 :Pu 鍖歸厤浠諱綍涓涓爣鐐圭鍙鳳紝濡??銆丂銆? 絳夌瓑銆?/td>
絀虹櫧 :Wh 鍖歸厤鎵鏈夌被鍨嬬殑絀烘牸錛屽寘鎷嵃鍒峰拰琛ㄦ剰鏂囧瓧鐨勭┖鏍箋?/td>
Bidi :Bi 鍖歸厤璇稿闃挎媺浼枃鍜屽笇浼潵鏂囪繖綾諱粠鍙沖悜宸︿功鍐欑殑瀛楃銆?/td>
鏈濋矞鏂?/td> :Ha 鍖歸厤鏈濋矞鏂囧拰緇勫悎鏈濋矞鏂囧瓧姣嶃?/td>
騫沖亣鍚?/td> :Hi 鍖歸厤騫沖亣鍚嶅瓧絎︺?/td>
鐗囧亣鍚?/td> :Ka 鍖歸厤鐗囧亣鍚嶅瓧絎︺?/td>
琛ㄦ剰鏂囧瓧/姹夊瓧/鏃ユ枃姹夊瓧 :Id 鍖歸厤琛ㄦ剰鏂囧瓧瀛楃錛屽姹夊瓧鍜屾棩鏂囨眽瀛?/td>


]]>KMP綆楁硶http://m.shnenglu.com/sssa2000/archive/2009/03/12/76377.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Thu, 12 Mar 2009 14:46:00 GMThttp://m.shnenglu.com/sssa2000/archive/2009/03/12/76377.htmlhttp://m.shnenglu.com/sssa2000/comments/76377.htmlhttp://m.shnenglu.com/sssa2000/archive/2009/03/12/76377.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/76377.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/76377.html闃呰鍏ㄦ枃

]]>
[zz]c++鐨勪竴浜涜祫婧?/title><link>http://m.shnenglu.com/sssa2000/archive/2009/02/18/74145.html</link><dc:creator>閿洏鐨勫拸鍙硅皟</dc:creator><author>閿洏鐨勫拸鍙硅皟</author><pubDate>Wed, 18 Feb 2009 06:44:00 GMT</pubDate><guid>http://m.shnenglu.com/sssa2000/archive/2009/02/18/74145.html</guid><wfw:comment>http://m.shnenglu.com/sssa2000/comments/74145.html</wfw:comment><comments>http://m.shnenglu.com/sssa2000/archive/2009/02/18/74145.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/sssa2000/comments/commentRss/74145.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sssa2000/services/trackbacks/74145.html</trackback:ping><description><![CDATA[<p>銆銆4錛屽伐鍏?/p> <p>銆銆C++鐨勮緟鍔╁伐鍏風箒澶氾紝鎴戜滑鍒嗛棬鍒被鐨勪負澶у浣滀粙緇嶏細</p> <p>銆銆4.1 鏂囨。綾?/p> <p>銆銆(1) Doxygen</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.doxygen.org/</u></span></a></p> <p>銆銆Doxygen鏄竴縐嶉傚悎C椋庢牸璇█錛堝C++銆丆銆両DL銆丣ava鐢氳嚦鍖呮嫭C#鍜孭HP錛夌殑銆?br>寮鏀炬簮鐮佺殑銆佸熀浜庡懡浠よ鐨勬枃妗d駭鐢熷櫒銆?/p> <p>銆銆(2) C++2HTML</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.bedaux.net/cpp2html/</u></span></a></p> <p>銆銆鎶奀++浠g爜鍙樻垚璇硶楂樹寒鐨凥TML</p> <p>銆銆(3) CodeColorizer</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.chami.com/colorizer/</u></span></a></p> <p>銆銆瀹冭兘鎶婂ソ鍑犵璇█鐨勬簮浠g爜鐫鑹蹭負HTML</p> <p>銆銆(4) Doc-O-Matic</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.doc-o-matic.com/</u></span></a></p> <p>銆銆Doc-O_Matic涓轟綘鐨凜/C++錛孋++.net錛孌elphi/Pascal, VB.NET錛孋#鍜孞ava紼嬪簭<br>鎴栬呯粍浠朵駭鐢熷噯紜殑鏂囨。銆侱oc-O-Matic浣跨敤婧愪唬鐮佷腑鐨勭鍙峰拰娉ㄩ噴浠ュ強澶栭儴鐨勬枃妗?br>鏂囦歡鍒涘緩涓庢祦琛岀殑鏂囨。鏍峰紡涓鑷寸殑鏂囨。銆?/p> <p>銆銆(5) DocVizor</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.ucancode.net/Products/DocBuilder/Features.htm</u></span></a></p> <p>銆銆DocVizor婊¤凍浜嗛潰鍚戝璞¤蔣浠跺紑鍙戣呯殑鍩烘湰瑕佹眰鈥斺斿畠璁╂垜浠兘澶熺湅鍒癈++宸ョ▼<br>涓殑綾誨眰嬈$粨鏋勩侱ocVizor蹇熷湴浜х敓瀹屾暣鍙緵鎵撳嵃鐨勭被灞傛緇撴瀯鍥撅紝鍖呮嫭浠庣涓?br>鏂瑰簱涓潵鐨勯偅浜涚被錛岄櫎姝や箣澶朌ocVizor榪樿兘浠庣被淇℃伅涓駭鐢烪TML鏂囦歡銆?/p> <p>銆銆(6) SourcePublisher C++</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.scitools.com/sourcepublisher_c.html</u></span></a></p> <p>銆銆緇欐簮浠g爜浜х敓鎻愪緵蹇熺洿瑙傜殑HTML鎶ヨ〃錛屽寘鎷唬鐮侊紝綾誨眰嬈$粨鏋勶紝璋冪敤鍜岃璋?br>鐢ㄦ爲錛屽寘鍚拰琚寘鍚爲銆傛敮鎸佸縐嶆搷浣滅郴緇熴?/p> <p>銆銆(7) Understand</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.scitools.com/ucpp.html</u></span></a></p> <p>銆銆鍒嗘瀽浠諱綍瑙勬ā鐨凜鎴栬匔++宸ョ▼錛屽府鍔╂垜浠洿濂界殑鐞嗚В浠ュ強緙栧啓鏂囨。銆?/p> <p>銆銆4.2 浠g爜綾?/p> <p>銆銆(1) CC-Rider</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.cc-rider.com/</u></span></a></p> <p>銆銆CC-Rider鏄敤浜嶤/C++紼嬪簭寮哄ぇ鐨勪唬鐮佸彲瑙嗗寲宸ュ叿錛岄氳繃浜や簰寮忔祻瑙堛佺紪杈戝強鑷?br>鍔ㄦ枃浠舵潵淇冭繘紼嬪簭鐨勭淮鎸佸拰鍙戝睍銆?/p> <p>銆銆(2) CodeInspect</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.yokasoft.com/</u></span></a></p> <p>銆銆涓縐嶆柊鐨凜/C++浠g爜鍒嗘瀽宸ュ叿銆傚畠媯鏌ユ垜浠殑婧愪唬鐮佹壘鍑洪潪鏍囧噯鐨勶紝鍙兘鐨勶紝浠?br>鍙婃櫘閫氱殑閿欒浠g爜銆?/p> <p>銆銆(3) CodeWizard</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.parasoft.com/</u></span></a></p> <p>銆銆鍏堣繘鐨凜/C++婧愪唬鐮佸垎鏋愬伐鍏鳳紝浣跨敤瓚呰繃500涓紪鐮佽鑼冭嚜鍔ㄥ寲鍦版爣鏄庡嵄闄╃殑錛?br>浣嗘槸緙栬瘧鍣ㄤ笉鑳芥鏌ュ埌鐨勪唬鐮佺粨鏋勩?/p> <p>銆銆(4) C++ Validation Test Suites</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.plumhall.com/suites.html</u></span></a></p> <p>銆銆涓緇勭敤浜庢祴璇曠紪璇戝櫒鍜屽簱瀵逛簬鏍囧噯鍚誨悎紼嬪害鐨勪唬鐮佸簱銆?/p> <p>銆銆(5) CppRefactory</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://cpptool.sourceforge.net/</u></span></a></p> <p>銆銆CPPRefactory鏄竴涓嬌寰楀紑鍙戣呰兘澶熼噸鏋勪粬浠殑C++浠g爜鐨勭▼搴忋傜洰鐨勬槸浣垮緱C<br>++浠g爜鐨勯噸鏋勮兘澶熷敖鍙兘鐨勬湁鏁堢巼鍜岀畝鍗曘?/p> <p>銆銆(6) Lzz</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.lazycplusplus.com/</u></span></a></p> <p>銆銆Lzz鏄竴涓嚜鍔ㄥ寲璁稿C++緙栫▼涓殑浣撳姏媧葷殑宸ュ叿銆傚畠鑳藉鑺傜渷鎴戜滑璁稿浜嬩歡騫?br>涓斾嬌寰楃紪鐮佹洿鍔犳湁涔愯叮銆傜粰鍑轟竴緋誨垪鐨勫0鏄庯紝Lzz浼氱粰鎴戜滑鍒涘緩澶存枃浠跺拰婧愭枃浠躲?/p> <p>銆銆(7) QA C++ Generation 2000</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.programmingresearch.com/solutions/qacpp.htm</u></span></a></p> <p>銆銆瀹冨叧娉ㄩ潰鍚戝璞$殑C++婧愪唬鐮侊紝瀵規湁鍏充簬璁捐錛屾晥鐜囷紝鍙潬鎬э紝鍙淮鎶ゆх殑閮ㄥ垎<br>鎻愬嚭璀﹀憡淇℃伅銆?/p> <p>銆銆(8) s-mail project - Java to C++DOL</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://sadlocha.strefa.pl/s-mail/ja2dol.html</u></span></a></p> <p>銆銆鎶奐ava婧愪唬鐮佺炕璇戜負鐩稿簲鐨凜++婧愪唬鐮佺殑鍛戒護琛屽伐鍏楓?/p> <p>銆銆(9) SNIP from Cleanscape Software International</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.cleanscape.net/stdprod/snip/index.html</u></span></a></p> <p>銆銆涓涓~騫崇紪鐮佸拰璁捐涔嬮棿娌熷鐨勬槗浜庝嬌鐢ㄧ殑C++寮鍙戝伐鍏鳳紝鑺傜渷澶ч噺緙栬緫鍜岃皟璇?br>鐨勪簨浠訛紝瀹冭繕浣垮緱寮鍙戣呰兘澶熸寚瀹氳璁℃ā寮忎綔涓哄璞℃ā鍨嬶紝鑷姩浠庡璞℃ā鍨嬩腑浜х敓<br>C++鐨勭被銆?/p> <p>銆銆(10) SourceStyler C++</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.ochresoftware.com/</u></span></a></p> <p>銆銆瀵笴/C++婧愪唬鐮佹彁渚涘畬鏁寸殑鏍煎紡鍖栧拰鎺掔増鎺у埗鐨勫伐鍏楓傛彁渚涘浜?5涓殑鏍煎紡鍖栭?br>欏逛互鍙婂畬鍏ㄦ敮鎸丄NSI C++銆?/p> <p>銆銆4.3 緙栬瘧綾?/p> <p>銆銆(1) Compilercache</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.erikyyy.de/compilercache/</u></span></a></p> <p>銆銆Compilercache鏄竴涓浣犵殑C鍜孋++緙栬瘧鍣ㄧ殑灝佽鑴氭湰銆傛瘡嬈℃垜浠繘琛岀紪璇戯紝灝?br>瑁呰剼鏈紝鎶婄紪璇戠殑緇撴灉鏀懼叆緙撳瓨錛屼竴鏃︾紪璇戠浉鍚岀殑涓滆タ錛岀粨鏋滃皢浠庣紦瀛樹腑鍙栧嚭鑰屼笉<br>鏄啀嬈$紪璇戙?/p> <p>銆銆(2) Ccache</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://ccache.samba.org/</u></span></a></p> <p>銆銆Ccache鏄竴涓紪璇戝櫒緙撳瓨銆傚畠浣跨敤璧鋒潵灝卞儚C/C++緙栬瘧鍣ㄧ殑緙撳瓨棰勫鐞嗗櫒錛岀紪璇?br>閫熷害閫氬父鑳芥彁楂樻櫘閫氱紪璇戣繃紼嬬殑5~10鍊嶃?/p> <p>銆銆(3) Cmm (C++ with MultiMethods)</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.op59.net/cmm/cmm-0.28/users.html</u></span></a></p> <p>銆銆榪欐槸涓縐岰++璇█鐨勬墿灞曘傝鍏mm婧愪唬鐮佽緭鍑篊++鐨勬簮浠g爜錛屽姛鑳芥槸瀵笴++璇█<br>娣誨姞浜嗗multimethod鐨勬敮鎸併?/p> <p>銆銆(4) The Frost Project</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://frost.flewid.de/</u></span></a></p> <p>銆銆Forst浣垮緱浣犺兘澶熷湪C++紼嬪簭涓儚鍘熺敓鐨凜++鐗規т竴鏍蜂嬌鐢╩ultimethod浠ュ強铏氬嚱<br>鏁板弬鏁般傚畠鏄竴涓紪璇戝櫒鐨勫澹熾?/p> <p>銆銆4.4 嫻嬭瘯鍜岃皟璇曠被</p> <p>銆銆(1) CPPUnit</p> <p>銆銆CppUnit 鏄釜鍩轟簬 LGPL 鐨勫紑婧愰」鐩紝鏈鍒濈増鏈Щ妞嶈嚜 JUnit錛屾槸涓涓潪甯鎬紭<br>縐鐨勫紑婧愭祴璇曟鏋躲侰ppUnit 鍜?nbsp;JUnit 涓鏍蜂富瑕佹濇兂鏉ユ簮浜庢瀬闄愮紪紼嬨備富瑕佸姛鑳藉氨<br>鏄鍗曞厓嫻嬭瘯榪涜綆$悊錛屽茍鍙繘琛岃嚜鍔ㄥ寲嫻嬭瘯銆?/p> <p>銆銆(2) C++Test</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.parasoft.com/</u></span></a></p> <p>銆銆C++ Test鏄竴涓崟鍏冩祴璇曞伐鍏鳳紝瀹冭嚜鍔ㄥ寲浜咰鍜孋++綾伙紝鍑芥暟鎴栬呯粍浠剁殑嫻嬭瘯銆?/p> <p><br>銆銆(3) Cantata++</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.iplbath.com/products/tools/pt400.shtml</u></span></a></p> <p>銆銆璁捐鐨勭洰鐨勬槸涓轟簡婊¤凍鍦ㄥ悎鐞嗙殑緇忔祹寮閿涓嬩嬌鐢ㄨ繖涓伐鍏峰彲浠ヨ寮鍙戝伐紼嬪笀寮<br>灞曞崟鍏冩祴璇曞拰闆嗘垚嫻嬭瘯鐨勯渶姹?</p> <p>銆銆(4) Purify</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www-900.ibm.com/cn/software/rational/products/purif</u></span></a><br>yplus/index.shtml</p> <p>銆銆IBM Rational PurifyPlus鏄竴濂楀畬鏁寸殑榪愯鏃跺垎鏋愬伐鍏鳳紝鏃ㄥ湪鎻愰珮搴旂敤紼嬪簭鐨?br>鍙潬鎬у拰鎬ц兘銆侾urifyPlus灝嗗唴瀛橀敊璇拰娉勬紡媯嫻嬨佸簲鐢ㄧ▼搴忔ц兘鎻忚堪銆佷唬鐮佽鐩?br>鍒嗘瀽絳夊姛鑳界粍鍚堝湪涓涓崟涓銆佸畬鏁寸殑宸ュ叿鍖呬腑銆?/p> <p>銆銆(5) BoundsChecker</p> <p>銆銆BoundsChecker鏄竴涓狢++榪愯鏃墮敊璇嫻嬪拰璋冭瘯宸ュ叿銆傚畠閫氳繃鍦╒isual Studi<br>o鍐呰嚜鍔ㄥ寲璋冭瘯榪囩▼鍔犻熷紑鍙戝茍涓旂緝鐭笂甯傜殑鍛ㄦ湡銆侭oundsChecker鎻愪緵娓呮錛岃緇?br>鐨勭▼搴忛敊璇垎鏋愶紝璁稿鏄C++鐙湁鐨勫茍涓斿湪static錛宻tack鍜宧eap鍐呭瓨涓嫻嬪拰璇?br>鏂敊璇紝浠ュ強鍙戠幇鍐呭瓨鍜岃祫婧愮殑娉勬紡銆傘銆(6) Insure++</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.parasoft.com/</u></span></a></p> <p>銆銆涓涓嚜鍔ㄥ寲鐨勮繍琛屾椂紼嬪簭嫻嬭瘯宸ュ叿錛屾鏌ラ毦浠ュ療瑙夌殑閿欒,濡傚唴瀛樿鐩栵紝鍐呭瓨娉?br>婕忥紝鍐呭瓨鍒嗛厤閿欒錛屽彉閲忓垵濮嬪寲閿欒錛屽彉閲忓畾涔夊啿紿侊紝鎸囬拡閿欒錛屽簱閿欒錛岄昏緫閿?br>璇拰綆楁硶閿欒絳夈?/p> <p>銆銆(7) GlowCode</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.glowcode.com/</u></span></a></p> <p>銆銆GlowCode鍖呮嫭鍐呭瓨娉勬紡媯鏌ワ紝code profiler錛屽嚱鏁拌皟鐢ㄨ窡韙瓑鍔熻兘銆傜粰C++寮<br>鍙戣呮彁渚涘畬鏁寸殑閿欒璇婃柇錛屽拰榪愯鏃舵ц兘鍒嗘瀽宸ュ叿鍖呫?/p> <p>銆銆(8) Stack Spy</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.imperioustech.com/</u></span></a></p> <p>銆銆瀹冭兘鎹曟崏stack corruption, stack over run, stack overflow絳夋湁鍏蟲爤鐨勯敊<br>璇?/p> <p>------------------------------------------------------------------------</p> <p>5錛屽簱 </p> <p> </p> <p>銆銆鍦–++涓紝搴撶殑鍦頒綅鏄潪甯擱珮鐨勩侰++涔嬬埗 Bjarne Stroustrup鍏堢敓澶氭琛ㄧず浜?br>璁捐搴撴潵鎵╁厖鍔熻兘瑕佸ソ榪囪璁℃洿澶氱殑璇硶鐨勮█璁恒傜幇瀹炰腑錛孋++鐨勫簱闂ㄧ被綣佸錛岃В鍐?br>鐨勯棶棰樹篃鏄瀬鍏跺箍娉涳紝搴撲粠杞婚噺綰у埌閲嶉噺綰х殑閮芥湁銆備笉灝戦兘鏄浜虹溂鐣屽ぇ寮錛屼害鎴?br>鏄湜鑰岀敓鍙圭殑鎬濈淮鏉頒綔銆傜敱浜庡簱鐨勬暟閲忛潪甯稿簽澶э紝鑰屼笖闄愪簬絎旇呮按騫籌紝鍏朵腑寰堝騫?br>涓嶄簡瑙c傛墍浠ユ枃涓墍鎻愮殑涓浜涘簱閮芥槸姣旇緝钁楀悕鐨勫ぇ鍨嬪簱銆?/p> <p>銆銆5.1 鏍囧噯搴?/p> <p>銆銆鏍囧噯搴撲腑鎻愪緵浜咰++紼嬪簭鐨勫熀鏈鏂姐傝櫧鐒禖++鏍囧噯搴撻殢鐫C++鏍囧噯鎶樿吘浜嗚澶氬勾<br>錛岀洿鍒版爣鍑嗙殑鍑哄彴鎵嶆寮忓畾鍨嬶紝浣嗘槸鍦ㄦ爣鍑嗗簱鐨勫疄鐜頒笂鍗村緢浠や漢嬈f叞寰楃湅鍒板縐嶅疄<br>鐜幫紝騫朵笖宸茶瀹炶返璇佹槑涓烘湁宸ヤ笟綰у埆寮哄害鐨勪匠浣溿?/p> <p>銆銆(1) Dinkumware C++ Library</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.dinkumware.com/</u></span></a></p> <p>銆銆P.J. Plauger緙栧啓鐨勯珮鍝佽川鐨勬爣鍑嗗簱銆侾.J. Plauger鍗氬+鏄疍r. Dobb's紼嬪簭璁?br>璁℃澃鍑哄鐨勮幏寰楄呫傚叾緙栧啓鐨勫簱闀挎湡琚玀icrosoft閲囩敤錛屽茍涓旀渶榪態orland涔熷彇寰椾簡<br>鍏禣EM鐨刲icense錛屽湪鍏禖/C++鐨勪駭鍝佷腑閲囩敤Dinkumware鐨勫簱銆?/p> <p>銆銆(2) RogueWave Standard C++ Library</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.roguewave.com/</u></span></a></p> <p>銆銆榪欎釜搴撳湪Borland C++ Builder鐨勬棭鏈熺増鏈腑鏇劇粡琚噰鐢紝鍚庢潵琚叾浠栫殑搴撶粰鏇?br>鎹簡銆傜瑪鑰呬笉鎺ㄨ崘浣跨敤銆?/p> <p>銆銆(3) SGI STL</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.roguewave.com/</u></span></a></p> <p>銆銆SGI鍏徃鐨凜++鏍囧噯妯$増搴撱?/p> <p>銆銆(4) STLport</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.stlport.org/</u></span></a></p> <p>銆銆SGI STL搴撶殑璺ㄥ鉤鍙板彲縐繪鐗堟湰銆?/p> <p>銆銆5.2 “鍑?#8221;鏍囧噯搴?nbsp;- Boost</p> <p>銆銆鍙傝冪珯鐐癸細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.boost.org/</u></span></a></p> <p>銆銆鍥藉唴闀滃儚錛?a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.c-view.org/tech/lib/boost/index.htm</u></span></a></p> <p>銆銆Boost搴撴槸涓涓粡榪囧崈閿ょ櫨鐐箋佸彲縐繪銆佹彁渚涙簮浠g爜鐨凜++搴擄紝浣滀負鏍囧噯搴撶殑鍚?br>澶囷紝鏄疌++鏍囧噯鍖栬繘紼嬬殑鍙戝姩鏈轟箣涓銆?nbsp;Boost搴撶敱C++鏍囧噯濮斿憳浼氬簱宸ヤ綔緇勬垚鍛樺彂璧?br>錛屽湪C++紺懼尯涓獎鍝嶇敋澶э紝鍏舵垚鍛樺凡榪?000浜恒?nbsp;Boost搴撲負鎴戜滑甯︽潵浜嗘渶鏂般佹渶閰楓?br>鏈瀹炵敤鐨勬妧鏈紝鏄笉鎶樹笉鎵g殑“鍑?#8221;鏍囧噯搴撱?/p> <p>銆銆Boost涓瘮杈冩湁鍚嶆皵鐨勬湁榪欎箞鍑犱釜搴擄細</p> <p>銆銆Regex</p> <p>銆銆姝e垯琛ㄨ揪寮忓簱</p> <p>銆銆Spirit</p> <p>銆銆LL parser framework錛岀敤C++浠g爜鐩存帴琛ㄨ揪EBNF</p> <p>銆銆Graph</p> <p>銆銆鍥劇粍浠跺拰綆楁硶</p> <p>銆銆Lambda</p> <p>銆銆鍦ㄨ皟鐢ㄧ殑鍦版柟瀹氫箟鐭皬鍖垮悕鐨勫嚱鏁板璞★紝寰堝疄鐢ㄧ殑functional鍔熻兘</p> <p>銆銆concept check</p> <p>銆銆媯鏌ユ硾鍨嬬紪紼嬩腑鐨刢oncept</p> <p><br>銆銆Mpl</p> <p>銆銆鐢ㄦā鏉垮疄鐜扮殑鍏冪紪紼嬫鏋?/p> <p><br>銆銆Thread</p> <p>銆銆鍙Щ妞嶇殑C++澶氱嚎紼嬪簱</p> <p><br>銆銆Python</p> <p>銆銆鎶奀++綾誨拰鍑芥暟鏄犲皠鍒癙ython涔嬩腑</p> <p>銆銆Pool</p> <p>銆銆鍐呭瓨姹犵鐞?/p> <p><br>銆銆smart_ptr</p> <p>銆銆5涓櫤鑳芥寚閽堬紝瀛︿範鏅鴻兘鎸囬拡蹇呰錛屼竴浠戒笉閿欑殑鍙傝冩槸鏉ヨ嚜CUJ鐨勬枃绔狅細</p> <p>銆銆Smart Pointers in Boost錛屽摝錛岃繖綃囨枃绔犲彲浠ユ煡鍒幫紝CUJ鏄彁渚涘湪綰挎祻瑙堢殑銆?br>涓枃鐗堣絎旇呭湪銆奃r. Dobb's Journal杞歡鐮斿彂鏉傚織銆嬬7杈戜笂鐨勮瘧鏂囥?/p> <p>銆銆Boost鎬諱綋鏉ヨ鏄疄鐢ㄤ環鍊煎緢楂橈紝璐ㄩ噺寰堥珮鐨勫簱銆傚茍涓旂敱浜庡叾瀵硅法騫沖彴鐨勫己璋冿紝<br>瀵規爣鍑咰++鐨勫己璋冿紝鏄紪鍐欏鉤鍙版棤鍏籌紝鐜頒唬C++鐨勫紑鍙戣呭繀澶囩殑宸ュ叿銆備絾鏄疊oost涓篃<br>鏈夊緢澶氭槸瀹為獙鎬ц川鐨勪笢瑗匡紝鍦ㄥ疄闄呯殑寮鍙戜腑瀹炵敤闇瑕佽皚鎱庛傚茍涓斿緢澶欱oost涓殑搴撳姛<br>鑳藉牚縐板璇█鍔熻兘鐨勬墿灞曪紝鍏舵瀯閫犵敤灝界簿宸х殑鎵嬫硶錛屼笉瑕佽錘鐒剁殑鑺辮垂鏃墮棿鐮旇銆侭o<br>ost鍙﹀涓闈紝姣斿Graph榪欐牱鐨勫簱鍒欐槸鍏鋒湁宸ヤ笟寮哄害錛岀粨鏋勮壇濂斤紝闈炲父鍊煎緱鐮旇鐨?br>綺懼搧浠g爜錛屽茍涓斾篃鍙互鏀懼績鐨勫湪浜у搧浠g爜涓澶氬埄鐢ㄣ?/p> <p>銆銆5.3 GUI</p> <p>銆銆鍦ㄤ紬澶欳++鐨勫簱涓紝GUI閮ㄥ垎鐨勫簱綆楁槸姣旇緝綣佽崳錛屼篃姣旇緝寮曚漢娉ㄧ洰鐨勩傚湪瀹為檯寮<br>鍙戜腑錛孏UI搴撶殑閫夋嫨涔熸槸闈炲父閲嶈鐨勪竴浠朵簨鎯咃紝涓嬮潰鎴戜滑緇艱堪涓涓嬪彲閫夋嫨鐨凣UI搴擄紝<br>鍚勮嚜鐨勭壒鐐逛互鍙婄浉鍏沖伐鍏風殑鏀寔銆?/p> <p>銆銆(1) MFC</p> <p>銆銆澶у悕榧庨紟鐨勫井杞熀紜綾誨簱錛圡icrosoft Foundation Class錛夈傚ぇ鍑″榪嘨C++鐨?br>浜洪兘搴旇鐭ラ亾榪欎釜搴撱傝櫧鐒朵粠鎶鏈搴﹁錛孧FC鏄笉澶ф紓浜殑錛屼絾鏄畠鏋勫緩浜嶹indo<br>ws API 涔嬩笂錛岃兘澶熶嬌紼嬪簭鍛樼殑宸ヤ綔鏇村鏄?緙栫▼鏁堢巼楂橈紝鍑忓皯浜嗗ぇ閲忓湪寤虹珛 Windo<br>ws 紼嬪簭鏃跺繀欏葷紪鍐欑殑浠g爜錛屽悓鏃跺畠榪樻彁渚涗簡鎵鏈変竴鑸?nbsp;C++ 緙栫▼鐨勪紭鐐癸紝渚嬪緇ф壙<br>鍜屽皝瑁呫侻FC 緙栧啓鐨勭▼搴忓湪鍚勪釜鐗堟湰鐨刉indows鎿嶄綔緋葷粺涓婃槸鍙Щ妞嶇殑錛屼緥濡傦紝鍦?br>Windows 3.1涓嬬紪鍐欑殑浠g爜鍙互寰堝鏄撳湴縐繪鍒?nbsp;Windows NT 鎴?nbsp;Windows 95 涓娿備絾<br>鏄湪鏈榪戝彂灞曚互鍙婂畼鏂規敮鎸佷笂鏃ユ笎鍔垮井銆?/p> <p>銆銆(2) QT</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.trolltech.com/</u></span></a></p> <p>銆銆Qt鏄疶rolltech鍏徃鐨勪竴涓騫沖彴鐨凜++鍥懼艦鐢ㄦ埛鐣岄潰搴旂敤紼嬪簭妗嗘灦銆傚畠鎻愪緵緇?br>搴旂敤紼嬪簭寮鍙戣呭緩绔嬭壓鏈駭鐨勫浘褰㈢敤鎴風晫闈㈡墍闇鐨勬墍鐢ㄥ姛鑳姐俀t鏄畬鍏ㄩ潰鍚戝璞$殑<br>寰堝鏄撴墿灞曪紝騫朵笖鍏佽鐪熸鍦扮粍浠剁紪紼嬨傝嚜浠?996騫存棭浜涙椂鍊欙紝Qt榪涘叆鍟嗕笟棰嗗煙錛?br>瀹冨凡緇忔垚涓哄叏涓栫晫鑼冨洿鍐呮暟鍗冪鎴愬姛鐨勫簲鐢ㄧ▼搴忕殑鍩虹銆俀t涔熸槸嫻佽鐨凩inux妗岄潰鐜?br>澧僈DE 鐨勫熀紜錛屽悓鏃跺畠榪樻敮鎸乄indows銆丮acintosh銆乁nix/X11絳夊縐嶅鉤鍙般?/p> <p>銆銆(3) WxWindows</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.wxwindows.org/</u></span></a></p> <p>銆銆璺ㄥ鉤鍙扮殑GUI搴撱傚洜涓哄叾綾誨眰嬈℃瀬鍍廙FC錛屾墍浠ユ湁鏂囩珷浠嬬粛浠嶮FC鍒癢xWindows鐨?br>浠g爜縐繪浠ュ疄鐜拌法騫沖彴鐨勫姛鑳姐傞氳繃澶氬勾鐨勫紑鍙戜篃鏄竴涓棩瓚嬪畬鍠勭殑GUI搴擄紝鏀寔鍚?br>鏍蜂笉寮變簬鍓嶉潰涓や釜搴撱傚茍涓旀槸瀹屽叏寮鏀炬簮浠g爜鐨勩傛柊榪戠殑C++ Builder X鐨凣UI璁捐<br>鍣ㄥ氨鏄熀浜庤繖涓簱鐨勩?/p> <p>銆銆(4) Fox</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.fox-toolkit.org/</u></span></a></p> <p>銆銆寮鏀炬簮浠g爜鐨凣UI搴撱備綔鑰呬粠鑷繁浜茶韓鐨勫紑鍙戠粡楠屼腑寰楀嚭浜嗕竴涓悊鎯崇殑GUI搴撳簲<br>璇ユ槸浠涔堟牱瀛愮殑鎰熷彈鍑哄彂錛屼粠鑰屽紑濮嬩簡瀵硅繖涓簱鐨勫紑鍙戙傛湁鍏磋叮鐨勫彲浠ュ皾璇曚竴涓嬨?/p> <p><br>銆銆(5) WTL</p> <p>銆銆鍩轟簬ATL鐨勪竴涓簱銆傚洜涓轟嬌鐢ㄤ簡澶ч噺ATL鐨勮交閲忕駭鎵嬫硶錛屾ā鏉跨瓑鎶鏈紝鍦ㄤ唬鐮佸昂<br>瀵革紝浠ュ強閫熷害浼樺寲鏂歸潰鍋氬緱闈炲父鍒頒綅銆備富瑕侀潰鍚戠殑浣跨敤緹や綋鏄紑鍙慍OM杞婚噺綰т緵緗戠粶<br>涓嬭澆鐨勫彲瑙嗗寲鎺т歡鐨勫紑鍙戣呫?/p> <p>銆銆(6) GTK</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://gtkmm.sourceforge.net/</u></span></a></p> <p>銆銆GTK鏄竴涓ぇ鍚嶉紟榧庣殑C鐨勫紑婧怗UI搴撱傚湪Linux涓栫晫涓湁Gnome榪欐牱鐨勬潃鎵嬪簲鐢ㄣ?br>鑰孏TK灝辨槸榪欎釜搴撶殑C++灝佽鐗堟湰銆?/p> <p>銆銆5.4 緗戠粶閫氫俊</p> <p>銆銆(1) ACE</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #000050"><u>http://www.cs.wustl.edu/~schmidt/ACE.html</u></span></a></p> <p>銆銆C++搴撶殑浠h〃錛岃秴閲嶉噺綰х殑緗戠粶閫氫俊寮鍙戞鏋躲侫CE鑷傞厤閫氫俊鐜錛圓daptive<br>Communication Environment錛夋槸鍙互鑷敱浣跨敤銆佸紑鏀炬簮浠g爜鐨勯潰鍚戝璞℃鏋訛紝鍦?br>鍏朵腑瀹炵幇浜嗚澶氱敤浜庡茍鍙戦氫俊杞歡鐨勬牳蹇冩ā寮忋侫CE鎻愪緵浜嗕竴緇勪赴瀵岀殑鍙鐢–++鍖?br>瑁呭瑙傦紙Wrapper Facade錛夊拰妗嗘灦緇勪歡錛屽彲璺ㄨ秺澶氱騫沖彴瀹屾垚閫氱敤鐨勯氫俊杞歡浠誨姟<br>錛屽叾涓寘鎷細浜嬩歡澶氳礬鍒嗙鍜屼簨浠跺鐞嗗櫒鍒嗘淳銆佷俊鍙峰鐞嗐佹湇鍔″垵濮嬪寲銆佽繘紼嬮棿閫?br>淇°佸叡浜唴瀛樼鐞嗐佹秷鎭礬鐢便佸垎甯冨紡鏈嶅姟鍔ㄦ侊紙閲嶏級閰嶇疆銆佸茍鍙戞墽琛屽拰鍚屾錛岀瓑<br>絳夈?/p> <p>銆銆(2) StreamModule</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.omnifarious.org/StrMod/</u></span></a></p> <p>銆銆璁捐鐢ㄤ簬綆鍖栫紪鍐欏垎甯冨紡紼嬪簭鐨勫簱銆傚皾璇曠潃浣垮緱緙栧啓澶勭悊寮傛琛屼負鐨勭▼搴忔洿瀹?br>鏄擄紝鑰屼笉鏄敤鍚屾鐨勫澹沖寘璧峰紓姝ョ殑鏈川銆?/p> <p>銆銆(3) SimpleSocket</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://home.hetnet.nl/~lcbokkers/simsock.htm</u></span></a></p> <p>銆銆榪欎釜綾誨簱璁╃紪鍐欏熀浜巗ocket鐨勫鎴?鏈嶅姟鍣ㄧ▼搴忔洿鍔犲鏄撱?/p> <p>銆銆(4) A Stream Socket API for C++</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.h</u></span></a><br>tml</p> <p>銆銆鍙堜竴涓Socket鐨勫皝瑁呭簱銆?/p> <p>銆銆5.5 XML</p> <p>銆銆(1) Xerces</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://xml.apache.org/xerces-c/</u></span></a></p> <p>銆銆Xerces-C++ 鏄竴涓潪甯稿仴澹殑XML瑙f瀽鍣紝瀹冩彁渚涗簡楠岃瘉錛屼互鍙奡AX鍜孌OM API<br>銆俋ML楠岃瘉鍦ㄦ枃妗g被鍨嬪畾涔?Document Type Definition錛孌TD)鏂歸潰鏈夊緢濂界殑鏀寔錛?br>騫朵笖鍦?001騫?2鏈堝鍔犱簡鏀寔W3C XML Schema 鐨勫熀鏈畬鏁寸殑寮鏀炬爣鍑嗐?/p> <p>銆銆(2) XMLBooster</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.xmlbooster.com/</u></span></a></p> <p>銆銆榪欎釜搴撻氳繃浜х敓鐗瑰埗鐨刾arser鐨勫姙娉曟瀬澶х殑鎻愰珮浜哫ML瑙f瀽鐨勯熷害錛屽茍涓旇兘澶熶駭<br>鐢熺浉搴旂殑GUI紼嬪簭鏉ヤ慨鏀硅繖涓猵arser銆傚湪DOM鍜孲AX涓ゅぇ涓繪祦XML瑙f瀽鍔炴硶涔嬪鎻愪緵浜?br>鍙﹀涓涓彲琛岀殑瑙e喅鏂規銆?/p> <p>銆銆(3) Pull Parser</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.extreme.indiana.edu/xgws/xsoap/xpp/</u></span></a></p> <p>銆銆榪欎釜搴撻噰鐢╬ull鏂規硶鐨刾arser銆傚湪姣忎釜SAX鐨刾arser搴曞眰閮芥湁涓涓猵ull鐨刾arse<br>r錛岃繖涓獂pp鎶婅繖灞傛毚闇插嚭鏉ョ洿鎺ョ粰澶у浣跨敤銆傚湪瑕佸厖鍒嗚冭檻閫熷害鐨勬椂鍊欏煎緱灝濊瘯銆?/p> <p><br>銆銆(4) Xalan</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://xml.apache.org/xalan-c/</u></span></a></p> <p>銆銆Xalan鏄竴涓敤浜庢妸XML鏂囨。杞崲涓篐TML錛岀函鏂囨湰鎴栬呭叾浠朮ML綾誨瀷鏂囨。鐨刋SLT澶?br>鐞嗗櫒銆?/p> <p>銆銆(5) CMarkup</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.firstobject.com/xml.htm</u></span></a></p> <p>銆銆榪欐槸涓縐嶄嬌鐢‥DOM鐨刋ML瑙f瀽鍣ㄣ傚湪寰堝鎬濊礬涓婇潰闈炲父鐏墊椿瀹炵敤銆傚煎緱澶у鍦―<br>OM鍜孲AX涔嬪瀵繪眰涓鐐圭伒鎰熴?/p> <p>銆銆(6) libxml++</p> <p>銆銆<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://libxmlplusplus.sourceforge.net/</u></span></a></p> <p>銆銆libxml++鏄钁楀悕鐨刲ibxml XML瑙f瀽鍣ㄧ殑C++灝佽鐗堟湰</p> <p>銆銆5.6 縐戝璁$畻</p> <p>銆銆(1) Blitz++</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.oonumerics.org/blitz/</u></span></a></p> <p>銆銆Blitz++ 鏄竴涓珮鏁堢巼鐨勬暟鍊艱綆楀嚱鏁板簱錛屽畠鐨勮璁$洰鐨勬槸甯屾湜寤虹珛涓濂楁棦鍏?br>鍍廋++ 涓鏍鋒柟渚匡紝鍚屾椂鍙堟瘮Fortran閫熷害鏇村揩鐨勬暟鍊艱綆楃幆澧冦傞氬父錛岀敤C++鎵鍐欏嚭<br>鐨勬暟鍊肩▼搴忥紝姣?nbsp;Fortran鎱?0%宸﹀彸錛屽洜姝litz++姝f槸瑕佹敼鎺夎繖涓己鐐廣傛柟娉曟槸鍒?br>鐢–++鐨則emplate鎶鏈紝紼嬪簭鎵ц鐢氳嚦鍙互姣擣ortran鏇村揩銆侭litz++鐩墠浠嶅湪鍙戝睍涓?br>錛屽浜庡父瑙佺殑SVD錛孎FTs錛孮MRES絳夊父瑙佺殑綰挎т唬鏁版柟娉曞茍涓嶆彁渚涳紝涓嶈繃浣跨敤鑰呭彲浠?br>寰堝鏄撳湴鍒╃敤Blitz++鎵鎻愪緵鐨勫嚱鏁版潵鏋勫緩銆?/p> <p>銆銆(2) POOMA</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.codesourcery.com/pooma/pooma</u></span></a></p> <p>銆銆POOMA鏄竴涓厤璐圭殑楂樻ц兘鐨凜++搴擄紝鐢ㄤ簬澶勭悊騫惰寮忕瀛﹁綆椼侾OOMA鐨勯潰鍚戝<br>璞¤璁℃柟渚夸簡蹇熺殑紼嬪簭寮鍙戯紝瀵瑰茍琛屾満鍣ㄨ繘琛屼簡浼樺寲浠ヨ揪鍒版渶楂樼殑鏁堢巼錛屾柟渚垮湪<br>宸ヤ笟鍜岀爺絀剁幆澧冧腑浣跨敤銆?/p> <p>銆銆(3) MTL</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.osl.iu.edu/research/mtl/</u></span></a></p> <p>銆銆Matrix Template Library(MTL)鏄竴涓珮鎬ц兘鐨勬硾鍨嬬粍浠跺簱錛屾彁渚涗簡鍚勭鏍煎紡<br>鐭╅樀鐨勫ぇ閲忕嚎鎬т唬鏁版柟闈㈢殑鍔熻兘銆傚湪鏌愪簺搴旂敤浣跨敤楂樻ц兘緙栬瘧鍣ㄧ殑鎯呭喌涓嬶紝姣斿In<br>tel鐨勭紪璇戝櫒錛屼粠浜х敓鐨勬眹緙栦唬鐮佸彲浠ョ湅鍑哄叾涓庢墜鍐欏嚑涔庢病鏈変袱鏍風殑鏁堣兘銆?/p> <p>銆銆(4) CGAL</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.cgal.org/</u></span></a></p> <p>銆銆Computational Geometry Algorithms Library鐨勭洰鐨勬槸鎶婂湪璁$畻鍑犱綍鏂歸潰鐨勫ぇ<br>閮ㄥ垎閲嶈鐨勮В鍐蟲柟妗堝拰鏂規硶浠++搴撶殑褰㈠紡鎻愪緵緇欏伐涓氬拰瀛︽湳鐣岀殑鐢ㄦ埛銆?/p> <p>銆銆5.7 娓告垙寮鍙?/p> <p>銆銆(1) Audio/Video 3D C++ Programming Library</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.galacticasoftware.com/products/av/</u></span></a></p> <p>銆銆AV3D鏄竴涓法騫沖彴錛岄珮鎬ц兘鐨凜++搴撱備富瑕佺殑鐗規ф槸鎻愪緵3D鍥懼艦錛屽0鏁堟敮鎸侊紙S<br>B,浠ュ強S3M錛夛紝鎺у埗鎺ュ彛錛堥敭鐩橈紝榧犳爣鍜岄仴鎰燂級錛孹MS銆?/p> <p>銆銆(2) KlayGE</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://home.g365.net/enginedev/</u></span></a></p> <p>銆銆鍥藉唴娓告垙寮鍙戦珮鎵嬭嚜宸辯敤C++寮鍙戠殑娓告垙寮曟搸銆侹layGE鏄竴涓紑鏀炬簮浠g爜銆佽法騫?br>鍙扮殑娓告垙寮曟搸錛屽茍浣跨敤Python浣滆剼鏈璦銆侹layGE鍦↙GPL鍗忚涓嬪彂琛屻傛劅璋㈤練鏁忔晱<br>鍏堢敓涓轟腑鍥芥父鎴忓紑鍙戜簨涓氭墍鍋氬嚭鐨勮礎鐚?/p> <p>銆銆(3) OGRE</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.ogre3d.org/</u></span></a></p> <p>銆銆OGRE錛堥潰鍚戝璞$殑鍥懼艦娓叉煋寮曟搸錛夋槸鐢–++寮鍙戠殑錛屼嬌鐢ㄧ伒媧葷殑闈㈠悜瀵硅薄3D寮曟搸<br>銆傚畠鐨勭洰鐨勬槸璁╁紑鍙戣呰兘鏇存柟渚垮拰鐩存帴鍦板紑鍙戝熀浜?D紜歡璁懼鐨勫簲鐢ㄧ▼搴忔垨娓告垙銆?br>寮曟搸涓殑綾誨簱瀵規洿搴曞眰鐨勭郴緇熷簱錛堝錛欴irect3D鍜孫penGL錛夌殑鍏ㄩ儴浣跨敤緇嗚妭榪涜浜?br>鎶借薄錛屽茍鎻愪緵浜嗗熀浜庣幇瀹炰笘鐣屽璞$殑鎺ュ彛鍜屽叾瀹冪被銆?/p> <p>銆銆5.8 綰跨▼</p> <p>銆銆(1) C++ Threads</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://threads.sourceforge.net/</u></span></a></p> <p>銆銆榪欎釜搴撶殑鐩爣鏄粰紼嬪簭鍛樻彁渚涙槗浜庝嬌鐢ㄧ殑綾伙紝榪欎簺綾昏緇ф壙浠ユ彁渚涘湪Linux鐜<br>涓緢闅劇湅鍒扮殑澶ч噺鐨勭嚎紼嬫柟闈㈢殑鍔熻兘銆?/p> <p>銆銆(2) ZThreads</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://zthread.sourceforge.net/</u></span></a></p> <p>銆銆涓涓厛榪涚殑闈㈠悜瀵硅薄錛岃法騫沖彴鐨凜++綰跨▼鍜屽悓姝ュ簱銆?/p> <p>銆銆5.9 搴忓垪鍖?/p> <p>銆銆(1) s11n</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://s11n.net/</u></span></a></p> <p>銆銆涓涓熀浜嶴TL鐨凜++搴擄紝鐢ㄤ簬搴忓垪鍖朠OD錛孲TL瀹瑰櫒浠ュ強鐢ㄦ埛瀹氫箟鐨勭被鍨嬨?/p> <p>銆銆(2) Simple XML Persistence Library</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://sxp.sourceforge.net/</u></span></a></p> <p>銆銆榪欐槸涓涓妸瀵硅薄搴忓垪鍖栦負XML鐨勮交閲忕駭鐨凜++搴撱?/p> <p>銆銆5.10 瀛楃涓?/p> <p>銆銆(1) C++ Str Library</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.utilitycode.com/str/</u></span></a></p> <p>銆銆鎿嶄綔瀛楃涓插拰瀛楃鐨勫簱錛屾敮鎸乄indows鍜屾敮鎸乬cc鐨勫縐嶅鉤鍙般傛彁渚涢珮搴︿紭鍖栫殑<br>浠g爜錛屽茍涓旀敮鎸佸綰跨▼鐜鍜孶nicode錛屽悓鏃惰繕鏈夋鍒欒〃杈懼紡鐨勬敮鎸併?/p> <p>銆銆(2) Common Text Transformation Library</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://cttl.sourceforge.net/</u></span></a></p> <p>銆銆榪欐槸涓涓В鏋愬拰淇敼STL瀛楃涓茬殑搴撱侰TTL substring綾誨彲浠ョ敤鏉ユ瘮杈冿紝鎻掑叆錛?br>鏇挎崲浠ュ強鐢‥BNF鐨勮娉曡繘琛岃В鏋愩?/p> <p>銆銆(3) GRETA</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://research.microsoft.com/projects/greta/</u></span></a></p> <p>銆銆榪欐槸鐢卞井杞爺絀墮櫌鐨勭爺絀朵漢鍛樺紑鍙戠殑澶勭悊姝e垯琛ㄨ揪寮忕殑搴撱傚湪灝忓瀷鍖歸厤鐨勬儏鍐?br>涓嬫湁闈炲父浼樼鐨勮〃鐜般?/p> <p>銆銆5.11 緇煎悎</p> <p>銆銆(1) P::Classes</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://pclasses.com/</u></span></a></p> <p>銆銆涓涓珮搴﹀彲縐繪鐨凜++搴旂敤紼嬪簭妗嗘灦銆傚綋鍓嶅叧娉ㄧ被鍨嬪拰綰跨▼瀹夊叏鐨剆ignal/slot<br>鏈哄埗錛宨/o緋葷粺鍖呮嫭鍩轟簬鎻掍歡鐨勭綉緇滃崗璁忔槑鐨刬/o鏋舵瀯錛屽熀浜庢彃浠剁殑搴旂敤紼嬪簭娑堟伅<br>鏃ュ織妗嗘灦錛岃闂畇ql鏁版嵁搴撶殑綾葷瓑絳夈?/p> <p>銆銆(2) ACDK - Artefaktur Component Development Kit</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://acdk.sourceforge.net/</u></span></a></p> <p>銆銆榪欐槸涓涓鉤鍙版棤鍏崇殑C++緇勪歡妗嗘灦錛岀被浼間簬Java鎴栬?NET涓殑妗嗘灦錛堝弽灝勬満鍒訛紝<br>綰跨▼錛孶nicode錛屽簾鏂欐敹闆嗭紝I/O錛岀綉緇滐紝瀹炵敤宸ュ叿錛孹ML錛岀瓑絳夛級錛屼互鍙婂Java, P<br>erl, Python, TCL, Lisp, COM 鍜?nbsp;CORBA鐨勯泦鎴愩?/p> <p>銆銆(3) dlib C++ library</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.cis.ohio-state.edu/~kingd/dlib/</u></span></a></p> <p>銆銆鍚勭鍚勬牱鐨勭被鐨勪竴涓患鍚堛傚ぇ鏁存暟錛孲ocket錛岀嚎紼嬶紝GUI錛屽鍣ㄧ被,浠ュ強嫻忚鐩?br>褰曠殑API絳夌瓑銆?/p> <p>銆銆(4) Chilkat C++ Libraries</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.chilkatsoft.com/cpp_libraries.asp</u></span></a></p> <p>銆銆榪欐槸鎻愪緵zip錛宔-mail錛岀紪鐮侊紝S/MIME錛孹ML絳夋柟闈㈢殑搴撱?/p> <p>銆銆(5) C++ Portable Types Library (PTypes)</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.melikyan.com/ptypes/</u></span></a></p> <p>銆銆榪欐槸STL鐨勬瘮杈冪畝鍗曠殑鏇夸唬鍝侊紝浠ュ強鍙Щ妞嶇殑澶氱嚎紼嬪拰緗戠粶搴撱?/p> <p>銆銆(6) LFC</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://lfc.sourceforge.net/</u></span></a></p> <p>銆銆鍝︼紝榪欏張鏄竴涓皾璇曟彁渚涗竴鍒囩殑C++搴?/p> <p>銆銆5.12 鍏朵粬搴?/p> <p>銆銆(1) Loki</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.moderncppdesign.com/</u></span></a></p> <p>銆銆鍝︼紝浣犲彲鑳芥姳鎬ㄦ垜鏃╄鍜孊oost涓璧蜂粙緇嶅畠錛屼竴涓疄楠屾ц川鐨勫簱銆備綔鑰呭湪loki涓?br>鎶奀++妯℃澘鐨勫姛鑳藉彂鎸ュ埌浜嗘瀬鑷淬傚茍涓斿皾璇曟妸綾諱技璁捐妯″紡榪欐牱鎬濇兂灞傞潰鐨勪笢瑗塊氳繃<br>搴撴潵鎻愪緵銆傚悓鏃惰繕鎻愪緵浜嗘櫤鑳芥寚閽堣繖鏍鋒瘮杈冨疄鐢ㄧ殑鍔熻兘銆?/p> <p>銆銆(2) ATL</p> <p>銆銆ATL(Active Template Library)</p> <p>銆銆鏄竴緇勫皬宸с侀珮鏁堛佺伒媧葷殑綾伙紝榪欎簺綾諱負鍒涘緩鍙簰鎿嶄綔鐨凜OM緇勪歡鎻愪緵浜嗗熀鏈殑<br>璁炬柦銆?/p> <p>銆銆(3) FC++: The Functional C++ Library</p> <p>銆銆榪欎釜搴撴彁渚涗簡涓浜涘嚱鏁板紡璇█涓墠鏈夌殑瑕佺礌銆傚睘浜庣敤搴撴潵鎵╁厖璇█鐨勪竴涓唬琛?br>浣溿傚鏋滄兂瑕佸湪OOP涔嬪瀵繪壘鍙︿竴鍒嗙殑涔愯叮錛屽彲浠ュ幓鐪嬬湅鍑芥暟寮忕▼搴忚璁$殑涓栫晫銆傚ぇ<br>甯圥eter Norvig鍦?nbsp;“Teach Yourself Programming in Ten Years”涓鏂囦腑灝卞皢鍑?br>鏁板紡璇█鍒椾負鑷沖皯搴斿綋瀛︿範鐨?綾葷紪紼嬭璦涔嬩竴銆?/p> <p>銆銆(4) FACT!</p> <p>銆銆鍙傝冪綉绔欙細<a class=contentlink target=_blank><span style="COLOR: #4455aa"><u>http://www.kfa-juelich.de/zam/FACT/start/index.html</u></span></a></p> <p>銆銆鍙﹀涓涓疄鐜板嚱鏁板紡璇█鐗規х殑搴?/p> <p>銆銆(5) Crypto++</p> <p>銆銆鎻愪緵澶勭悊瀵嗙爜錛屾秷鎭獙璇侊紝鍗曞悜hash錛屽叕鍖欏姞瀵嗙郴緇熺瓑鍔熻兘鐨勫厤璐瑰簱銆?/p> <p>銆銆榪樻湁寰堝闈炲父嬋鍔ㄤ漢蹇冩垨鑰呮槸鏋佸叾瀹炵敤鐨凜++搴擄紝闄愪簬鎴戜滑鐨勬按騫充互鍙婃枃绔犵殑綃?br>騫呬笉鑳藉寘鎷繘鏉ャ傚湪瀵逛簬榪欎簺宸茬粡鍖呭惈榪戞潵鐨勫簱鐨勪粙緇嶄腑錛岀敱浜庡茍涓嶆槸姣忎竴涓垜浠?br>閮戒嬌鐢ㄨ繃錛屾墍浠ラ毦鍏嶆湁鍋忛涔嬪錛岃璇昏呰璋呫?/p> <img src ="http://m.shnenglu.com/sssa2000/aggbug/74145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sssa2000/" target="_blank">閿洏鐨勫拸鍙硅皟</a> 2009-02-18 14:44 <a href="http://m.shnenglu.com/sssa2000/archive/2009/02/18/74145.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆恴z銆戜嬌鐢–RT璋冭瘯鍐呭瓨鍒嗛厤鍫嗘潵鎵懼嚭鏈噴鏀劇殑鍐呭瓨絀洪棿http://m.shnenglu.com/sssa2000/archive/2009/02/03/72867.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Tue, 03 Feb 2009 03:59:00 GMThttp://m.shnenglu.com/sssa2000/archive/2009/02/03/72867.htmlhttp://m.shnenglu.com/sssa2000/comments/72867.htmlhttp://m.shnenglu.com/sssa2000/archive/2009/02/03/72867.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/72867.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/72867.html闃呰鍏ㄦ枃

]]>
[zz]婕皥malloc鐨勫疄鐜?/title><link>http://m.shnenglu.com/sssa2000/archive/2009/01/25/72571.html</link><dc:creator>閿洏鐨勫拸鍙硅皟</dc:creator><author>閿洏鐨勫拸鍙硅皟</author><pubDate>Sun, 25 Jan 2009 05:13:00 GMT</pubDate><guid>http://m.shnenglu.com/sssa2000/archive/2009/01/25/72571.html</guid><wfw:comment>http://m.shnenglu.com/sssa2000/comments/72571.html</wfw:comment><comments>http://m.shnenglu.com/sssa2000/archive/2009/01/25/72571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sssa2000/comments/commentRss/72571.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sssa2000/services/trackbacks/72571.html</trackback:ping><description><![CDATA[<p><strong><span style="COLOR: #000000">         malloc錛堬級鏄疌璇█涓姩鎬佸瓨鍌ㄧ鐞嗙殑涓緇勬爣鍑嗗簱鍑芥暟涔嬩竴銆傚叾浣滅敤鏄湪鍐呭瓨鐨勫姩鎬佸瓨鍌ㄥ尯涓垎閰嶄竴涓暱搴︿負size鐨勮繛緇┖闂淬傚叾鍙傛暟鏄竴涓棤絎﹀彿鏁村艦鏁幫紝榪斿洖鍊兼槸涓涓寚鍚戞墍鍒嗛厤鐨勮繛緇瓨鍌ㄥ煙鐨勮搗濮嬪湴鍧鐨勬寚閽堛?/span></strong></p> <p><strong><span style="COLOR: #0000ff"> 銆銆</span></strong>鍔ㄦ佸唴瀛樺垎閰嶅氨鏄寚鍦ㄧ▼搴忔墽琛岀殑榪囩▼涓姩鎬佸湴鍒嗛厤鎴栬呭洖鏀跺瓨鍌ㄧ┖闂寸殑鍒嗛厤鍐呭瓨鐨勬柟娉曘傚姩鎬佸唴瀛樺垎閰嶄笉鍍忔暟緇勭瓑闈欐佸唴瀛樺垎閰嶆柟娉曢偅鏍烽渶瑕侀鍏堝垎閰嶅瓨鍌ㄧ┖闂達紝鑰屾槸鐢辯郴緇熸牴鎹▼搴忕殑闇瑕佸嵆鏃跺垎閰嶏紝涓斿垎閰嶇殑澶у皬灝辨槸紼嬪簭瑕佹眰鐨勫ぇ灝忋傛湰鏂囩畝鍗曚粙緇嶅姩鎬佸唴瀛樺垎閰嶅嚱鏁癿alloc錛堬級鍙婂嚑縐嶅疄鐜版柟娉曘?/p> <p> <strong><span style="COLOR: #0000ff">銆銆</span>1錛?綆浠?/strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>malloc錛堬級鏄疌璇█涓姩鎬佸瓨鍌ㄧ鐞嗙殑涓緇勬爣鍑嗗簱鍑芥暟涔嬩竴銆傚叾浣滅敤鏄湪鍐呭瓨鐨勫姩鎬佸瓨鍌ㄥ尯涓垎閰嶄竴涓暱搴︿負size鐨勮繛緇┖闂淬傚叾鍙傛暟鏄竴涓棤絎﹀彿鏁村艦鏁幫紝榪斿洖鍊兼槸涓涓寚鍚戞墍鍒嗛厤鐨勮繛緇瓨鍌ㄥ煙鐨勮搗濮嬪湴鍧鐨勬寚閽堛傝繕鏈変竴鐐瑰繀欏繪敞鎰忕殑鏄紝褰撳嚱鏁版湭鑳芥垚鍔熷垎閰嶅瓨鍌ㄧ┖闂達紙濡傚唴瀛樹笉瓚籌級灝變細榪斿洖涓涓狽ULL鎸囬拡銆傛墍浠ュ湪璋冪敤璇ュ嚱鏁版椂搴旇媯嫻嬭繑鍥炲兼槸鍚︿負NULL騫舵墽琛岀浉搴旂殑鎿嶄綔銆?/p> <p> <strong><span style="COLOR: #0000ff">銆銆</span>2錛?鍑芥暟璇存槑</strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>C璇█鐨勫姩鎬佸瓨鍌ㄧ鐞嗙敱涓緇勬爣鍑嗗簱鍑芥暟瀹炵幇錛屽叾鍘熷瀷鍦ㄦ爣鍑嗘枃浠?lt;stdlib.h>閲屾弿榪幫紝闇瑕佺敤榪欎簺鍔熻兘鏃跺簲鍖呭惈榪欎釜鏂囦歡銆備笌鍔ㄦ佸瓨鍌ㄥ垎閰嶆湁鍏崇殑鍑芥暟鍏辨湁鍥涗釜錛屽叾涓氨鍖呮嫭瀛樺偍鍒嗛厤鍑芥暟malloc錛堬級銆傚嚱鏁板師鍨嬫槸錛歷oid *malloc (size_t n);榪欓噷鐨剆ize_t鏄爣鍑嗗簱閲屽畾涔夌殑涓涓被鍨嬶紝瀹冩槸涓涓棤絎﹀彿鏁村瀷銆傝繖涓暣鍨嬭兘澶熸弧瓚蟲墍鏈夊瀛樺偍鍧楀ぇ灝忔弿榪扮殑闇瑕侊紝鍏蜂綋鐩稿綋浜庡摢涓暣鍨嬬敱鍏蜂綋鐨凜緋葷粺紜畾銆俶alloc鐨勮繑鍥炲間負(void *)綾誨瀷錛堣繖鏄氱敤鎸囬拡鐨勪竴涓噸瑕佺敤閫旓級錛屽畠鍒嗛厤涓鐗囪兘瀛樻斁澶у皬涓簄鐨勬暟鎹殑瀛樺偍鍧楋紝榪斿洖瀵瑰簲鐨勬寚閽堝鹼紱濡傛灉涓嶈兘婊¤凍鐢寵錛堟壘涓嶅埌鑳芥弧瓚寵姹傜殑瀛樺偍鍧楋級灝辮繑鍥濶ULL銆傚湪浣跨敤鏃訛紝搴旇鎶妋alloc鐨勮繑鍥炲艱漿鎹㈠埌鐗瑰畾鎸囬拡綾誨瀷錛岃祴緇欎竴涓寚閽堛?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>  娉ㄦ剰錛岃櫧鐒惰繖閲岀殑瀛樺偍鍧楁槸閫氳繃鍔ㄦ佸垎閰嶅緱鍒扮殑錛屼絾鏄畠鐨勫ぇ灝忎篃鏄‘瀹氱殑錛屽悓鏍蜂笉鍏佽瓚婄晫浣跨敤銆備緥濡備笂闈㈢▼搴忔鍒嗛厤鐨勫潡閲岃兘瀛榥涓弻綺懼害鏁版嵁錛岄殢鍚庣殑浣跨敤灝卞繀欏誨湪榪欎釜鑼冨洿鍐呰繘琛屻傝秺鐣屼嬌鐢ㄥ姩鎬佸垎閰嶇殑瀛樺偍鍧楋紝灝ゅ叾鏄秺鐣岃祴鍊鹼紝鍙兘寮曡搗闈炲父涓ラ噸鐨勫悗鏋滐紝閫氬父浼氱牬鍧忕▼搴忕殑榪愯緋葷粺錛屽彲鑳介犳垚鏈▼搴忔垨鑰呮暣涓綆楁満緋葷粺鍨彴銆?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span>涓嬩緥鏄竴涓姩鎬佸垎閰嶇殑渚嬪瓙錛?br></strong>#include <stdlib.h></p> <p>main()<br>{<br>銆int count,*array; /*count鏄竴涓鏁板櫒錛宎rray鏄竴涓暣鍨嬫寚閽堬紝涔熷彲浠ョ悊瑙d負鎸囧悜涓涓暣鍨嬫暟緇勭殑棣栧湴鍧*/<br>銆if((array(int *) malloc (10*sizeof(int)))==NULL)<br>銆{<br>銆銆printf("涓嶈兘鎴愬姛鍒嗛厤瀛樺偍絀洪棿銆?);<br>銆銆exit(1);<br>銆}<br>銆for (count=0;count銆?0;count++) /*緇欐暟緇勮祴鍊?/<br>銆銆array[count]=count;<br>銆for(count=0;count銆?0;count++) /*鎵撳嵃鏁扮粍鍏冪礌*/<br>銆銆printf("%2d",array[count]);<br>} </p> <p>銆銆涓婁緥涓姩鎬佸垎閰嶄簡10涓暣鍨嬪瓨鍌ㄥ尯鍩燂紝鐒跺悗榪涜璧嬪煎茍鎵撳嵃銆備緥涓璱f((array(int *) malloc (10*sizeof(int)))==NULL)璇彞鍙互鍒嗕負浠ヤ笅鍑犳錛?br>銆銆1錛夊垎閰?0涓暣鍨嬬殑榪炵畫瀛樺偍絀洪棿錛屽茍榪斿洖涓涓寚鍚戝叾璧峰鍦板潃鐨勬暣鍨嬫寚閽?br>銆銆2錛夋妸姝ゆ暣鍨嬫寚閽堝湴鍧璧嬬粰array<br>銆銆3錛夋嫻嬭繑鍥炲兼槸鍚︿負NULL</p> <p> <strong><span style="COLOR: #0000ff">銆銆</span>3錛?malloc錛堬級宸ヤ綔鏈哄埗</strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>malloc鍑芥暟鐨勫疄璐ㄤ綋鐜板湪錛屽畠鏈変竴涓皢鍙敤鐨勫唴瀛樺潡榪炴帴涓轟竴涓暱闀跨殑鍒楄〃鐨勬墍璋撶┖闂查摼琛ㄣ傝皟鐢╩alloc鍑芥暟鏃訛紝瀹冩部榪炴帴琛ㄥ鎵句竴涓ぇ鍒拌凍浠ユ弧瓚崇敤鎴瘋姹傛墍闇瑕佺殑鍐呭瓨鍧椼傜劧鍚庯紝灝嗚鍐呭瓨鍧椾竴鍒嗕負浜岋紙涓鍧楃殑澶у皬涓庣敤鎴瘋姹傜殑澶у皬鐩哥瓑錛屽彟涓鍧楃殑澶у皬灝辨槸鍓╀笅鐨勫瓧鑺傦級銆傛帴涓嬫潵錛屽皢鍒嗛厤緇欑敤鎴風殑閭e潡鍐呭瓨浼犵粰鐢ㄦ埛錛屽茍灝嗗墿涓嬬殑閭e潡錛堝鏋滄湁鐨勮瘽錛夎繑鍥炲埌榪炴帴琛ㄤ笂銆傝皟鐢╢ree鍑芥暟鏃訛紝瀹冨皢鐢ㄦ埛閲婃斁鐨勫唴瀛樺潡榪炴帴鍒扮┖闂查摼涓娿傚埌鏈鍚庯紝絀洪棽閾句細琚垏鎴愬緢澶氱殑灝忓唴瀛樼墖孌碉紝濡傛灉榪欐椂鐢ㄦ埛鐢寵涓涓ぇ鐨勫唴瀛樼墖孌碉紝閭d箞絀洪棽閾句笂鍙兘娌℃湁鍙互婊¤凍鐢ㄦ埛瑕佹眰鐨勭墖孌典簡銆備簬鏄紝malloc鍑芥暟璇鋒眰寤舵椂錛屽茍寮濮嬪湪絀洪棽閾句笂緲葷鍊掓煖鍦版鏌ュ悇鍐呭瓨鐗囨錛屽瀹冧滑榪涜鏁寸悊錛屽皢鐩擱偦鐨勫皬絀洪棽鍧楀悎騫舵垚杈冨ぇ鐨勫唴瀛樺潡銆?/p> <p> <strong><span style="COLOR: #0000ff">銆銆</span>4錛?malloc錛堬級鍦ㄦ搷浣滅郴緇熶腑鐨勫疄鐜?/strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>鍦?C 紼嬪簭涓紝澶氭浣跨敤malloc () 鍜?free()銆備笉榪囷紝鎮ㄥ彲鑳芥病鏈夌敤涓浜涙椂闂村幓鎬濊冨畠浠湪鎮ㄧ殑鎿嶄綔緋葷粺涓槸濡備綍瀹炵幇鐨勩傛湰鑺傚皢鍚戞偍灞曠ず malloc 鍜?free 鐨勪竴涓渶綆鍖栧疄鐜扮殑浠g爜錛屾潵甯姪璇存槑綆$悊鍐呭瓨鏃墮兘娑夊強鍒頒簡鍝簺浜嬫儏銆?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>鍦ㄥぇ閮ㄥ垎鎿嶄綔緋葷粺涓紝鍐呭瓨鍒嗛厤鐢變互涓嬩袱涓畝鍗曠殑鍑芥暟鏉ュ鐞嗭細</p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>void *malloc (long numbytes)錛氳鍑芥暟璐熻矗鍒嗛厤 numbytes 澶у皬鐨勫唴瀛橈紝騫惰繑鍥炴寚鍚戠涓涓瓧鑺傜殑鎸囬拡銆?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>void free(void *firstbyte)錛氬鏋滅粰瀹氫竴涓敱鍏堝墠鐨?malloc 榪斿洖鐨勬寚閽堬紝閭d箞璇ュ嚱鏁頒細灝嗗垎閰嶇殑絀洪棿褰掕繕緇欒繘紼嬬殑“絀洪棽絀洪棿”銆?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>malloc_init 灝嗘槸鍒濆鍖栧唴瀛樺垎閰嶇▼搴忕殑鍑芥暟銆傚畠瑕佸畬鎴愪互涓嬩笁浠朵簨錛氬皢鍒嗛厤紼嬪簭鏍囪瘑涓哄凡緇忓垵濮嬪寲錛屾壘鍒扮郴緇熶腑鏈鍚庝竴涓湁鏁堝唴瀛樺湴鍧錛岀劧鍚庡緩绔嬭搗鎸囧悜鎴戜滑綆$悊鐨勫唴瀛樼殑鎸囬拡銆傝繖涓変釜鍙橀噺閮芥槸鍏ㄥ眬鍙橀噺錛?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span>娓呭崟 1. 鎴戜滑鐨勭畝鍗曞垎閰嶇▼搴忕殑鍏ㄥ眬鍙橀噺</strong></p> <p>        int has_initialized = 0;<br>        void *managed_memory_start;<br>        void *last_valid_address;</p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>濡傚墠鎵榪幫紝琚槧灝勭殑鍐呭瓨鐨勮竟鐣岋紙鏈鍚庝竴涓湁鏁堝湴鍧錛夊父琚О涓虹郴緇熶腑鏂偣鎴栬?褰撳墠涓柇鐐廣傚湪寰堝 UNIX? 緋葷粺涓紝涓轟簡鎸囧嚭褰撳墠緋葷粺涓柇鐐癸紝蹇呴』浣跨敤 sbrk(0) 鍑芥暟銆?sbrk 鏍規嵁鍙傛暟涓粰鍑虹殑瀛楄妭鏁扮Щ鍔ㄥ綋鍓嶇郴緇熶腑鏂偣錛岀劧鍚庤繑鍥炴柊鐨勭郴緇熶腑鏂偣銆備嬌鐢ㄥ弬鏁?0 鍙槸榪斿洖褰撳墠涓柇鐐廣傝繖閲屾槸鎴戜滑鐨?malloc 鍒濆鍖栦唬鐮侊紝瀹冨皢鎵懼埌褰撳墠涓柇鐐瑰茍鍒濆鍖栨垜浠殑鍙橀噺錛?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span>娓呭崟 2. 鍒嗛厤紼嬪簭鍒濆鍖栧嚱鏁?br></strong>/* Include the sbrk function */<br> <br>#include <br>void malloc_init()<br>{<br>/* grab the last valid address from the OS */<br>last_valid_address = sbrk(0);<br>/* we don't have any memory to manage yet, so<br> *just set the beginning to be last_valid_address<br> */<br>managed_memory_start = last_valid_address;<br>/* Okay, we're initialized and ready to go */<br> has_initialized = 1;<br>}</p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>鐜板湪錛屼負浜嗗畬鍏ㄥ湴綆$悊鍐呭瓨錛屾垜浠渶瑕佽兘澶熻拷韙鍒嗛厤鍜屽洖鏀跺摢浜涘唴瀛樸傚湪瀵瑰唴瀛樺潡榪涜浜?free 璋冪敤涔嬪悗錛屾垜浠渶瑕佸仛鐨勬槸璇稿灝嗗畠浠爣璁頒負鏈浣跨敤鐨勭瓑浜嬫儏錛屽茍涓旓紝鍦ㄨ皟鐢?malloc 鏃訛紝鎴戜滑瑕佽兘澶熷畾浣嶆湭琚嬌鐢ㄧ殑鍐呭瓨鍧椼傚洜姝わ紝 malloc 榪斿洖鐨勬瘡鍧楀唴瀛樼殑璧峰澶勯鍏堣鏈夎繖涓粨鏋勶細</p> <p><strong><span style="COLOR: #0000ff">銆銆</span>娓呭崟 3. 鍐呭瓨鎺у埗鍧楃粨鏋勫畾涔?br></strong>struct mem_control_block {<br>int is_available;<br>int size;<br>};<br>   </p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong> 鐜板湪錛屾偍鍙兘浼氳涓哄綋紼嬪簭璋冪敤 malloc 鏃惰繖浼氬紩鍙戦棶棰?鈥斺?瀹冧滑濡備綍鐭ラ亾榪欎釜緇撴瀯錛熺瓟妗堟槸瀹冧滑涓嶅繀鐭ラ亾錛涘湪榪斿洖鎸囬拡涔嬪墠錛屾垜浠細灝嗗叾縐誨姩鍒拌繖涓粨鏋勪箣鍚庯紝鎶婂畠闅愯棌璧鋒潵銆傝繖浣垮緱榪斿洖鐨勬寚閽堟寚鍚戞病鏈夌敤浜庝換浣曞叾浠栫敤閫旂殑鍐呭瓨銆傞偅鏍鳳紝浠庤皟鐢ㄧ▼搴忕殑瑙掑害鏉ョ湅錛屽畠浠墍寰楀埌鐨勫叏閮ㄦ槸絀洪棽鐨勩佸紑鏀劇殑鍐呭瓨銆傜劧鍚庯紝褰撻氳繃 free() 灝嗚鎸囬拡浼犻掑洖鏉ユ椂錛屾垜浠彧闇瑕佸掗鍑犱釜鍐呭瓨瀛楄妭灝卞彲浠ュ啀嬈℃壘鍒拌繖涓粨鏋勩?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>鍦ㄨ璁哄垎閰嶅唴瀛樹箣鍓嶏紝鎴戜滑灝嗗厛璁ㄨ閲婃斁錛屽洜涓哄畠鏇寸畝鍗曘備負浜嗛噴鏀懼唴瀛橈紝鎴戜滑蹇呴』瑕佸仛鐨勬儫涓涓浠朵簨鎯呭氨鏄紝鑾峰緱鎴戜滑緇欏嚭鐨勬寚閽堬紝鍥為 sizeof(struct mem_control_block) 涓瓧鑺傦紝騫跺皢鍏舵爣璁頒負鍙敤鐨勩傝繖閲屾槸瀵瑰簲鐨勪唬鐮侊細</p> <p><strong><span style="COLOR: #0000ff">銆銆</span>娓呭崟 4. 瑙i櫎鍒嗛厤鍑芥暟<br></strong>void free(void *firstbyte) {<br>struct mem_control_block *mcb;<br>/* Backup from the given pointer to find the<br> * mem_control_block<br> */<br>mcb = firstbyte - sizeof(struct mem_control_block);<br>/* Mark the block as being available */<br>mcb->is_available = 1;<br>/* That's It!  We're done. */<br>return;<br>}</p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>濡傛偍鎵瑙侊紝鍦ㄨ繖涓垎閰嶇▼搴忎腑錛屽唴瀛樼殑閲婃斁浣跨敤浜嗕竴涓潪甯哥畝鍗曠殑鏈哄埗錛屽湪鍥哄畾鏃墮棿鍐呭畬鎴愬唴瀛橀噴鏀俱傚垎閰嶅唴瀛樼◢寰洶闅句竴浜涖備互涓嬫槸璇ョ畻娉曠殑鐣ヨ堪錛?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span>娓呭崟 5. 涓誨垎閰嶇▼搴忕殑浼唬鐮?br></strong>1. If our allocator has not been initialized, initialize it.<br>2. Add sizeof(struct mem_control_block) to the size requested.<br>3. start at managed_memory_start.<br>4. Are we at last_valid address?<br>5. If we are:<br>   A. We didn't find any existing space that was large enough<br>      -- ask the operating system for more and return that.<br>6. Otherwise:<br>   A. Is the current space available (check is_available from<br>      the mem_control_block)?<br>   B. If it is:<br>      i)   Is it large enough (check "size" from the<br>           mem_control_block)?<br>      ii)  If so:<br>           a. Mark it as unavailable<br>           b. Move past mem_control_block and return the<br>              pointer<br>      iii) Otherwise:<br>           a. Move forward "size" bytes<br>           b. Go back go step 4<br>   C. Otherwise:<br>      i)   Move forward "size" bytes<br>      ii)  Go back to step 4</p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>鎴戜滑涓昏浣跨敤榪炴帴鐨勬寚閽堥亶鍘嗗唴瀛樻潵瀵繪壘寮鏀劇殑鍐呭瓨鍧椼傝繖閲屾槸浠g爜錛?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span>娓呭崟 6. 涓誨垎閰嶇▼搴?br></strong>void *malloc(long numbytes) {<br>/* Holds where we are looking in memory */<br>void *current_location;<br>/* This is the same as current_location, but cast to a<br> * memory_control_block<br> */<br>struct mem_control_block *current_location_mcb;<br>/* This is the memory location we will return.  It will<br> * be set to 0 until we find something suitable<br> */<br>void *memory_location;<br>/* Initialize if we haven't already done so */<br>if(! has_initialized) {<br>malloc_init();<br>}<br>/* The memory we search for has to include the memory<br> * control block, but the users of malloc don't need<br> * to know this, so we'll just add it in for them.<br> */<br>numbytes = numbytes + sizeof(struct mem_control_block);<br>/* Set memory_location to 0 until we find a suitable<br> * location<br> */<br>memory_location = 0;<br>/* Begin searching at the start of managed memory */<br>current_location = managed_memory_start;<br>/* Keep going until we have searched all allocated space */<br>while(current_location != last_valid_address)<br>{<br>/* current_location and current_location_mcb point<br> * to the same address.  However, current_location_mcb<br> * is of the correct type, so we can use it as a struct.<br> * current_location is a void pointer so we can use it<br> * to calculate addresses.<br> */<br>current_location_mcb =<br>(struct mem_control_block *)current_location;<br>if(current_location_mcb->is_available)<br>{<br>if(current_location_mcb->size >= numbytes)<br>{<br>/* Woohoo!  We've found an open,<br> * appropriately-size location.<br> */<br>/* It is no longer available */<br>current_location_mcb->is_available = 0;<br>/* We own it */<br>memory_location = current_location;<br>/* Leave the loop */<br>break;<br>}<br>}<br>/* If we made it here, it's because the Current memory<br> * block not suitable; move to the next one<br> */<br>current_location = current_location +<br>current_location_mcb->size;<br>}<br>/* If we still don't have a valid location, we'll<br> * have to ask the operating system for more memory<br> */<br>if(! memory_location)<br>{<br>/* Move the program break numbytes further */<br>sbrk(numbytes);<br>/* The new memory will be where the last valid<br> * address left off<br> */<br>memory_location = last_valid_address;<br>/* We'll move the last valid address forward<br> * numbytes<br> */<br>last_valid_address = last_valid_address + numbytes;<br>/* We need to initialize the mem_control_block */<br>current_location_mcb = memory_location;<br>current_location_mcb->is_available = 0;<br>current_location_mcb->size = numbytes;<br>}<br>/* Now, no matter what (well, except for error conditions),<br> * memory_location has the address of the memory, including<br> * the mem_control_block<br> */<br>/* Move the pointer past the mem_control_block */<br>memory_location = memory_location + sizeof(struct mem_control_block);<br>/* Return the pointer */<br>return memory_location;<br> }</p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>榪欏氨鏄垜浠殑鍐呭瓨綆$悊鍣ㄣ傜幇鍦紝鎴戜滑鍙渶瑕佹瀯寤哄畠錛屽茍鍦ㄧ▼搴忎腑浣跨敤瀹冨嵆鍙?br> </p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>5錛?malloc錛堬級鐨勫叾浠栧疄鐜?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>malloc() 鐨勫疄鐜版湁寰堝錛岃繖浜涘疄鐜板悇鏈変紭鐐逛笌緙虹偣銆傚湪璁捐涓涓垎閰嶇▼搴忔椂錛岃闈復璁稿闇瑕佹姌琛風殑閫夋嫨錛屽叾涓寘鎷細</p> <p>鍒嗛厤鐨勯熷害銆?<br>鍥炴敹鐨勯熷害銆?<br>鏈夌嚎紼嬬殑鐜鐨勮涓恒?<br>鍐呭瓨灝嗚琚敤鍏夋椂鐨勮涓恒?<br>灞閮ㄧ紦瀛樸?<br>綈胯錛圔ookkeeping錛夊唴瀛樺紑閿銆?<br>铏氭嫙鍐呭瓨鐜涓殑琛屼負銆?<br>灝忕殑鎴栬呭ぇ鐨勫璞°?<br>瀹炴椂淇濊瘉銆?br>姣忎竴涓疄鐜伴兘鏈夊叾鑷韓鐨勪紭緙虹偣闆嗗悎銆傚湪鎴戜滑鐨勭畝鍗曠殑鍒嗛厤紼嬪簭涓紝鍒嗛厤闈炲父鎱紝鑰屽洖鏀墮潪甯稿揩銆傚彟澶栵紝鐢變簬瀹冨湪浣跨敤铏氭嫙鍐呭瓨緋葷粺鏂歸潰杈冨樊錛屾墍浠ュ畠鏈閫備簬澶勭悊澶х殑瀵硅薄銆?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span>榪樻湁鍏朵粬璁稿鍒嗛厤紼嬪簭鍙互浣跨敤銆傚叾涓寘鎷細</strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>Doug Lea Malloc錛欴oug Lea Malloc 瀹為檯涓婃槸瀹屾暣鐨勪竴緇勫垎閰嶇▼搴忥紝鍏朵腑鍖呮嫭 Doug Lea 鐨勫師濮嬪垎閰嶇▼搴忥紝GNU libc 鍒嗛厤紼嬪簭鍜?ptmalloc銆?Doug Lea 鐨勫垎閰嶇▼搴忔湁鐫涓庢垜浠殑鐗堟湰闈炲父綾諱技鐨勫熀鏈粨鏋勶紝浣嗘槸瀹冨姞鍏ヤ簡绱㈠紩錛岃繖浣垮緱鎼滅儲閫熷害鏇村揩錛屽茍涓斿彲浠ュ皢澶氫釜娌℃湁琚嬌鐢ㄧ殑鍧楃粍鍚堜負涓涓ぇ鐨勫潡銆傚畠榪樻敮鎸佺紦瀛橈紝浠ヤ究鏇村揩鍦板啀嬈′嬌鐢ㄦ渶榪戦噴鏀劇殑鍐呭瓨銆?ptmalloc 鏄?Doug Lea Malloc 鐨勪竴涓墿灞曠増鏈紝鏀寔澶氱嚎紼嬨傚湪鏈枃鍚庨潰鐨?鍙傝冭祫鏂欓儴鍒嗕腑錛屾湁涓綃囨弿榪?Doug Lea 鐨?Malloc 瀹炵幇鐨勬枃绔犮?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>BSD Malloc錛欱SD Malloc 鏄殢 4.2 BSD 鍙戣鐨勫疄鐜幫紝鍖呭惈鍦?FreeBSD 涔嬩腑錛岃繖涓垎閰嶇▼搴忓彲浠ヤ粠棰勫厛紜疄澶у皬鐨勫璞℃瀯鎴愮殑姹犱腑鍒嗛厤瀵硅薄銆傚畠鏈変竴浜涚敤浜庡璞″ぇ灝忕殑 size 綾伙紝榪欎簺瀵硅薄鐨勫ぇ灝忎負 2 鐨勮嫢騫叉騫傚噺鍘繪煇涓甯告暟銆傛墍浠ワ紝濡傛灉鎮ㄨ姹傜粰瀹氬ぇ灝忕殑涓涓璞★紝瀹冨氨綆鍗曞湴鍒嗛厤涓涓笌涔嬪尮閰嶇殑 size 綾匯傝繖鏍峰氨鎻愪緵浜嗕竴涓揩閫熺殑瀹炵幇錛屼絾鏄彲鑳戒細嫻垂鍐呭瓨銆傚湪 鍙傝冭祫鏂欓儴鍒嗕腑錛屾湁涓綃囨弿榪拌瀹炵幇鐨勬枃绔犮?/p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>Hoard錛氱紪鍐?Hoard 鐨勭洰鏍囨槸浣垮唴瀛樺垎閰嶅湪澶氱嚎紼嬬幆澧冧腑榪涜寰楅潪甯稿揩銆傚洜姝わ紝瀹冪殑鏋勯犱互閿佺殑浣跨敤涓轟腑蹇冿紝浠庤屼嬌鎵鏈夎繘紼嬩笉蹇呯瓑寰呭垎閰嶅唴瀛樸傚畠鍙互鏄捐憲鍦板姞蹇偅浜涜繘琛屽緢澶氬垎閰嶅拰鍥炴敹鐨勫綰跨▼榪涚▼鐨勯熷害銆傚湪 鍙傝冭祫鏂欓儴鍒嗕腑錛屾湁涓綃囨弿榪拌瀹炵幇鐨勬枃绔犮?br>浼楀鍙敤鐨勫垎閰嶇▼搴忎腑鏈鏈夊悕鐨勫氨鏄笂榪拌繖浜涘垎閰嶇▼搴忋傚鏋滄偍鐨勭▼搴忔湁鐗瑰埆鐨勫垎閰嶉渶姹傦紝閭d箞鎮ㄥ彲鑳芥洿鎰挎剰緙栧啓涓涓畾鍒剁殑鑳藉尮閰嶆偍鐨勭▼搴忓唴瀛樺垎閰嶆柟寮忕殑鍒嗛厤紼嬪簭銆備笉榪囷紝濡傛灉涓嶇啛鎮夊垎閰嶇▼搴忕殑璁捐錛岄偅涔堝畾鍒跺垎閰嶇▼搴忛氬父浼氬甫鏉ユ瘮瀹冧滑瑙e喅鐨勯棶棰樻洿澶氱殑闂銆?/p> <p> <strong><span style="COLOR: #0000ff">銆銆</span>6錛?緇撴潫璇?/strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>鍓嶉潰宸茬粡鎻愯繃錛屽嬈¤皟鐢╩alloc錛堬級鍚庣┖闂插唴瀛樿鍒囨垚寰堝鐨勫皬鍐呭瓨鐗囨錛岃繖灝變嬌寰楃敤鎴峰湪鐢寵鍐呭瓨浣跨敤鏃訛紝鐢變簬鎵句笉鍒拌凍澶熷ぇ鐨勫唴瀛樼┖闂達紝malloc錛堬級闇瑕佽繘琛屽唴瀛樻暣鐞嗭紝浣垮緱鍑芥暟鐨勬ц兘瓚婃潵瓚婁綆銆傝仾鏄庣殑紼嬪簭鍛橀氳繃鎬繪槸鍒嗛厤澶у皬涓?鐨勫箓鐨勫唴瀛樺潡錛岃屾渶澶ч檺搴﹀湴闄嶄綆娼滃湪鐨刴alloc鎬ц兘涓уけ銆備篃灝辨槸璇達紝鎵鍒嗛厤鐨勫唴瀛樺潡澶у皬涓?瀛楄妭銆?瀛楄妭銆?6瀛楄妭銆?8446744073709551616瀛楄妭錛岀瓑絳夈傝繖鏍峰仛鏈澶ч檺搴﹀湴鍑忓皯浜嗚繘鍏ョ┖闂查摼鐨勬紓鐗囨錛堝悇縐嶅昂瀵哥殑灝忕墖孌甸兘鏈夛級鐨勬暟閲忋傚敖綆$湅璧鋒潵榪欏ソ鍍忔氮璐逛簡絀洪棿錛屼絾涔熷鏄撶湅鍑烘氮璐圭殑絀洪棿姘歌繙涓嶄細瓚呰繃50%銆?/p> <p> <strong><span style="COLOR: #0000ff">銆銆</span>鍙傝冩枃鐚細</strong></p> <p><strong><span style="COLOR: #0000ff">銆銆</span></strong>[1]  Jonathan Bartlett錛屽唴瀛樼鐞嗗唴騫? developerWorks 涓浗錛?004騫?1鏈?/p> <img src ="http://m.shnenglu.com/sssa2000/aggbug/72571.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sssa2000/" target="_blank">閿洏鐨勫拸鍙硅皟</a> 2009-01-25 13:13 <a href="http://m.shnenglu.com/sssa2000/archive/2009/01/25/72571.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒囪錛屽叧浜庡垹闄TL瀹瑰櫒http://m.shnenglu.com/sssa2000/archive/2008/11/21/67455.html閿洏鐨勫拸鍙硅皟閿洏鐨勫拸鍙硅皟Fri, 21 Nov 2008 02:40:00 GMThttp://m.shnenglu.com/sssa2000/archive/2008/11/21/67455.htmlhttp://m.shnenglu.com/sssa2000/comments/67455.htmlhttp://m.shnenglu.com/sssa2000/archive/2008/11/21/67455.html#Feedback0http://m.shnenglu.com/sssa2000/comments/commentRss/67455.htmlhttp://m.shnenglu.com/sssa2000/services/trackbacks/67455.html
  • 鍘婚櫎涓涓鍣ㄤ腑鏈夌壒瀹氬肩殑鎵鏈夊璞★細

    濡傛灉瀹瑰櫒鏄痸ector銆乻tring鎴杁eque錛屼嬌鐢╡rase-remove鎯敤娉曘?/p>

    濡傛灉瀹瑰櫒鏄痩ist錛屼嬌鐢╨ist::remove銆?/p>

    濡傛灉瀹瑰櫒鏄爣鍑嗗叧鑱斿鍣紝浣跨敤瀹冪殑erase鎴愬憳鍑芥暟銆?/p>

  • 鍘婚櫎涓涓鍣ㄤ腑婊¤凍涓涓壒瀹氬垽瀹氬紡鐨勬墍鏈夊璞★細

    濡傛灉瀹瑰櫒鏄痸ector銆乻tring鎴杁eque錛屼嬌鐢╡rase-remove_if鎯敤娉曘?/p>

    濡傛灉瀹瑰櫒鏄痩ist錛屼嬌鐢╨ist::remove_if銆?/p>

    濡傛灉瀹瑰櫒鏄爣鍑嗗叧鑱斿鍣紝浣跨敤remove_copy_if鍜宻wap錛屾垨鍐欎竴涓驚鐜潵閬嶅巻瀹瑰櫒鍏冪礌錛屽綋浣犳妸榪唬鍣ㄤ紶緇檈rase鏃惰寰楀悗緗掑瀹冦?/p>

  • 鍦ㄥ驚鐜唴鍋氭煇浜涗簨鎯咃紙闄や簡鍒犻櫎瀵硅薄涔嬪錛夛細

    濡傛灉瀹瑰櫒鏄爣鍑嗗簭鍒楀鍣紝鍐欎竴涓驚鐜潵閬嶅巻瀹瑰櫒鍏冪礌錛屾瘡褰撹皟鐢╡rase鏃惰寰楅兘鐢ㄥ畠鐨勮繑鍥炲兼洿鏂頒綘鐨勮凱浠e櫒銆?/p>

    濡傛灉瀹瑰櫒鏄爣鍑嗗叧鑱斿鍣紝鍐欎竴涓驚鐜潵閬嶅巻瀹瑰櫒鍏冪礌錛屽綋浣犳妸榪唬鍣ㄤ紶緇檈rase鏃惰寰楀悗緗掑瀹冦?/p>



  • ]]>
    銆恴z銆慸os閲嶅畾鍚?/title><link>http://m.shnenglu.com/sssa2000/archive/2008/11/11/66613.html</link><dc:creator>閿洏鐨勫拸鍙硅皟</dc:creator><author>閿洏鐨勫拸鍙硅皟</author><pubDate>Tue, 11 Nov 2008 07:52:00 GMT</pubDate><guid>http://m.shnenglu.com/sssa2000/archive/2008/11/11/66613.html</guid><wfw:comment>http://m.shnenglu.com/sssa2000/comments/66613.html</wfw:comment><comments>http://m.shnenglu.com/sssa2000/archive/2008/11/11/66613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sssa2000/comments/commentRss/66613.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sssa2000/services/trackbacks/66613.html</trackback:ping><description><![CDATA[<div id="hvzpftn" class=tit>dos閲嶅畾鍚?/div> <table style="TABLE-LAYOUT: fixed"> <tbody> <tr> <td> <div id="hvzpftn" class=cnt id=blog_text> <h2>浣跨敤鍛戒護閲嶅畾鍚戞搷浣滅</h2> <p>鍙互浣跨敤閲嶅畾鍚戞搷浣滅灝嗗懡浠よ緭鍏ュ拰杈撳嚭鏁版嵁嫻佷粠榛樿浣嶇疆閲嶅畾鍚戝埌鍏朵粬浣嶇疆銆傝緭鍏ユ垨杈撳嚭鏁版嵁嫻佺殑浣嶇疆縐頒負鍙ユ焺銆?/p> <p>涓嬭〃灝嗗垪鍑哄彲鐢ㄧ殑鍙ユ焺銆?/p> <p> <table class=dataTable cellSpacing=0 cellPadding=0> <thead> <tr> <td class=tableHeader colSpan=3></td> </tr> <tr class=stdHeader vAlign=top> <td>鍙ユ焺</td> <td>鍙ユ焺鐨勬暟瀛椾唬鍙?/td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid">鎻忚堪</td> </tr> </thead> <tbody> <tr class=record vAlign=top> <td> <p class=lastInCell>STDIN</p> </td> <td> <p class=lastInCell>0</p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>閿洏杈撳叆</p> </td> </tr> <tr class=evenRecord vAlign=top> <td> <p class=lastInCell>STDOUT</p> </td> <td> <p class=lastInCell>1</p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>杈撳嚭鍒板懡浠ゆ彁紺虹紿楀彛</p> </td> </tr> <tr class=record vAlign=top> <td> <p class=lastInCell>STDERR</p> </td> <td> <p class=lastInCell>2</p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>閿欒杈撳嚭鍒板懡浠ゆ彁紺虹紿楀彛</p> </td> </tr> <tr class=evenRecord vAlign=top> <td> <p class=lastInCell>UNDEFINED</p> </td> <td> <p class=lastInCell>3-9</p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>鍙ユ焺鐢卞簲鐢ㄧ▼搴忓崟鐙畾涔夛紝瀹冧滑鏄悇涓伐鍏風壒鏈夌殑</p> </td> </tr> </tbody> </table> </p> <p> </p> <p>鏁?瀛?0 鍒?9 浠h〃鍓?10 涓彞鏌勩傚彲浠ヤ嬌鐢ㄥ懡浠?Cmd.exe 榪愯紼嬪簭錛屽茍瀵硅紼嬪簭鍓?10 涓彞鏌勪腑鐨勪換浣曚竴涓彞鏌勮繘琛岄噸瀹氬悜銆傝鎸囧畾瑕佺敤鐨勫彞鏌勶紝璇峰湪閲嶅畾鍚戞搷浣滅涔嬪墠閿叆璇ュ彞鏌勭殑鏁板瓧銆傚鏋滄湭瀹氫箟鍙ユ焺錛屽垯榛樿鐨?< 閲嶅畾鍚戣緭鍏ユ搷浣滅鏄?0錛岃岄粯璁ょ殑 > 閲嶅畾鍚戣緭鍑烘搷浣滅鏄?1銆傞敭鍏?< 鎴?> 鎿嶄綔絎︿箣鍚庯紝蹇呴』鎸囧畾鏁版嵁鐨勮鍐欎綅緗傚彲浠ユ寚瀹氭枃浠跺悕鎴栧叾浠栫幇鏈夌殑鍙ユ焺銆?/p> <p>瑕佹寚瀹氶噸瀹氬悜鍒扮幇鏈夊彞鏌勶紝璇蜂嬌鐢ㄤ笌 (&) 瀛楃錛屽悗闈㈡帴瑕侀噸瀹氬悜鐨勫彞鏌勫彿錛堝嵆 <strong>&</strong><em>鍙ユ焺鍙?/em>錛夈備緥濡傦紝涓嬮潰鐨勫懡浠ゅ彲浠ュ皢鍙ユ焺 2錛堝嵆 STDERR錛夐噸瀹氬悜鍒板彞鏌?1錛堝嵆 STDOUT錛夛細</p> <p><strong>2>&1</strong></p> <p>涓嬭〃鍒楀嚭浜嗗彲鐢ㄤ簬閲嶅畾鍚戣緭鍏ュ拰杈撳嚭鏁版嵁嫻佺殑鎿嶄綔絎︺?/p> <p> <table class=dataTable cellSpacing=0 cellPadding=0> <thead> <tr> <td class=tableHeader colSpan=2></td> </tr> <tr class=stdHeader vAlign=top> <td>閲嶅畾鍚戞搷浣滅</td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid">鎻忚堪</td> </tr> </thead> <tbody> <tr class=record vAlign=top> <td> <p class=lastInCell><strong>></strong></p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>灝嗗懡浠よ緭鍑哄啓鍏ュ埌鏂囦歡鎴栬澶囷紙濡傛墦鍗版満錛夛紝鑰屼笉鏄懡浠ゆ彁紺虹紿楀彛鎴栧彞鏌勩?/p> </td> </tr> <tr class=evenRecord vAlign=top> <td> <p class=lastInCell><strong><</strong></p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>浠庢枃浠惰屼笉鏄粠閿洏鎴栧彞鏌勮鍏ュ懡浠よ緭鍏ャ?/p> </td> </tr> <tr class=record vAlign=top> <td> <p class=lastInCell><strong>>></strong></p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>灝嗗懡浠よ緭鍑烘坊鍔犲埌鏂囦歡鏈熬鑰屼笉鍒犻櫎鏂囦歡涓凡鏈夌殑淇℃伅銆?/p> </td> </tr> <tr class=evenRecord vAlign=top> <td> <p class=lastInCell><strong>>&</strong></p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>灝嗕竴涓彞鏌勭殑杈撳嚭鍐欏叆鍒板彟涓涓彞鏌勭殑杈撳叆涓?/p> </td> </tr> <tr class=record vAlign=top> <td> <p class=lastInCell><strong><&</strong></p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>浠庝竴涓彞鏌勮鍙栬緭鍏ュ茍灝嗗叾鍐欏叆鍒板彟涓涓彞鏌勮緭鍑轟腑銆?/p> </td> </tr> <tr class=evenRecord vAlign=top> <td> <p class=lastInCell><strong>|</strong></p> </td> <td style="BORDER-RIGHT: rgb(204,204,204) 1px solid"> <p class=lastInCell>浠庝竴涓懡浠や腑璇誨彇杈撳嚭騫跺皢鍏跺啓鍏ュ彟涓涓懡浠ょ殑杈撳叆涓備篃縐頒綔綆¢亾銆?</p> </td> </tr> </tbody> </table> </p> <p> </p> <p>榛樿鎯呭喌涓嬶紝鍙互浠庨敭鐩樺皢鍛戒護杈撳叆錛堝嵆 STDIN 鍙ユ焺錛夊彂閫佸埌 Cmd.exe錛岀劧鍚庣敱 Cmd.exe 灝嗗懡浠よ緭鍑猴紙鍗?STDOUT 鍙ユ焺錛夊彂閫佸埌鍛戒護鎻愮ず絎︾獥鍙c?/p> <a name=ETG></a> <h2>閲嶅畾鍚戣緭鍏?(<)</h2> <p>瑕侀氳繃閿洏灝嗚緭鍏ラ噸瀹氬悜鍒版枃浠舵垨璁懼錛岃浣跨敤 < 鎿嶄綔絎︺備緥濡傦紝瑕佷粠 File.txt 鑾峰彇 <strong>sort</strong> 鍛戒護鐨勮緭鍏ワ紝璇烽敭鍏ワ細 </p> <p><strong>sort<file.txt </strong></p> <p>File.txt 鐨勫唴瀹瑰皢浠ュ瓧姣嶉『搴忓垪琛ㄧ殑鏂瑰紡鏄劇ず鍦ㄥ懡浠ゆ彁紺虹紿楀彛涓?/p> <p>< 鎿嶄綔絎﹀彲浠ユ墦寮鍏鋒湁鍙璁塊棶鏉冮檺鐨勬寚瀹氭枃浠跺悕銆傚洜姝わ紝涓嶈兘鍦ㄤ嬌鐢ㄨ鎿嶄綔絎︽椂鍚戞枃浠朵腑鍐欏叆淇℃伅銆備緥濡傦紝濡傛灉浠?<&2 鍚姩紼嬪簭錛屽垯鎵鏈夎瘯鍥捐鍙栧彞鏌?0 鐨勬搷浣滈兘灝嗗け璐ワ紝鍥犱負鍙ユ焺 2 鏈鍒濇槸浠ュ彧鍐欒闂柟寮忔墦寮鐨勩?/p> <p><strong>娉ㄦ剰</strong></p> <p> <table cellSpacing=0 cellPadding=0 border=0> <tbody> <tr> <td class=listBullet vAlign=top>•</td> <td class=listItem> <p>0 鏄?< 閲嶅畾鍚戣緭鍏ユ搷浣滅鐨勯粯璁ゅ彞鏌勩?</p> </td> </tr> </tbody> </table> </p> <a name=EGH></a> <h2>閲嶅畾鍚戣緭鍑?(>)</h2> <p>鍑犱箮鎵鏈夌殑鍛戒護閮藉皢杈撳嚭鍙戦佸埌鍛戒護鎻愮ず絎︾獥鍙c傚嵆浣垮皢杈撳嚭鍙戦佸埌椹卞姩鍣ㄦ垨鎵撳嵃鏈虹殑鍛戒護涔熶細鍦ㄥ懡浠ゆ彁紺虹紿楀彛鏄劇ず娑堟伅鍜屾彁紺恒?</p> <p>瑕佸皢杈撳嚭浠庡懡浠ゆ彁紺虹紿楀彛閲嶅畾鍚戝埌鏂囦歡鎴栬澶囷紝璇蜂嬌鐢?> 鎿嶄綔絎︺傚彲浠ュ湪璁稿鍛戒護涓嬌鐢ㄨ鎿嶄綔絎︺備緥濡傦紝瑕佸皢 <strong>dir</strong> 杈撳嚭閲嶅畾鍚戝埌 Dirlist.txt錛岃閿叆錛?</p> <p><strong>dir>dirlist.txt </strong></p> <p>濡傛灉 Dirlist.txt 涓嶅瓨鍦紝Cmd.exe 灝嗗垱寤鴻鏂囦歡銆傚鏋?Dirlist.txt 瀛樺湪錛孋md.exe 灝嗕嬌鐢?<strong>dir</strong> 鍛戒護鐨勮緭鍑烘浛鎹㈡枃浠朵腑鐨勪俊鎭?</p> <p>瑕佽繍琛?<strong>netsh routing dump</strong> 鍛戒護錛岀劧鍚庡皢杈撳嚭鍙戦佸埌 Route.cfg錛岃閿叆錛?/p> <p><strong>netsh routing dump</strong>><strong>c:\route.cfg</strong></p> <p>> 鎿嶄綔絎﹀彲浠ユ墦寮鍏鋒湁鍙啓璁塊棶鏉冮檺鐨勬寚瀹氭枃浠躲傚洜姝わ紝涓嶈兘浣跨敤璇ユ搷浣滅璇誨彇鏂囦歡銆備緥濡傦紝濡傛灉浣跨敤閲嶅畾鍚戞搷浣滅 >&0 鍚姩紼嬪簭錛屽垯鍐欏叆鍙ユ焺 1 鐨勬墍鏈夊皾璇曟搷浣滈兘灝嗗け璐ワ紝鍥犱負鍙ユ焺 0 鏈鍒濇槸浠ュ彧璇昏闂柟寮忔墦寮鐨勩?/p> <p><strong>娉ㄦ剰</strong></p> <p> <table cellSpacing=0 cellPadding=0 border=0> <tbody> <tr> <td class=listBullet vAlign=top>•</td> <td class=listItem> <p>1 鏄?> 閲嶅畾鍚戣緭鍑烘搷浣滅鐨勯粯璁ゅ彞鏌勩?</p> </td> </tr> </tbody> </table> </p> <a name=EKAAC></a> <h2>澶嶅埗鍙ユ焺</h2> <p>閲嶅畾鍚戞搷浣滅 & 鍙互灝嗚緭鍑烘垨杈撳叆浠庝竴涓寚瀹氬彞鏌勫鍒跺埌鍙︿竴涓寚瀹氱殑鍙ユ焺銆備緥濡傦紝瑕佸皢 <strong>dir</strong> 杈撳嚭鍙戦佸埌 File.txt 騫跺皢閿欒杈撳嚭鍙戦佸埌 File.txt錛岃閿叆錛?/p> <p><strong>dir>c:\file.txt 2>&1</strong></p> <p>澶嶅埗鍙ユ焺鏃訛紝鍙互澶嶅埗璇ュ彞鏌勫師鐘舵佺殑鎵鏈夌壒鎬с備緥濡傦紝濡傛灉涓涓彞鏌勫叿鏈夊彧璇昏闂殑灞炴э紝鍒欒鍙ユ焺鐨勬墍鏈夊壇鏈兘鍏鋒湁鍙璁塊棶灞炴с備笉鑳藉皢涓涓叿鏈夊彧璇昏闂睘鎬х殑鍙ユ焺澶嶅埗鍒板彟涓涓叿鏈夊彧鍐欒闂睘鎬х殑鍙ユ焺銆?/p> <a name=EVAAC></a> <h2>浣跨敤 & 鎿嶄綔絎﹂噸瀹氬悜杈撳叆鍜屽壇鏈?/h2> <p>瑕?灝嗛噸瀹氬悜杈撳叆鎿嶄綔絎?(<) 涓庡鍒舵搷浣滅 (&) 緇撳悎浣跨敤錛屾寚瀹氱殑鏂囦歡蹇呴』宸茬粡瀛樺湪銆傚鏋滆緭鍏ユ枃浠跺瓨鍦紝Cmd.exe 灝嗕互鍙鏂瑰紡鎵撳紑璇ユ枃浠訛紝鐒跺悗灝嗘枃浠跺寘鍚殑瀛楃浣滀負杈撳叆鍙戦佸埌姝ゅ懡浠わ紙濡傚悓浠庨敭鐩樿緭鍏ヤ竴鏍鳳級銆傚鏋滄寚瀹氫簡鍙ユ焺錛孋md.exe 灝嗘寚瀹氱殑鍙ユ焺澶嶅埗鍒扮郴緇熺幇鏈夌殑鍙ユ焺涓?/p> <p>渚嬪錛岃浠ュ彞鏌?0 杈撳叆璇誨彇錛堝嵆 STDIN錛夌殑鏂瑰紡鎵撳紑 File.txt錛岃閿叆錛?/p> <p><strong><</strong><strong>file.txt</strong></p> <p>瑕佹墦寮 File.txt錛屽茍鍦ㄥ唴瀹規帓搴忓悗灝嗚緭鍑哄彂閫佸埌鍛戒護鎻愮ず絎︾獥鍙o紙鍗?STDOUT錛夛紝璇烽敭鍏ワ細</p> <p><strong>sort<</strong><strong>file.txt</strong></p> <p>瑕佹煡鎵?File.txt錛岀劧鍚庡皢鍙ユ焺 1錛堝嵆 STDOUT錛夊拰鍙ユ焺 2錛堝嵆 STDERR錛夐噸瀹氬悜鍒?Search.txt錛岃閿叆錛?/p> <p><strong>findfile file.txt>search.txt 2<&1</strong></p> <p>瑕佷互鍙ユ焺 0 杈撳叆璇誨彇錛堝嵆 STDIN錛夌殑鏂瑰紡澶嶅埗鐢ㄦ埛瀹氫箟鐨勫彞鏌?3錛岃閿叆錛?/p> <p><strong><&3</strong></p> <a name=EMBAC></a> <h2>浣跨敤 & 鎿嶄綔絎﹂噸瀹氬悜杈撳嚭鍜屽鍒?/h2> <p>濡傛灉灝嗚緭鍑洪噸瀹氬悜鍒版枃浠朵笖鎸囧畾浜嗙幇鏈夌殑鏂囦歡鍚嶏紝Cmd.exe 灝嗕互鍙啓鏂瑰紡鎵撳紑鏂囦歡騫惰鐩栬鏂囦歡鍐呭銆傚鏋滄寚瀹氫簡鍙ユ焺錛孋md.exe 灝嗘枃浠跺鍒跺埌鐜版湁鍙ユ焺涓?/p> <p>瑕佸皢鐢ㄦ埛瀹氫箟鐨勫彞鏌?3 澶嶅埗鍒板彞鏌?1錛岃閿叆錛?/p> <p><strong>>&3</strong></p> <p>瑕佸皢鍖呮嫭鍙ユ焺 2錛堝嵆 STDERR錛夌殑鎵鏈夎緭鍑轟粠 <strong>ipconfig</strong> 鍛戒護閲嶅畾鍚戝埌鍙ユ焺 1錛堝嵆 STDOUT錛夛紝鐒跺悗灝嗚緭鍑洪噸瀹氬悜鍒?Output.log錛岃閿叆錛?/p> <p><strong>ipconfig.exe>>output.log 2>&1</strong></p> <a name=E2BAC></a> <h2>浣跨敤 >> 閲嶅畾鍚戞搷浣滅闄勫姞杈撳嚭</h2> <p>瑕佷粠鍛戒護涓皢杈撳嚭娣誨姞鍒版枃浠舵湯灝捐屼笉涓㈠け鏂囦歡涓凡瀛樺湪鐨勪換浣曚俊鎭紝璇蜂嬌鐢ㄤ袱涓繛緇殑澶т簬鍙鳳紙鍗?>>錛夈備緥濡傦紝浣跨敤涓嬪垪鍛戒護鍙互灝?<strong>dir</strong> 鍛戒護鐢熸垚鐨勭洰褰曞垪琛ㄩ檮鍔犲埌 Dirlist.txt 鏂囦歡錛?</p> <p><strong>dir>>dirlist.txt </strong></p> <p>瑕佸皢 <strong>netstat</strong> 鍛戒護鐨勮緭鍑洪檮鍔犲埌 Tcpinfo.txt 鐨勬湯灝撅紝璇烽敭鍏ワ細</p> <p><strong>netstat>>tcpinfo.txt</strong></p> <a name=ENCAC></a> <h2>浣跨敤<a name=baidusnap0></a><strong style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">綆¢亾鎿嶄綔絎?/strong> (|)</h2> <p><strong style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">綆¢亾鎿嶄綔絎?/strong> (|) 鍙互鎻愬彇涓涓懡浠ょ殑杈撳嚭錛堥粯璁ゆ儏鍐典笅鏄?STDOUT錛夛紝鐒跺悗灝嗗叾瀹氬悜鍒板彟涓涓懡浠ょ殑杈撳叆錛堥粯璁ゆ儏鍐典笅鏄?STDIN錛変腑銆備緥濡傦紝浣跨敤涓嬮潰鐨勫懡浠ゅ彲浠ュ鐩綍榪涜鍒嗙被錛?/p> <p><strong>dir | sort</strong></p> <p>鍦ㄦ湰渚嬩腑錛屽皢鍚屾椂鍚姩涓や釜鍛戒護錛屼絾闅忓悗 <strong>sort</strong> 鍛戒護浼氭殏鍋滐紝鐩村埌瀹冩帴鏀跺埌 <strong>dir</strong> 鍛戒護鐨勮緭鍑轟負姝€?strong>sort</strong> 鍛戒護浣跨敤 <strong>dir</strong> 鍛戒護鐨勮緭鍑轟綔涓鴻緭鍏ワ紝鐒跺悗灝嗚緭鍑哄彂閫佸埌鍙ユ焺 1錛堝嵆 STDOUT錛夈?/p> <a name=EBDAC></a> <h2>鍚堝茍甯﹂噸瀹氬悜鎿嶄綔絎︾殑鍛戒護</h2> <p>閫氳繃鍚堝茍甯︽湁鍏朵粬鍛戒護鍜屾枃浠跺悕鐨勭瓫閫夊櫒鍛戒護錛屽彲浠ュ垱寤鴻嚜瀹氫箟鍛戒護銆備緥濡傦紝鍙互浣跨敤浠ヤ笅鍛戒護瀛樺偍鍖呭惈“LOG”瀛楃涓茬殑鏂囦歡鍚? </p> <p><strong>dir /b | find "log" loglist.txt</strong></p> <p><strong>dir</strong> 鍛戒護鐨勮緭鍑烘槸閫氳繃 <strong>find</strong> 絳涢夊櫒鍛戒護榪涜鍙戦佺殑銆傚寘鍚瓧絎︿覆“LOG”鐨勬枃浠跺悕浣滀負鏂囦歡鍚嶅垪琛紙渚嬪錛孨etshConfig.log銆丩ogdat.svd 鍜?Mylog.bat錛夊瓨鍌ㄥ湪鏂囦歡 Loglist.txt 涓?</p> <p>瑕佸湪鐩稿悓鍛戒護涓嬌鐢ㄥ涓瓫閫夊櫒錛岃浣跨敤綆¢亾 (|) 鍒嗛殧絳涢夊櫒銆備緥濡傦紝涓嬮潰鐨勫懡浠ゅ皢鎼滅儲 C 鐩樹笂鐨勬瘡涓洰褰曚互鏌ユ壘鍖呭惈“LOG”瀛楃涓茬殑鏂囦歡鍚嶏紝騫朵笖鍦ㄥ懡浠ゆ彁紺虹紿楀彛涓瘡嬈℃樉紺轟竴灞忥細</p> <p><strong>dir c:\ /s /b | find "log" | more</strong></p> <p>鍒╃敤綆¢亾 (|) 鍙互瀵?Cmd.exe 榪涜瀹氬悜錛屼嬌鍏墮氳繃 <strong>find</strong> 絳涢夊櫒鍛戒護鍙戦?<strong>dir</strong> 鍛戒護杈撳嚭銆?strong>find</strong> 鍛戒護鍙夋嫨鍖呭惈瀛楃涓?#8220;LOG”鐨勬枃浠跺悕銆?strong>more</strong> 鍛戒護鍙互鏄劇ず <strong>find</strong> 鍛戒護閫夋嫨鐨勬枃浠跺悕錛堝湪鍛戒護鎻愮ず絎︾獥鍙d腑姣忔鏄劇ず涓灞忥級銆傛湁鍏崇瓫閫夊櫒鍛戒護鐨勮緇嗕俊鎭紝璇峰弬闃?a ><u><font color=#0000ff>浣跨敤絳涢夊櫒</font></u></a>銆?/p> </div> </td> </tr> </tbody> </table> <img src ="http://m.shnenglu.com/sssa2000/aggbug/66613.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sssa2000/" target="_blank">閿洏鐨勫拸鍙硅皟</a> 2008-11-11 15:52 <a href="http://m.shnenglu.com/sssa2000/archive/2008/11/11/66613.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://kxm6868.com" target="_blank">亚洲国产经典视频</a>| <a href="http://by777117.com" target="_blank">麻豆成人av</a>| <a href="http://muwendada.com" target="_blank">免费观看在线综合色</a>| <a href="http://yiqiluntan.com" target="_blank">乱人伦精品视频在线观看</a>| <a href="http://guanghezixun.com" target="_blank">久久免费的精品国产v∧</a>| <a href="http://www99mmnn.com" target="_blank">久久av一区二区</a>| <a href="http://9lunli.com" target="_blank">免费成人高清视频</a>| <a href="http://musicshq.com" target="_blank">欧美高清视频免费观看</a>| <a href="http://021-job.com" target="_blank">亚洲国产cao</a>| <a href="http://2220004.com" target="_blank">亚洲伦理在线</a>| <a href="http://www01614.com" target="_blank">欧美在线看片</a>| <a href="http://666cmc.com" target="_blank">欧美精品乱码久久久久久按摩</a>| <a href="http://zzztt04.com" target="_blank">欧美黄色免费</a>| <a href="http://www-13978.com" target="_blank">国产欧美日韩综合精品二区</a>| <a href="http://hengbang50.com" target="_blank">在线成人激情黄色</a>| <a href="http://uuuu30.com" target="_blank">亚洲视频在线播放</a>| <a href="http://sh-hxjdkj.com" target="_blank">久久久蜜臀国产一区二区</a>| <a href="http://jx963.com" target="_blank">亚洲国产mv</a>| <a href="http://r4747.com" target="_blank">亚洲午夜视频</a>| <a href="http://45z6.com" target="_blank">女仆av观看一区</a>| <a href="http://2ejj.com" target="_blank">国产精品视频久久一区</a>| <a href="http://9uu91.com" target="_blank">亚洲国产日韩一区</a>| <a href="http://223533.com" target="_blank">欧美在线一级va免费观看</a>| <a href="http://jiazhuangma.com" target="_blank">亚洲欧洲精品成人久久奇米网</a>| <a href="http://9lunli.com" target="_blank">性色av香蕉一区二区</a>| <a href="http://977764.com" target="_blank">国内精品视频在线观看</a>| <a href="http://tinganji.com" target="_blank">亚洲精品黄色</a>| <a href="http://proenhub.com" target="_blank">久久国产精品毛片</a>| <a href="http://xiaofan123.com" target="_blank">亚洲精品影院</a>| <a href="http://3bmmtv.com" target="_blank">久久青青草综合</a>| <a href="http://www77711.com" target="_blank">欧美午夜性色大片在线观看</a>| <a href="http://www962aa.com" target="_blank">激情综合久久</a>| <a href="http://080973.com" target="_blank">亚洲欧美伊人</a>| <a href="http://ganmabook.com" target="_blank">亚洲国产经典视频</a>| <a href="http://4915w.com" target="_blank">久久久av毛片精品</a>| <a href="http://simextec.com" target="_blank">欧美成人免费全部</a>| <a href="http://012488.com" target="_blank">亚洲男女自偷自拍</a>| <a href="http://521mu.com" target="_blank">欧美天堂在线观看</a>| <a href="http://wwwwy9001.com" target="_blank">亚洲精品资源</a>| <a href="http://7m08.com" target="_blank">欧美大香线蕉线伊人久久国产精品</a>| <a href="http://fjnexpo.com" target="_blank">亚洲自拍偷拍网址</a>| <a href="http://6399128.com" target="_blank">欧美日韩久久不卡</a>| <a href="http://ylsnuha.com" target="_blank">亚洲激情婷婷</a>| <a href="http://erosgems.com" target="_blank">男人的天堂亚洲在线</a>| <a href="http://ktokt.com" target="_blank">午夜精品视频</a>| <a href="http://t3gg.com" target="_blank">国产美女精品视频免费观看</a>| <a href="http://www-833898.com" target="_blank">一区二区三区视频在线观看</a>| <a href="http://tt5125.com" target="_blank">欧美激情按摩</a>| <a href="http://176sfsf.com" target="_blank">麻豆91精品</a>| <a href="http://bbbbyb.com" target="_blank">亚洲韩国青草视频</a>| <a href="http://wltaste.com" target="_blank">免费试看一区</a>| <a href="http://www-55125.com" target="_blank">久久久中精品2020中文</a>| <a href="http://www4455va.com" target="_blank">国产一区二区三区奇米久涩</a>| <a href="http://www-067.com" target="_blank">欧美一级专区免费大片</a>| <a href="http://www49853b.com" target="_blank">日韩图片一区</a>| <a href="http://www134rr.com" target="_blank">国产精品jizz在线观看美国 </a>| <a href="http://5418002.com" target="_blank">亚洲影院污污.</a>| <a href="http://www57669.com" target="_blank">亚洲成在人线av</a>| <a href="http://yyds16.com" target="_blank">麻豆久久久9性大片</a>| <a href="http://haoa009.com" target="_blank">韩国成人精品a∨在线观看</a>| <a href="http://wwwby2232.com" target="_blank">午夜久久影院</a>| <a href="http://gjjlzs.com" target="_blank">亚洲欧美另类国产</a>| <a href="http://114mz.com" target="_blank">国产精品你懂的在线</a>| <a href="http://xss521.com" target="_blank">一区二区三区导航</a>| <a href="http://wnboke.com" target="_blank">9l国产精品久久久久麻豆</a>| <a href="http://www-116036.com" target="_blank">欧美伦理91i</a>| <a href="http://gs-qintai.com" target="_blank">亚洲图片你懂的</a>| <a href="http://xpj694.com" target="_blank">亚洲一区区二区</a>| <a href="http://coerverbeijing.com" target="_blank">国产日韩综合</a>| <a href="http://www-119049.com" target="_blank">狼狼综合久久久久综合网</a>| <a href="http://1392266.com" target="_blank">久久精品日产第一区二区三区</a>| <a href="http://21bridal.com" target="_blank">国产在线精品自拍</a>| <a href="http://gzpurefaith.com" target="_blank">久久伊人一区二区</a>| <a href="http://987kt.com" target="_blank">91久久黄色</a>| <a href="http://zyjdxx.com" target="_blank">日韩亚洲精品视频</a>| <a href="http://5xxm.com" target="_blank">国产欧美日韩另类一区</a>| <a href="http://www49853b.com" target="_blank">蜜乳av另类精品一区二区</a>| <a href="http://80hogo.com" target="_blank">久久av免费一区</a>| <a href="http://xiaocao-av.com" target="_blank">国产伦精品一区二区三区在线观看</a>| <a href="http://tuiliqi.com" target="_blank">亚洲精品激情</a>| <a href="http://av2027.com" target="_blank">aa国产精品</a>| <a href="http://ffff53.com" target="_blank">国产欧美在线</a>| <a href="http://k37b.com" target="_blank">另类国产ts人妖高潮视频</a>| <a href="http://kedou09.com" target="_blank">免费成人你懂的</a>| <a href="http://4388x3.com" target="_blank">在线中文字幕不卡</a>| <a href="http://78gde.com" target="_blank">欧美在线精品免播放器视频</a>| <a href="http://hh474.com" target="_blank">亚洲国产专区校园欧美</a>| <a href="http://pfpf662.com" target="_blank">亚洲精品一区二区三区99</a>| <a href="http://21bridal.com" target="_blank">欧美视频免费</a>| <a href="http://avse69.com" target="_blank">久久青草欧美一区二区三区</a>| <a href="http://www456456.com" target="_blank">久久资源在线</a>| <a href="http://www524141.com" target="_blank">中文一区在线</a>| <a href="http://4008166177.com" target="_blank">久久高清免费观看</a>| <a href="http://yjdm139.com" target="_blank">亚洲乱码国产乱码精品精可以看</a>| <a href="http://91porn42.com" target="_blank">一区二区三区鲁丝不卡</a>| <a href="http://909059c.com" target="_blank">国产婷婷色一区二区三区四区</a>| <a href="http://mmmm26.com" target="_blank">欧美国产日韩一区二区</a>| <a href="http://19zet.com" target="_blank">欧美日韩八区</a>| <a href="http://www205sihu.com" target="_blank">久久久蜜桃精品</a>| <a href="http://www-49386.com" target="_blank">欧美日韩亚洲一区二区三区四区 </a>| <a href="http://26163c.com" target="_blank">噜噜噜躁狠狠躁狠狠精品视频 </a>| <a href="http://428368.com" target="_blank">国产欧美日韩免费看aⅴ视频</a>| <a href="http://fxsdcj.com" target="_blank">麻豆国产精品777777在线</a>| <a href="http://959425.com" target="_blank">欧美日韩精品综合在线</a>| <a href="http://yd3399.com" target="_blank">另类激情亚洲</a>| <a href="http://www36633.com" target="_blank">国产精品系列在线播放</a>| <a href="http://jlhao123.com" target="_blank">亚洲国产精品va在线看黑人动漫</a>| <a href="http://caopanjia.com" target="_blank">久久国产精品久久久久久久久久</a>| <a href="http://012928.com" target="_blank">欧美大片第1页</a>| <a href="http://xvideoav99.com" target="_blank">欧美一区二区三区视频在线</a>| <a href="http://zw1019.com" target="_blank">欧美成人r级一区二区三区</a>| <a href="http://www1126v.com" target="_blank">欧美一区激情</a>| <a href="http://3dxxoo.com" target="_blank">欧美日韩在线一区</a>| <a href="http://979695.com" target="_blank">亚洲国产高清在线观看视频</a>| <a href="http://muwendada.com" target="_blank">国产欧美一区二区三区在线看蜜臀 </a>| <a href="http://767296.com" target="_blank">国内精品福利</a>| <a href="http://www8888803.com" target="_blank">亚洲一级免费视频</a>| <a href="http://300618.com" target="_blank">一区二区免费在线观看</a>| <a href="http://72avav.com" target="_blank">裸体丰满少妇做受久久99精品</a>| <a href="http://75yyyy.com" target="_blank">亚洲欧美自拍偷拍</a>| <a href="http://785448.com" target="_blank">欧美三级日本三级少妇99</a>| <a href="http://viwasmart.com" target="_blank">亚洲欧洲在线免费</a>| <a href="http://y7y7s.com" target="_blank">亚洲美女av黄</a>| <a href="http://xunlei520.com" target="_blank">欧美激情黄色片</a>| <a href="http://hjk56.com" target="_blank">欧美激情视频一区二区三区不卡</a>| <a href="http://86311ib.com" target="_blank">国内精品视频久久</a>| <a href="http://72avav.com" target="_blank">久久精品1区</a>| <a href="http://3597777.com" target="_blank">久久人人爽国产</a>| <a href="http://51shoudian.com" target="_blank">国产欧美日韩一区二区三区</a>| <a href="http://2225101.com" target="_blank">中文久久乱码一区二区</a>| <a href="http://xiangshi888.com" target="_blank">亚洲深夜激情</a>| <a href="http://017455.com" target="_blank">欧美三级小说</a>| <a href="http://feiniao168.com" target="_blank">一区二区国产日产</a>| <a href="http://qqszdq.com" target="_blank">亚洲综合日韩</a>| <a href="http://www5123ri.com" target="_blank">欧美性感一类影片在线播放</a>| <a href="http://jav69me.com" target="_blank">亚洲精品日韩一</a>| <a href="http://taoseav8.com" target="_blank">亚洲手机在线</a>| <a href="http://8181777.com" target="_blank">亚洲国产一区在线</a>| <a href="http://www-57549.com" target="_blank">蜜桃久久av</a>| <a href="http://373336.com" target="_blank">欧美高清视频免费观看</a>| <a href="http://689992.com" target="_blank">91久久国产综合久久蜜月精品 </a>| <a href="http://107766a.com" target="_blank">亚洲欧洲精品一区二区</a>| <a href="http://av0333.com" target="_blank">91久久一区二区</a>| <a href="http://xingcheny.com" target="_blank">欧美二区在线</a>| <a href="http://138268.com" target="_blank">最新国产成人在线观看</a>| <a href="http://88848885.com" target="_blank">久久综合九色综合久99</a>| <a href="http://nbpacking.com" target="_blank">麻豆国产va免费精品高清在线</a>| <a href="http://54zcr.com" target="_blank">国产曰批免费观看久久久</a>| <a href="http://www-26333com.com" target="_blank">午夜视频在线观看一区二区三区 </a>| <a href="http://kongtou8.com" target="_blank">亚洲电影免费观看高清完整版在线 </a>| <a href="http://www-37277.com" target="_blank">亚洲美女在线看</a>| <a href="http://bauyu121.com" target="_blank">欧美激情视频一区二区三区在线播放</a>| <a href="http://099553.com" target="_blank">女同一区二区</a>| <a href="http://hoppecoke.com" target="_blank">亚洲日韩中文字幕在线播放</a>| <a href="http://ztqsfw.com" target="_blank">欧美日韩第一页</a>| <a href="http://chengli88.com" target="_blank">亚洲一区亚洲二区</a>| <a href="http://91x8.com" target="_blank">久久久久久久久综合</a>| <a href="http://77xyc77.com" target="_blank">尤物精品在线</a>| <a href="http://9xxpp.com" target="_blank">欧美日韩免费观看一区</a>| <a href="http://aqdit2022.com" target="_blank">亚洲午夜在线观看视频在线</a>| <a href="http://hhjc7.com" target="_blank">久久国产一区二区</a>| <a href="http://778kb.com" target="_blank">亚洲精品一区二</a>| <a href="http://8868866.com" target="_blank">国产精品久久久久国产a级</a>| <a href="http://caca060.com" target="_blank">香蕉精品999视频一区二区</a>| <a href="http://7345jj.com" target="_blank">欧美成人精品h版在线观看</a>| <a href="http://0999555.com" target="_blank">9l国产精品久久久久麻豆</a>| <a href="http://wwmm9.com" target="_blank">国产欧美精品日韩</a>| <a href="http://niceboybao.com" target="_blank">蜜桃av噜噜一区二区三区</a>| <a href="http://zjjieda.com" target="_blank">99热在这里有精品免费</a>| <a href="http://7755mm.com" target="_blank">久久免费视频在线</a>| <a href="http://wwwmm131.com" target="_blank">一本综合精品</a>| <a href="http://414794.com" target="_blank">欧美一区二区三区在线播放</a>| <a href="http://hfztkyhfz.com" target="_blank">欧美激情精品久久久久</a>| <a href="http://jzsp121.com" target="_blank">亚洲综合第一</a>| <a href="http://689657.com" target="_blank">最新日韩在线视频</a>| <a href="http://wwww20.com" target="_blank">国产人久久人人人人爽</a>| <a href="http://erosgems.com" target="_blank">欧美成人在线免费视频</a>| <a href="http://4534com.com" target="_blank">欧美一级久久久</a>| <a href="http://www979vv.com" target="_blank">亚洲人成在线观看一区二区</a>| <a href="http://xhamster0.com" target="_blank">香蕉国产精品偷在线观看不卡</a>| <a href="http://wwwcao88.com" target="_blank">在线观看欧美视频</a>| <a href="http://48655aa.com" target="_blank">国产精品久久久久久妇女6080 </a>| <a href="http://51jieyanla.com" target="_blank">亚洲国产精选</a>| <a href="http://junmatek.com" target="_blank">国产欧美日韩亚州综合</a>| <a href="http://k91cm.com" target="_blank">欧美国产视频在线观看</a>| <a href="http://4884888.com" target="_blank">欧美在线观看视频在线</a>| <a href="http://konwoosh.com" target="_blank">99视频日韩</a>| <a href="http://zunguidq.com" target="_blank">欧美国产视频在线观看</a>| <a href="http://www-485050.com" target="_blank">中日韩美女免费视频网址在线观看</a>| <a href="http://henhenai1.com" target="_blank">久久婷婷色综合</a>| <a href="http://794278.com" target="_blank">国产精品国产三级国产专播精品人</a>| <a href="http://xb735.com" target="_blank">欧美在线三级</a>| <a href="http://choaoxing.com" target="_blank">中文日韩欧美</a>| <a href="http://41818c.com" target="_blank">亚洲人成在线观看网站高清</a>| <a href="http://fs-nanxiang.com" target="_blank">久久人人爽爽爽人久久久</a>| <a href="http://xxxx90.com" target="_blank">亚洲免费视频中文字幕</a>| <a href="http://13789a.com" target="_blank">日韩亚洲一区在线播放</a>| <a href="http://3737520.com" target="_blank">在线看视频不卡</a>| <a href="http://ccc982.com" target="_blank">国产精品亚洲精品</a>| <a href="http://metagasa.com" 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>