锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品中文字幕一区,香蕉久久夜色精品国产小说,亚洲中文字幕无码久久综合网http://www.shnenglu.com/guying2008/archive/2009/07/22/90830.htmlyanghaibaoyanghaibaoWed, 22 Jul 2009 06:44:00 GMThttp://www.shnenglu.com/guying2008/archive/2009/07/22/90830.html浣滅敤錛?

瀹氫箟瀵硅薄闂寸殑涓縐嶄竴瀵瑰鐨勪緷璧栧叧緋伙紝褰撲竴涓璞$殑鐘舵佸彂鐢熸敼鍙樻椂錛屾墍鏈変緷璧栦簬瀹冪殑瀵硅薄閮藉緱鍒伴氱煡騫惰鑷姩鏇存柊銆?/p>

UML緇撴瀯鍥撅細

 

瑙f瀽錛?/p>

Observer妯″紡瀹氫箟鐨勬槸涓縐嶄竴瀵瑰鐨勫叧緋伙紝榪欓噷鐨勪竴灝辨槸鍥句腑鐨凷ubject綾伙紝鑰屽鍒欐槸Obesrver綾伙紝褰揝ubject綾葷殑鐘舵佸彂鐢熷彉鍖栫殑鏃跺欓氱煡涓庝箣瀵瑰簲鐨凮besrver綾諱滑涔熷幓鐩稿簲鐨勬洿鏂扮姸鎬侊紝鍚屾椂鏀寔鍔ㄦ佺殑娣誨姞鍜屽垹闄bserver瀵硅薄鐨勫姛鑳姐侽besrver妯″紡鐨勫疄鐜拌鐐規(guī)槸錛岀涓涓鑸瑂ubject綾婚兘鏄噰鐢ㄩ摼琛ㄧ瓑瀹瑰櫒鏉ュ瓨鏀綩bserver瀵硅薄錛岀浜屾娊鍙栧嚭Observer瀵硅薄鐨勪竴浜涘叕鍏辯殑灞炴у艦鎴怬bserver鍩虹被錛岃孲ubject涓繚瀛樼殑鍒欐槸Observer綾誨璞$殑鎸囬拡錛岃繖鏍峰氨浣縎ubject鍜屽叿浣撶殑Observer瀹炵幇浜嗚В鑰︼紝涔熷氨鏄疭ubject涓嶉渶瑕佸幓鍏沖績鍒板簳鏄摢涓狾bserver瀵規(guī)斁榪涗簡鑷繁鐨勫鍣ㄤ腑銆傜敓媧諱腑鏈夊緢澶氫緥瀛愬彲浠ョ湅鍋氭槸Observer妯″紡鐨勮繍鐢紝姣旀柟璇達紝涓涓彮鏈変竴涓彮涓諱換錛圫ubject錛夛紝浠栫鐞嗘墜涓嬬殑涓甯鐢燂紙Observer錛夛紝褰撶彮閲屾湁涓浜涗簨鎯呭彂鐢熼渶瑕侀氱煡瀛︾敓鐨勬椂鍊欙紝鐝富浠昏鍋氱殑涓嶆槸閫愪釜瀛︾敓鎸ㄤ釜鐨勯氱煡鑰屾槸鎶婂鐢熷彫闆嗚搗鏉ヤ竴璧烽氱煡錛屽疄鐜頒簡鐝富浠誨拰鍏蜂綋瀛︾敓鐨勫叧緋昏В鑰︺?/p>

瀹炵幇錛?/p>

1錛塐bserver.h

/**//********************************************************************
銆銆銆 created:銆銆銆 2006/07/20
銆銆銆 filename:銆銆銆銆 Observer.h
銆銆銆 author:銆銆銆銆銆銆銆 鏉庡垱
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 http://www.shnenglu.com/converse/

銆銆銆 purpose:銆銆銆 Observer妯″紡鐨勬紨紺轟唬鐮?br>*********************************************************************/

#ifndef OBSERVER_H
#define OBSERVER_H

#include <list>

typedef int STATE;

class Observer;

// Subject鎶借薄鍩虹被,鍙渶瑕佺煡閬揙bserver鍩虹被鐨勫0鏄庡氨鍙互浜?br>class Subject
{
public:
銆銆銆 Subject() : m_nSubjectState(-1){}
銆銆銆 virtual ~Subject();

銆銆銆 void Notify();銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 // 閫氱煡瀵硅薄鏀瑰彉鐘舵?br>銆銆銆 void Attach(Observer *pObserver);銆銆銆銆銆銆銆 // 鏂板瀵硅薄
銆銆銆 void Detach(Observer *pObserver);銆銆銆銆銆銆銆 // 鍒犻櫎瀵硅薄

銆銆銆 // 铏氬嚱鏁?鎻愪緵榛樿鐨勫疄鐜?媧劇敓綾誨彲浠ヨ嚜宸卞疄鐜版潵瑕嗙洊鍩虹被鐨勫疄鐜?br>銆銆銆 virtual void銆銆銆 SetState(STATE nState);銆銆銆 // 璁劇疆鐘舵?br>銆銆銆 virtual STATE銆銆銆 GetState();銆銆銆銆銆銆銆 // 寰楀埌鐘舵?/p>

protected:
銆銆銆 STATE m_nSubjectState;銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 // 妯℃嫙淇濆瓨Subject鐘舵佺殑鍙橀噺
銆銆銆 std::list<Observer*>銆銆銆 m_ListObserver;銆銆銆 // 淇濆瓨Observer鎸囬拡鐨勯摼琛?br>};

// Observer鎶借薄鍩虹被
class Observer
{
public:
銆銆銆 Observer() : m_nObserverState(-1){}
銆銆銆 virtual ~Observer(){}

銆銆銆 // 綰櫄鍑芥暟,鍚勪釜媧劇敓綾誨彲鑳芥湁涓嶅悓鐨勫疄鐜?br>銆銆銆 // 閫氱煡Observer鐘舵佸彂鐢熶簡鍙樺寲
銆銆銆 virtual void Update(Subject* pSubject) = 0;

protected:
銆銆銆 STATE m_nObserverState;銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 // 妯℃嫙淇濆瓨Observer鐘舵佺殑鍙橀噺
};

// ConcreateSubject綾?媧劇敓鍦⊿ubject綾?br>class ConcreateSubject
銆銆銆 : public Subject
{
public:
銆銆銆 ConcreateSubject() : Subject(){}
銆銆銆 virtual ~ConcreateSubject(){}

銆銆銆 // 媧劇敓綾昏嚜宸卞疄鐜版潵瑕嗙洊鍩虹被鐨勫疄鐜?br>銆銆銆 virtual void銆銆銆 SetState(STATE nState);銆銆銆 // 璁劇疆鐘舵?br>銆銆銆 virtual STATE銆銆銆 GetState();銆銆銆銆銆銆銆 // 寰楀埌鐘舵?/p>

};

// ConcreateObserver綾繪淳鐢熻嚜Observer
class ConcreateObserver
銆銆銆 : public Observer
{
public:
銆銆銆 ConcreateObserver() : Observer(){}
銆銆銆 virtual ~ConcreateObserver(){}

銆銆銆 // 铏氬嚱鏁?瀹炵幇鍩虹被鎻愪緵鐨勬帴鍙?br>銆銆銆 virtual void Update(Subject* pSubject);
};

#endif

 

2錛塐bserver.cpp

/**//********************************************************************
銆銆銆 created:銆銆銆 2006/07/20
銆銆銆 filename:銆銆銆銆 Observer.cpp
銆銆銆 author:銆銆銆銆銆銆銆 鏉庡垱
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 http://www.shnenglu.com/converse/

銆銆銆 purpose:銆銆銆 Observer妯″紡鐨勬紨紺轟唬鐮?br>*********************************************************************/

#include "Observer.h"
#include <iostream>
#include <algorithm>

/**//* --------------------------------------------------------------------
|銆銆銆 Subject綾繪垚鍛樺嚱鏁扮殑瀹炵幇
|
銆----------------------------------------------------------------------*/

void Subject::Attach(Observer *pObserver)
{
銆銆銆 std::cout << "Attach an Observern";

銆銆銆 m_ListObserver.push_back(pObserver);
}

void Subject::Detach(Observer *pObserver)
{
銆銆銆 std::list<Observer*>::iterator iter;
銆銆銆 iter = std::find(m_ListObserver.begin(), m_ListObserver.end(), pObserver);

銆銆銆 if (m_ListObserver.end() != iter)
銆銆銆 {
銆銆銆銆銆銆銆 m_ListObserver.erase(iter);
銆銆銆 }

銆銆銆 std::cout << "Detach an Observern";
}

void Subject::Notify()
{
銆銆銆 std::cout << "Notify Observers''s Staten";

銆銆銆 std::list<Observer*>::iterator iter1, iter2;

銆銆銆 for (iter1 = m_ListObserver.begin(), iter2 = m_ListObserver.end();
銆銆銆銆銆銆銆銆 iter1 != iter2;
銆銆銆銆銆銆銆銆 ++iter1)
銆銆銆 {
銆銆銆銆銆銆銆 (*iter1)->Update(this);
銆銆銆 }
}

void Subject::SetState(STATE nState)
{
銆銆銆 std::cout << "SetState By Subjectn";
銆銆銆 m_nSubjectState = nState;
}

STATE Subject::GetState()
{
銆銆銆 std::cout << "GetState By Subjectn";
銆銆銆 return m_nSubjectState;
}

Subject::~Subject()
{
銆銆銆 std::list<Observer*>::iterator iter1, iter2, temp;

銆銆銆 for (iter1 = m_ListObserver.begin(), iter2 = m_ListObserver.end();
銆銆銆銆銆銆銆 iter1 != iter2;
銆銆銆銆銆銆銆 )
銆銆銆 {
銆銆銆銆銆銆銆 temp = iter1;
銆銆銆銆銆銆銆 ++iter1;
銆銆銆銆銆銆銆 delete (*temp);
銆銆銆 }

銆銆銆 m_ListObserver.clear();
}

/**//* --------------------------------------------------------------------
|銆銆銆 ConcreateSubject綾繪垚鍛樺嚱鏁扮殑瀹炵幇
|
----------------------------------------------------------------------*/
void ConcreateSubject::SetState(STATE nState)
{
銆銆銆 std::cout << "SetState By ConcreateSubjectn";
銆銆銆 m_nSubjectState = nState;
}

STATE ConcreateSubject::GetState()
{
銆銆銆 std::cout << "GetState By ConcreateSubjectn";
銆銆銆 return m_nSubjectState;
}

/**//* --------------------------------------------------------------------
|銆銆銆 ConcreateObserver綾繪垚鍛樺嚱鏁扮殑瀹炵幇
|
----------------------------------------------------------------------*/
void ConcreateObserver::Update(Subject* pSubject)
{
銆銆銆 if (NULL == pSubject)
銆銆銆銆銆銆銆 return;

銆銆銆 m_nObserverState = pSubject->GetState();

銆銆銆 std::cout << "The ObeserverState is " << m_nObserverState << std::endl;
}


3錛塎ain.cpp

/**//********************************************************************
銆銆銆 created:銆銆銆 2006/07/21
銆銆銆 filename:銆銆銆銆 Main.cpp
銆銆銆 author:銆銆銆銆銆銆銆 鏉庡垱
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 http://www.shnenglu.com/converse/

銆銆銆 purpose:銆銆銆 Observer妯″紡鐨勬祴璇曚唬鐮?br>*********************************************************************/

#include "Observer.h"
#include <iostream>

int main()
{
銆銆銆 Observer *p1 = new ConcreateObserver;
銆銆銆 Observer *p2 = new ConcreateObserver;

銆銆銆 Subject* p = new ConcreateSubject;
銆銆銆 p->Attach(p1);
銆銆銆 p->Attach(p2);
銆銆銆 p->SetState(4);
銆銆銆 p->Notify();

銆銆銆 p->Detach(p1);
銆銆銆 p->SetState(10);
銆銆銆 p->Notify();

銆銆銆 delete p;

銆銆銆 system("pause");

銆銆銆 return 0;
}



yanghaibao 2009-07-22 14:44 鍙戣〃璇勮
]]>
Observer 妯″紡鐨勪竴縐嶅疄鐜?/title><link>http://www.shnenglu.com/guying2008/archive/2009/07/22/90824.html</link><dc:creator>yanghaibao</dc:creator><author>yanghaibao</author><pubDate>Wed, 22 Jul 2009 05:50:00 GMT</pubDate><guid>http://www.shnenglu.com/guying2008/archive/2009/07/22/90824.html</guid><description><![CDATA[<a >http://www.codeproject.com/KB/cpp/CppEvents.aspx</a> <img src ="http://www.shnenglu.com/guying2008/aggbug/90824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/guying2008/" target="_blank">yanghaibao</a> 2009-07-22 13:50 <a href="http://www.shnenglu.com/guying2008/archive/2009/07/22/90824.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐妯″紡瑙f瀽鍜屽疄鐜幫紙C++錛?Composite妯″紡http://www.shnenglu.com/guying2008/archive/2009/07/20/90641.htmlyanghaibaoyanghaibaoMon, 20 Jul 2009 09:14:00 GMThttp://www.shnenglu.com/guying2008/archive/2009/07/20/90641.html    灝嗗璞$粍鍚堟垚鏍?wèi)迮灳l撴瀯浠ヨ〃紺?#8220;閮ㄥ垎-鏁翠綋”鐨勫眰嬈$粨鏋勩侰omposite浣垮緱鐢ㄦ埛瀵瑰崟涓璞″拰緇勫悎瀵硅薄鐨勪嬌鐢ㄥ叿鏈変竴鑷存с?/p>

    UML緇撴瀯鍥撅細



    鎶借薄鍩虹被錛?/p>

    1錛塁omponent錛氫負緇勫悎涓殑瀵硅薄澹版槑鎺ュ彛錛屽0鏄庝簡綾誨叡鏈夋帴鍙g殑緙虹渷琛屼負錛堝榪欓噷鐨凙dd錛孯emove錛孏etChild鍑芥暟錛夛紝澹版槑涓涓帴鍙e嚱鏁板彲浠ヨ闂瓹omponent鐨勫瓙緇勪歡銆?/p>

    鎺ュ彛鍑芥暟錛?/p>

    1錛塁omponent錛氾細Operatation錛氬畾涔変簡鍚勪釜緇勪歡鍏辨湁鐨勮涓烘帴鍙o紝鐢卞悇涓粍浠剁殑鍏蜂綋瀹炵幇銆?/p>

    2錛塁omponent錛氾細Add娣誨姞涓涓瓙緇勪歡

    3錛塁omponent錛氾細Remove錛氾細鍒犻櫎涓涓瓙緇勪歡銆?/p>

    4錛塁omponent錛氾細GetChild錛氳幏寰楀瓙緇勪歡鐨勬寚閽堛?/p>

    瑙f瀽錛?/p>

    Component妯″紡鏄負瑙e喅緇勪歡涔嬮棿鐨勯掑綊緇勫悎鎻愪緵浜嗚В鍐崇殑鍔炴硶錛屽畠涓昏鍒嗕負涓や釜媧劇敓綾伙紝鍏朵腑鐨凩eaf鏄彾瀛愮粨鐐癸紝涔熷氨鏄笉鍚湁瀛愮粍浠剁殑緇撶偣錛岃孋omposite鏄惈鏈夊瓙緇勪歡鐨勭被銆備婦涓涓緥瀛愭潵璇存槑榪欎釜妯″紡錛屽湪UI鐨勮璁′腑錛屾渶鍩烘湰鐨勬帶浠舵槸璇稿Button錛孍dit榪欐牱鐨勬帶浠訛紝鐩稿綋浜庢槸榪欓噷鐨凩eaf緇勪歡錛岃屾瘮杈冨鏉傜殑鎺т歡姣斿List鍒欏彲涔熺湅鍋氭槸鐢辮繖浜涘熀鏈殑緇勪歡緇勫悎璧鋒潵鐨勬帶浠訛紝鐩稿綋浜庤繖閲岀殑Composite錛屽畠浠箣闂存湁涓浜涜涓哄惈涔夋槸鐩稿悓鐨勶紝姣斿鍦ㄦ帶浠朵笂浣滀竴涓偣鍑伙紝縐誨姩鎿嶄綔絳夌瓑鐨勶紝榪欎簺閮藉彲浠ュ畾涔変負鎶借薄鍩虹被涓殑鎺ュ彛铏氬嚱鏁幫紝鐢卞悇涓淳鐢熺被鍘誨疄鐜頒箣錛岃繖浜涢兘浼氭湁鐨勮涓哄氨鏄繖閲岀殑Operation鍑芥暟錛岃屾坊鍔狅紝鍒犻櫎絳夎繘琛岀粍浠剁粍鍚堢殑鎿嶄綔鍙湁闈炲彾瀛愮粨鐐規(guī)墠鍙兘鏈夛紝鎵浠ヨ櫄鎷熷熀綾諱腑鍙槸鎻愪緵鎺ュ彛鑰屼笖榛樿鐨勫疄鐜版槸浠涔堥兘涓嶅仛銆?/p> 瀹炵幇錛?

    1錛塁omposite.h

 /**//********************************************************************
銆銆銆 created:銆銆銆 2006/07/20
銆銆銆 filename:銆銆銆銆 Composite.h
銆銆銆 author:銆銆銆銆銆銆銆 鏉庡垱
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 http://www.shnenglu.com/converse/

銆銆銆 purpose:銆銆銆 Composite妯″紡鐨勬紨紺轟唬鐮?br>*********************************************************************/

#ifndef COMPOSITE_H
#define COMPOSITE_H

#include <list>

// 緇勫悎涓殑鎶借薄鍩虹被
class Component
{
public:
銆銆銆 Component(){}
銆銆銆 virtual ~Component(){}

銆銆銆 // 綰櫄鍑芥暟,鍙彁渚涙帴鍙?娌℃湁榛樿鐨勫疄鐜?br>銆銆銆 virtual void Operation() = 0;

銆銆銆 // 铏氬嚱鏁?鎻愪緵鎺ュ彛,鏈夐粯璁ょ殑瀹炵幇灝辨槸浠涔堥兘涓嶅仛
銆銆銆 virtual void Add(Component* pChild);
銆銆銆 virtual void Remove(Component* pChild);
銆銆銆 virtual Component* GetChild(int nIndex);
};

// 媧劇敓鑷狢omponent,鏄叾涓殑鍙跺瓙緇勪歡鐨勫熀綾?br>class Leaf
銆銆銆 : public Component
{
public:
銆銆銆 Leaf(){}
銆銆銆 virtual ~Leaf(){}

銆銆銆 virtual void Operation();
};

// 媧劇敓鑷狢omponent,鏄叾涓殑鍚湁瀛愪歡鐨勭粍浠剁殑鍩虹被
class Composite
銆銆銆 : public Component
{
public:
銆銆銆 Composite(){}
銆銆銆 virtual ~Composite();

銆銆銆 virtual void Operation();

銆銆銆 virtual void Add(Component* pChild);
銆銆銆 virtual void Remove(Component* pChild);
銆銆銆 virtual Component* GetChild(int nIndex);

private:
銆銆銆 // 閲囩敤list瀹瑰櫒鍘諱繚瀛樺瓙緇勪歡
銆銆銆 std::list<Component*>銆銆銆 m_ListOfComponent;
};

#endif

2錛塁omposite.cpp

 /**//********************************************************************
銆銆銆 created:銆銆銆 2006/07/20
銆銆銆 filename:銆銆銆銆 Composite.cpp
銆銆銆 author:銆銆銆銆銆銆銆 鏉庡垱
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 http://www.shnenglu.com/converse/

銆銆銆 purpose:銆銆銆 Composite妯″紡鐨勬紨紺轟唬鐮?br>*********************************************************************/

#include "Composite.h"
#include <iostream>
#include <algorithm>

/**//*-------------------------------------------------------------------
銆銆銆 Component鎴愬憳鍑芥暟鐨勫疄鐜?/p>

銆-------------------------------------------------------------------*/
void Component::Add(Component* pChild)
{

}

void Component::Remove(Component* pChild)
{

}

Component* Component::GetChild(int nIndex)
{
銆銆銆 return NULL;
}

/**//*-------------------------------------------------------------------
銆銆銆 Leaf鎴愬憳鍑芥暟鐨勫疄鐜?/p>

-------------------------------------------------------------------*/
void Leaf::Operation()
{
銆銆銆 std::cout << "Operation by leafn";
}

/**//*-------------------------------------------------------------------
銆銆銆 Composite鎴愬憳鍑芥暟鐨勫疄鐜?/p>

-------------------------------------------------------------------*/
Composite::~Composite()
{
銆銆銆 std::list<Component*>::iterator iter1, iter2, temp;

銆銆銆 for (iter1銆 = m_ListOfComponent.begin(), iter2 = m_ListOfComponent.end();
銆銆銆銆銆銆銆銆 iter1 != iter2;
銆銆銆銆銆銆銆銆 )
銆銆銆 {
銆銆銆銆銆銆銆 temp = iter1;
銆銆銆銆銆銆銆 ++iter1;
銆銆銆銆銆銆銆 delete (*temp);
銆銆銆 }
}

void Composite::Add(Component* pChild)
{
銆銆銆 m_ListOfComponent.push_back(pChild);
}

void Composite::Remove(Component* pChild)
{
銆銆銆 std::list<Component*>::iterator iter;

銆銆銆 iter = find(m_ListOfComponent.begin(), m_ListOfComponent.end(), pChild);

銆銆銆 if (m_ListOfComponent.end() != iter)
銆銆銆 {
銆銆銆銆銆銆銆 m_ListOfComponent.erase(iter);
銆銆銆 }
}

Component* Composite::GetChild(int nIndex)
{
銆銆銆 if (nIndex <= 0 || nIndex > m_ListOfComponent.size())
銆銆銆銆銆銆銆 return NULL;

銆銆銆 std::list<Component*>::iterator iter1, iter2;
銆銆銆 int i;
銆銆銆 for (i = 1, iter1銆 = m_ListOfComponent.begin(), iter2 = m_ListOfComponent.end();
銆銆銆銆銆銆銆 iter1 != iter2;
銆銆銆銆銆銆銆 ++iter1, ++i)
銆銆銆 {
銆銆銆銆銆銆銆 if (i == nIndex)
銆銆銆銆銆銆銆銆銆銆銆 break;
銆銆銆 }

銆銆銆 return *iter1;
}

void Composite::Operation()
{
銆銆銆 std::cout << "Operation by Compositen";

銆銆銆 std::list<Component*>::iterator iter1, iter2;

銆銆銆 for (iter1銆 = m_ListOfComponent.begin(), iter2 = m_ListOfComponent.end();
銆銆銆銆銆銆銆 iter1 != iter2;
銆銆銆銆銆銆銆 ++iter1)
銆銆銆 {
銆銆銆銆銆銆銆 (*iter1)->Operation();
銆銆銆 }
}

3錛塎ain.cpp

 /**//********************************************************************
銆銆銆 created:銆銆銆 2006/07/20
銆銆銆 filename:銆銆銆銆 Main.cpp
銆銆銆 author:銆銆銆銆銆銆銆 鏉庡垱
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆 http://www.shnenglu.com/converse/

銆銆銆 purpose:銆銆銆 Composite妯″紡鐨?a class=channel_keylink target=_blank>嫻嬭瘯浠g爜
*********************************************************************/

#include "Composite.h"
#include <stdlib.h>

int main()
{
銆銆銆 Leaf *pLeaf1 = new Leaf();
銆銆銆 Leaf *pLeaf2 = new Leaf();

銆銆銆 Composite* pComposite = new Composite;
銆銆銆 pComposite->Add(pLeaf1);
銆銆銆 pComposite->Add(pLeaf2);
銆銆銆 pComposite->Operation();
銆銆銆 pComposite->GetChild(2)->Operation();

銆銆銆 delete pComposite;

銆銆銆 system("pause");

銆銆銆 return 0;
}



yanghaibao 2009-07-20 17:14 鍙戣〃璇勮
]]>
Windows璋冭瘯宸ュ叿璇﹁Вhttp://www.shnenglu.com/guying2008/archive/2009/07/16/90252.htmlyanghaibaoyanghaibaoThu, 16 Jul 2009 08:37:00 GMThttp://www.shnenglu.com/guying2008/archive/2009/07/16/90252.htmlhttp://www.dbgtech.net/windbghelp/index.html
http://www.dbgtech.net


yanghaibao 2009-07-16 16:37 鍙戣〃璇勮
]]>
C++緙栬瘧鍣?---cl.exe鐨勫叏閮ㄥ懡浠ゅ紑鍏?/title><link>http://www.shnenglu.com/guying2008/archive/2009/07/16/90246.html</link><dc:creator>yanghaibao</dc:creator><author>yanghaibao</author><pubDate>Thu, 16 Jul 2009 08:05:00 GMT</pubDate><guid>http://www.shnenglu.com/guying2008/archive/2009/07/16/90246.html</guid><description><![CDATA[<h1 class=block_title><a id=viewpost1_TitleUrl href="http://www.shnenglu.com/ietj/articles/43233.html"></a> </h1> <div id="ca08oak" class=post> <div id="w8gwsc0" class=postcontent> <p>/C:鍦ㄩ澶勭悊杈撳嚭涓繚鐣欐敞閲婅鍙?br>/c:鍙紪璇戯紝涓嶈繛鎺ワ紝鐩稿綋浜庡湪"Build"鑿滃崟涓嬮夋嫨浜?Compile"<br>/D:瀹氫箟甯擱噺鍜屽畯錛屼笌婧愮▼搴忛噷鐨?define 鏈夌浉鍚屾晥鏋?br>/E:棰勫鐞咰銆丆錛嬶紜婧愭枃浠訛紝灝嗘簮鏂囦歡涓墍鏈夌殑棰勭紪璇戞寚浠ゅ強瀹忓睍寮錛屽皢娉ㄩ噴鍘繪帀錛岀劧鍚庡皢棰勫鐞嗗櫒鐨勮緭鍑烘嫹璐濊嚦鏍囧噯杈撳嚭璁懼杈撳嚭錛屽茍涓斿湪姣忎釜鏂囦歡鐨勫紑澶村拰鏈熬鍔犲叆#line<br>/EH:鎸囧畾緙栬瘧鍣ㄧ敤浣曠寮傚父澶勭悊妯″瀷<br>/EP:鍚?E,鍙槸鍘繪帀浜?line<br>/F:璁劇疆紼嬪簭鐨勫爢鏍堝ぇ灝?br>/FA:璁劇疆鐢熸垚浣曠鍒楄〃鏂囦歡錛堟眹緙栥佹眹緙栦笌鏈哄櫒鐮併佹眹緙栦笌婧愮爜銆佹眹緙栦笌鏈哄櫒鐮佷互鍙婃簮鐮侊級<br>/Fa:鎸囧畾鐢?FA璁劇疆鐨勫垪琛ㄦ枃浠剁殑瀛樻斁璺緞鍙婏紙鎴栵級鏂囦歡鍚?br>/FD:鐢熸垚鏂囦歡鐨勭浉浜掍緷璧栦俊鎭?br>/Fd:璁劇疆紼嬪簭鏁版嵁搴撴枃浠訛紙PDB錛夌殑瀛樻斁璺緞鍙婏紙鎴栵級鏂囦歡鍚?br>/Fe:璁劇疆鏈緇堝彲鎵ц鏂囦歡鐨勫瓨鏀捐礬寰勫強錛堟垨錛夋枃浠跺悕<br>/FI:棰勫鐞嗘寚瀹氱殑澶存枃浠訛紝涓庢簮鏂囦歡涓殑錛僫nclude鏈夌浉鍚屾晥鏋?br>/Fm:鍒涘緩map鏂囦歡<br>/Fo:璁劇疆緙栬瘧鍚嶰bj鏂囦歡鐨勫瓨鏀捐礬寰勫強錛堟垨錛夋枃浠跺悕<br>/Fp:璁劇疆棰勭紪璇戞枃浠訛紙pch錛夌殑瀛樻斁璺緞鍙婏紙鎴栵級鏂囦歡鍚?br>/FR:鐢熸垚嫻忚淇℃伅錛坰br錛夋枃浠?br>/Fr:鍚?FR,涓嶅悓涔嬪鍦ㄤ簬/Fr涓嶅寘鎷眬閮ㄥ彉閲忎俊鎭?br>/G3:涓?0386澶勭悊鍣ㄤ紭鍖栦唬鐮佺敓鎴?br>/G4:涓?0486澶勭悊鍣ㄤ紭鍖栦唬鐮佺敓鎴?br>/G5:涓篜entium澶勭悊鍣ㄤ紭鍖栦唬鐮佺敓鎴?br>/G6:涓篜entium Pro澶勭悊鍣ㄤ紭鍖栦唬鐮佺敓鎴?br>/GA:涓篧indows搴旂敤紼嬪簭浣滀紭鍖?br>/GB:涓篜entium澶勭悊鍣ㄤ紭鍖栦唬鐮佺敓鎴愶紝浣跨敤80386銆?0486銆丳entium銆丳entium Pro鐨勬販鍚堟寚浠ら泦錛屾槸浠g爜鐢熸垚鐨勯粯璁ら夐」錛堢▼搴忓睘鎬ч夐」涓璓rocessor瀵瑰簲Blend錛?br>/GD:涓篧indows鍔ㄦ佸簱錛坉ll錛変綔浼樺寲錛屾寮鍏沖湪VC6涓病鏈夊疄鐜?br>/Gd:鎸囧畾浣跨敤__cdecl鐨勫嚱鏁拌皟鐢ㄨ鍒?br>/Ge:嬋媧誨爢鏍堟嫻?br>/GF:娑堥櫎紼嬪簭涓殑閲嶅鐨勫瓧絎︿覆錛屽茍灝嗗ス鏀懼埌鍙鐨勭紦鍐插尯涓?br>/Gf:娑堥櫎紼嬪簭涓殑閲嶅瀛楃涓?br>/Gh:鍦ㄦ瘡涓嚱鏁扮殑寮澶磋皟鐢ㄩ挬瀛愶紙hook錛夊嚱鏁?-penter<br>/Gi:鍏佽娓愯繘緙栬瘧<br>/Gm:鍏佽鏈灝忓寲rebuild<br>/GR:鍏佽榪愯鏃剁被鍨嬩俊鎭?Run-Time Type Infomation)<br>/Gr:鎸囧畾浣跨敤__fastcall鐨勫嚱鏁拌皟鐢ㄨ鍒?br>/Gs:鎺у埗鍫嗘爤媯嫻嬫墍鐢ㄥ唴瀛樺ぇ灝?br>/GT:鏀寔鐢╛_declspec(thread)鍒嗛厤鐨勬暟鎹殑fier-safety<br>/GX:鍏佽鍚屾寮傚父澶勭悊錛屼笌/EHsc寮鍏崇瓑浠?br>/Gy:鍏佽緙栬瘧鍣ㄥ皢姣忎竴涓嚱鏁板皝瑁呮垚COMDATs鐨勫艦寮忥紝渚涜繛鎺ュ櫒璋冪敤<br>/GZ:鍏佽鍦―ebug build 鐨勬椂鍊欐崟鎹塕elease build鐨勯敊璇?br>/Gz:鎸囧畾浣跨敤__stdcall鐨勫嚱鏁拌皟鐢ㄨ鍒?br>/H:闄愬埗澶栭儴鍚嶅瓧鐨勯暱搴?br>/HELP:鍒楀嚭緙栬瘧鍣ㄧ殑鎵鏈夌殑鍛戒護寮鍏?br>/I:鎸囧畾澶存枃浠剁殑鎼滅儲璺緞<br>/J:灝哻har鐨勭己鐪佺被鍨嬩粠signed char鏀規(guī)垚unsigned char<br>/LD:鍒涘緩涓涓姩鎬佽繛鎺ュ簱<br>/LDd:鍒涘緩涓涓狣ebug鐗堟湰鐨勫姩鎬侀摼鎺ュ簱<br>/link:灝嗘寚瀹氱殑閫夐」浼犵粰榪炴帴鍣?br>/MD:閫夋嫨澶氱嚎紼嬨丏LL鐗堟湰鐨凜 Run錛峊ime搴?br>/MDd:閫夋嫨澶氱嚎紼嬨丏LL銆丏ebug鐗堟湰鐨凜 Run錛峊ime搴?br>/ML:閫夋嫨鍗曠嚎紼嬬増鏈殑C Run鈥擳ime搴?br>/MLd:閫夋嫨鍗曠嚎紼嬨丏ebug鐗堟湰鐨凜 Run鈥擳ime搴?br>/MT:閫夋嫨澶氱嚎紼嬬増鏈殑C Run-Time搴?br>/MTd:閫夋嫨澶氱嚎紼嬨丏ebug鐗堟湰鐨凜 Run鈥擳ime搴?br>/nologo:涓嶆樉紺虹▼搴忕殑鐗堟潈淇℃伅<br>/O1:浼樺寲浣夸駭鐢熺殑鍙墽琛屼唬鐮佹渶灝?br>/O2:浼樺寲浣夸駭鐢熺殑鍙墽琛屼唬鐮侀熷害鏈蹇?br>/Oa:鎸囩ず緙栬瘧鍣ㄧ▼搴忛噷娌℃湁浣跨敤鍒悕錛屽彲浠ユ彁楂樼▼搴忕殑鎵ц閫熷害<br>/Ob:鎺у埗鍐呰仈錛坕nline錛夊嚱鏁扮殑灞曞紑<br>/Od:紱佹浠g爜浼樺寲<br>/Og:浣跨敤鍏ㄥ眬浼樺寲<br>/Oi:鐢ㄥ唴閮ㄥ嚱鏁板幓浠f浛紼嬪簭閲岀殑鍑芥暟璋冪敤錛屽彲浠ヤ嬌紼嬪簭榪愯鐨勬洿蹇紝浣嗙▼搴忕殑闀垮害鍙橀暱<br>/Op:鎻愰珮?gòu)巩鐐规暟姣旇緝杩惤帡鐨勪竴鑷存?br>/Os:浜х敓灝藉彲鑳藉皬鐨勫彲鎵ц浠g爜<br>/Ot:浜х敓灝藉彲鑳藉潡鐨勫彲鎵ц浠g爜<br>/Ow:鎸囩ず緙栬瘧鍣ㄥ湪鍑芥暟浣撳唴閮ㄦ病鏈変嬌鐢ㄥ埆鍚?br>/Ox:緇勫悎浜嗗嚑涓紭鍖栧紑鍏籌紝杈懼埌灝藉彲鑳藉鐨勪紭鍖?br>/Oy:闃繪璋冪敤鍫嗘爤閲屽垱寤哄撫鎸囬拡<br>/Q1f:瀵規(guī)牳蹇冪駭鐨勮澶囬┍鍔ㄧ▼搴忕敓鎴愬崟鐙殑璋冭瘯淇℃伅<br>/QI0f:瀵筆entium 0x0f閿欒鎸囦護浣滀慨姝?br>/Qifdiv:瀵筆entium FDIV閿欒鎸囦護浣滀慨姝?br>/P:灝嗛澶勭悊杈撳嚭鍐欏埌鎸囧畾鏂囦歡閲岋紝鏂囦歡鐨勫悗緙鍚嶄負I<br>/TC:灝嗗懡浠よ涓婄殑鎵鏈夋枃浠墮兘褰撲綔C婧愮▼搴忕紪璇戯紝涓嶇鍚庣紑鍚嶆槸鍚︿負.c<br>/Tc:灝嗘寚瀹氱殑鏂囦歡褰撲綔C婧愮▼搴忕紪璇戯紝涓嶇鍚庣紑鍚嶆槸鍚︿負.c<br>/TP:灝嗗懡浠よ涓婄殑鎵鏈夋枃浠墮兘褰撲綔C錛嬶紜婧愮▼搴忕紪璇戯紝涓嶇鍚庣紑鍚嶆槸鍚︿負.cpp<br>/Tp:灝嗘寚瀹氭枃浠跺綋浣淐錛嬶紜婧愮▼搴忕紪璇戯紝涓嶇鍚庣紑鍚嶆槸鍚︿負.cpp<br>/U:鍘繪帀涓涓寚瀹氱殑鍓嶉潰瀹氫箟鐨勭鍙鋒垨甯擱噺<br>/u:鍘繪帀鎵鏈夊墠闈㈠畾涔夌殑絎﹀彿鎴栧父閲?br>/V:鍦ㄧ紪璇戠殑obj鏂囦歡閲屽祵鍏ョ増鏈彿<br>/vd:紱佹/鍏佽鏋勯犲嚱鏁扮疆鎹?br>/vmb:閫夋嫨鎸囬拡鐨勮〃紺烘柟娉曪紝浣跨敤榪欎釜寮鍏籌紝鍦ㄥ0鏄庢寚鍚戞煇涓被鐨勬垚鍛樼殑鎸囬拡涔嬪墠錛屽繀欏誨厛瀹氫箟榪欎釜綾?br>/vmg:閫夋嫨鎸囬拡鐨勮〃紺烘柟娉曪紝浣跨敤榪欎釜寮鍏籌紝鍦ㄥ0鏄庢寚鍚戞煇涓被鐨勬垚鍛樼殑鎸囬拡涔嬪墠錛屼笉蹇呭厛瀹氫箟榪欎釜綾伙紝浣嗚棣栧厛鎸囧畾榪欎釜綾繪槸浣跨敤浣曠緇ф壙鏂規(guī)硶<br>/vmm:璁劇疆鎸囬拡鐨勮〃紺烘柟娉曚負Single Inheritance and Multiple Inheritance<br>/vms:璁劇疆鎸囬拡鐨勮〃紺烘柟娉曚負Single Inheritance<br>/vmv:璁劇疆鎸囬拡鐨勮〃紺烘柟娉曚負Any class<br>/W:璁劇疆璀﹀憡絳夌駭<br>/w:紱佹鎵鏈夎鍛?br>/X:闃繪緙栬瘧鍣ㄦ悳绱㈡爣鍑嗙殑include 鐩綍<br>/Yc:鍒涘緩棰勭紪璇戝ご鏂囦歡錛坧ch錛?br>/Yd:鍦ㄦ墍鏈夌殑obj鏂囦歡閲屽啓涓婂畬鍏ㄧ殑璋冭瘯淇℃伅<br>/Yu:鍦╞uild榪囩▼涓嬌鐢ㄦ寚瀹氱殑棰勭紪璇戝ご鏂囦歡<br>/YX:鎸囩ず緙栬瘧鍣ㄨ嫢棰勭紪璇戝ご鏂囦歡瀛樺湪錛屽垯浣跨敤瀹冿紝鑻ヤ笉瀛樺湪錛屽垯鍒涘緩涓涓?br>/Z7:鐢熸垚MSC7.0鍏煎鐨勮皟璇曚俊鎭?br>/Za:紱佹璇█鎵╁睍(Microsoft Extensions to C)<br>/Zd:璋冭瘯淇℃伅鍙寘鍚閮ㄥ拰鍏ㄥ眬鐨勭鍙蜂俊鎭互鍙婅鍙蜂俊鎭?br>/Ze:鍏佽璇█鎵╁睍(Microsoft Extensions to C)<br>/Zg:涓烘簮鏂囦歡閲岄潰瀹氫箟鐨勬瘡涓嚱鏁扮敓鎴愬嚱鏁板師鍨?br>/ZI:鐢熸垚紼嬪簭搴撴枃浠訛紙Pdb錛夊茍鏀寔Edit and Continue璋冭瘯鐗規(guī)?br>/Zi:鐢熸垚紼嬪簭搴撴枃浠訛紙pdb錛夛紝鍖呭惈綾誨瀷淇℃伅鍜岀鍙瘋皟璇曚俊鎭?br>/ZL:浠巓bj鏂囦歡閲屽幓鎺夌己鐪佺殑搴撴枃浠跺悕<br>/Zm:璁劇疆緙栬瘧鍣ㄧ殑鍐呭瓨鍒嗛厤xianzhi<br>/Zn:紱佹嫻忚淇℃伅鏂囦歡閲岄潰鐨勫皝瑁?br>/Zp:璁劇疆緇撴瀯鎴愬憳鍦ㄥ唴瀛橀噷闈㈢殑灝佽鏍煎紡<br>/Zs:蹇熸鏌ヨ娉曢敊璇?br>錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞<br>vc鎵鏀寔鐨勬枃浠剁被鍨?/p> <p>DSW:鍏ㄧО鏄疍eveloper Studio Workspace錛屾渶楂樼駭鍒殑閰嶇疆鏂囦歡錛岃褰曚簡鏁翠釜宸ヤ綔絀洪棿鐨勯厤緗俊鎭紝濂規(guī)槸涓涓函鏂囨湰鐨勬枃浠訛紝鍦╲c鍒涘緩鏂伴」鐩殑鏃跺欒嚜鍔ㄧ敓鎴?br>DSP:鍏ㄧО鏄疍eveloper Studio Project錛屼篃鏄竴涓厤緗枃浠訛紝涓嶈繃濂硅褰曠殑鏄竴涓」鐩殑鎵鏈夐厤緗俊鎭紝綰枃鏈枃浠?br>OPT錛氫笌DSW銆丏SP閰嶅悎浣跨敤鐨勯厤緗枃浠訛紝濂硅褰曚簡涓庢満鍣ㄧ‖浠舵湁鍏崇殑淇℃伅錛屽悓涓涓」鐩湪涓嶅悓鐨勬満鍣ㄤ笂鐨刼pt鏂囦歡鍐呭鏄笉鍚岀殑<br>CLW錛氳褰曚簡璺烠lassWizard鐩稿叧鐨勪俊鎭紝濡傛灉涓㈠け浜哻lw鏂囦歡錛岄偅涔堝湪Class View闈㈡澘閲屽氨娌℃湁綾諱俊鎭?br>PLG錛氬疄闄呬笂鏄竴涓秴鏂囨湰鏂囦歡錛屽彲浠ョ敤Internet Explorer鎵撳紑錛岃褰曚簡Build鐨勮繃紼嬶紝鏄竴涓棩蹇楀瀷鏂囦歡<br>RC錛氳祫婧愭弿榪版枃浠訛紝璁板綍浜嗘墍鏈夌殑璧勬簮淇℃伅錛屽湪璧勬簮緙栬緫鍣ㄩ噷浣滅殑淇敼錛屽疄闄呬笂閮芥槸瀵筊C鏂囦歡鐨勪慨鏀?br>RC2錛氶檮鍔犵殑璧勬簮鎻忚堪鏂囦歡錛屼笉鑳界洿鎺ヨ祫婧愮紪杈戝櫒淇敼錛屽彧鑳芥墜宸ユ坊鍔狅紝鍙互鐢ㄦ潵娣誨姞棰濆鐨勮祫婧?br>RES錛氱粡榪囪祫婧愮紪杈戝櫒緙栬瘧涔嬪悗鐨勮祫婧愭枃浠訛紝浠ヤ簩榪涘埗鏂瑰紡瀛樻斁<br>SBR錛氱紪璇戝櫒鐢熸垚鐨勬祻瑙堜俊鎭枃浠訛紝鍦ㄤ唬鐮佸鑸殑鏃跺欓潪甯告湁鐢紝濂歸渶瑕佸湪緙栬瘧鏃舵寚瀹?FR鎴栬?Fr寮鍏?br>BSC錛欱SCMAKE.EXE灝嗘墍鏈夌殑SBR鏂囦歡浣滀負杈撳叆錛岀粡榪囧鐞嗕箣鍚庤緭鍑轟竴涓狟SC鏂囦歡錛屽湪浠g爜瀵艱埅鐨勬椂鍊欏疄闄呯敤鍒扮殑鏄疊SC鏂囦歡<br>ILK錛氬綋閫夊畾娓愬鍨嬬紪璇戣繛鎺ユ椂錛岃繛鎺ュ櫒鑷姩鐢熸垚ILK鏂囦歡錛岃褰曡繛鎺ヤ俊鎭?br>PDB錛氬叏縐版槸Program DataBase錛屽嵆紼嬪簭鏁版嵁搴撴枃浠訛紝鐢ㄦ潵璁板綍璋冭瘯淇℃伅錛屾槸涓涓浉褰撻噸瑕佺殑鏂囦歡錛屾病鏈変粬錛岀▼搴忔棤娉曟甯歌皟璇?br>LIB錛氬鏋滈」鐩緭鍑烘槸Dll鐨勮瘽錛屼竴鑸細杈撳嚭涓涓窡欏圭洰鍚屽悕鐨凩ib鏂囦歡錛岃褰曡緭鍑虹殑鍑芥暟淇℃伅<br>EXP錛氬悓Lib錛屾槸璺烡ll涓璧風(fēng)敓鎴愮殑杈撳嚭鏂囦歡<br>PCH錛氬叏縐版槸PreCompiled Header錛屽氨鏄鍏堢紪璇戝ソ鐨勫ご鏂囦歡錛屽湪緙栬瘧鏃舵寚瀹?Yu寮鍏蟲椂緙栬瘧鍣ㄨ嚜鍔ㄧ敓鎴?/p> </div> </div> <img src ="http://www.shnenglu.com/guying2008/aggbug/90246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/guying2008/" target="_blank">yanghaibao</a> 2009-07-16 16:05 <a href="http://www.shnenglu.com/guying2008/archive/2009/07/16/90246.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.tmuseum.cn" target="_blank">久久99精品久久只有精品</a>| <a href="http://www.wsnb.com.cn" target="_blank">青青热久久国产久精品 </a>| <a href="http://www.xysrsks.cn" target="_blank">久久精品九九亚洲精品</a>| <a href="http://www.buchaqian.org.cn" target="_blank">色综合久久综合中文综合网</a>| <a href="http://www.ciidc.org.cn" target="_blank">一本久久a久久精品亚洲</a>| <a href="http://www.pb-wines.cn" target="_blank">久久综合丝袜日本网</a>| <a href="http://www.3171unp.cn" target="_blank">色婷婷综合久久久久中文字幕</a>| <a href="http://www.goldenshipping.cn" target="_blank">久久综合亚洲色HEZYO社区</a>| <a href="http://www.qdaigo.com.cn" target="_blank">久久精品麻豆日日躁夜夜躁</a>| <a href="http://www.hhyskj.com.cn" target="_blank">国产高潮国产高潮久久久91</a>| <a href="http://www.jsmyy.cn" target="_blank">综合网日日天干夜夜久久</a>| <a href="http://www.utey.cn" target="_blank">久久精品国产半推半就</a>| <a href="http://www.wangzhuanzhe.cn" target="_blank">久久午夜夜伦鲁鲁片免费无码影视 </a>| <a href="http://www.21kexue.cn" target="_blank">久久人妻少妇嫩草AV蜜桃</a>| <a href="http://www.hbxdh.cn" target="_blank">久久狠狠色狠狠色综合</a>| <a href="http://www.guangmingtyre.cn" target="_blank">久久精品中文字幕大胸</a>| <a href="http://www.xibu520.cn" target="_blank">色综合久久天天综合</a>| <a href="http://www.ryjv.cn" target="_blank">久久精品国产亚洲AV无码娇色 </a>| <a href="http://www.ccguofeng.cn" target="_blank">久久青青草原亚洲av无码</a>| <a href="http://www.0771008.cn" target="_blank">性做久久久久久久</a>| <a href="http://www.ccssoo.com.cn" target="_blank">久久精品国产一区二区三区不卡 </a>| <a href="http://www.cdhjym.cn" target="_blank">国产精品伊人久久伊人电影 </a>| <a href="http://www.qinhaichang.cn" target="_blank">久久久久亚洲av无码专区</a>| <a href="http://www.shensizxw.cn" target="_blank">久久亚洲中文字幕精品一区四</a>| <a href="http://www.xiaosp4.cn" target="_blank">国产三级久久久精品麻豆三级 </a>| <a href="http://www.9n7.com.cn" target="_blank">91久久香蕉国产熟女线看</a>| <a href="http://www.mycqh.cn" target="_blank">无码超乳爆乳中文字幕久久</a>| <a href="http://www.gaguni.cn" target="_blank">午夜精品久久影院蜜桃</a>| <a href="http://www.xileshun.cn" target="_blank">久久国产精品久久</a>| <a href="http://www.hzf89.cn" target="_blank">久久国产精品成人免费</a>| <a href="http://www.hjpz333.cn" target="_blank">久久精品国产亚洲av日韩</a>| <a href="http://www.fundmm.cn" target="_blank">久久综合亚洲欧美成人</a>| <a href="http://www.ks-design.cn" target="_blank">久久久久免费精品国产</a>| <a href="http://www.gkvw.cn" target="_blank">久久99国产精品久久99小说</a>| <a href="http://www.taokecai.cn" target="_blank">中文成人无码精品久久久不卡</a>| <a href="http://www.cn-ppg.cn" target="_blank">久久精品18</a>| <a href="http://www.peopleim.cn" target="_blank">中文字幕精品久久久久人妻</a>| <a href="http://www.oushiliansuowa.cn" target="_blank">久久久WWW成人</a>| <a href="http://www.tingzei.cn" target="_blank">久久久久久久综合狠狠综合</a>| <a href="http://www.swfun.com.cn" target="_blank">国产精品成人久久久</a>| <a href="http://www.znhongsheng.com.cn" target="_blank">老男人久久青草av高清</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>