锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鏈枃涓昏璁茶ВQt鏄浣曞疄鐜板弽灝勶紝浠ュ強涓鐐圭偣鍙嶅皠浣跨敤鐨勫皬蹇冨緱銆?/p>
Qt鍙嶅皠鍐呭箷灝忕 璇︾粏鍐呭 鍙嶅皠鍓嶆湡鍑嗗 寰楀埌娉ㄥ唽鐨勭被鎴愬憳鍙橀噺 寰楀埌娉ㄥ唽鐨勭被鎴愬憳鍑芥暟 璁塊棶綾繪垚鍛樺睘鎬э紙get,set錛?/p>
璋冪敤娉ㄥ唽鐨勫嚱鏁?/p>
鍙嶅皠搴旂敤 鎬葷粨 Qt鍙嶅皠鏈哄埗鏄熀浜巑oc(meta object compiler)瀹炵幇鐨?鍦ㄨ繖閲屽鎻掍竴鍙ワ紙鍙互璇碤t鎵鏈塁++娌℃湁鐨勭壒鎬э紝鍑犱箮閮藉拰榪欎釜鏈夊叧緋伙級銆備絾鏄渶瑕佹敞鎰忕殑鏄疩t鎻愪緵鐨勫弽灝勫紡鍩烘湰鐨勫弽灝勶紝涓嶆敮鎸佺被鐨勫弽灝勶紝榪欎釜涓嶫ava錛孋#榪樻槸鏈夊樊鍒殑銆?/p>
閫氬父C++鐨勭紪璇戣繃紼嬩負 棰勫鐞?>緙栬瘧->閾炬帴->榪愯 Qt緙栬瘧鐨勮繃紼嬩腑錛屾湁涓涓猰oc鐨勮繃紼?鍦≦t宸ョ▼鏋勫緩榪囩▼涓殑qmake鍏跺疄灝辨槸騫茶繖涓簨鐨勩俶oc->棰勫鐞?>緙栬瘧->閾炬帴->榪愯銆?/p>
鍦╩oc榪囩▼涓紝闇瑕佸鐞嗙殑浜嬫儏濡備笅錛?/p>
1銆?璇嗗埆涓浜涚壒孌婄殑瀹廞_OBJECT銆丵_PROPERTY銆丵_INVOKABLE銆傘傘? 濡傛灉紕板埌榪欎簺鍏抽敭瀛楋紝Qt鑷劧灝變細鍘葷敓鎴愬搴旂殑moc鏂囦歡銆?/p>
2銆?slot錛宻ignal鑷劧涔熸槸濡傛銆?/p>
3銆?uidesigner錛屽悓鏍蜂篃鏄湪榪欎釜闃舵澶勭悊鐨? 1銆?棣栧厛寰楃戶鎵夸簬Q_Object,鍚屾椂闇瑕佸湪class涓姞鍏_OBJECT錛屼絾鏄疩_Object鐨勬瀯閫犲嚱鏁伴粯璁ゆ槸縐佹湁鐨勪笉璁╃戶鎵褲? 鍦ㄧ被涓洿鎺ヤ嬌鐢≦_GADGET涔熷彲浠ュ疄鐜板弽灝勶紝銆傘傘傛嵁璇村彧鑳藉疄鐜伴儴鍒嗗姛鑳斤紝鐩墠鎴戝彧瀹炵幇鍒拌兘閬嶅巻鎴愬憳灞炴э紝鍑芥暟錛屼絾鏄笉鑳借闂叾涓殑鍊箋? 榪欎釜榪囩▼鍏跺疄灝辨槸瀹氫箟QMetaObject鐨勮繃紼嬶紝鍏蜂綋瑙丵t婧愮爜 2銆?娉ㄥ唽綾繪垚鍛樺彉閲忛渶瑕佷嬌鐢≦_PROPERTY Q_PROPERTY( type member READ get WRITE set) 鍏朵腑READ,WRITE鏄叧閿瓧 Type琛ㄧず鎴愬憳鐨勭被鍨嬶紙涓嶆敮鎸佽嚜瀹氫箟綾誨瀷錛屽Qt寰堝鍩烘湰綾誨瀷閮芥敮鎸侊級; Member浠h〃浣犵粰璇ユ垚鍛樺彟澶栬搗鐨勫悕瀛楋紝鍙互鍜屽彉閲忓悕涓嶅悓錛沢et錛宻et灝辨槸鑷繁鍦–++鍑芥暟閲岄潰瀹氫箟鐨勫熀鏈殑璁塊棶鍑芥暟鍚嶏紝涓嶉渶瑕佸啓鍙傛暟銆傜洿鎺ヤ笂浠g爜錛? 3銆?娉ㄥ唽綾繪垚鍛樺嚱鏁? 濡傛灉浣犲笇鏈涜繖涓嚱鏁拌兘澶熻鍙嶅皠錛岄偅涔堝緢綆鍗曪紝鍙渶瑕佸湪綾葷殑鍑芥暟澹版槑鍓嶅姞鍏_INVOKABLE鍏抽敭瀛椼? 渚嬪Q_INVOKABLE int func( QString flag ); 涓昏鎬濊礬灝辨槸寰楀埌鍏跺厓瀵硅薄錛屽緱鍒板叾鍏冨睘鎬э紝鐒跺悗灝辮兘寰楀埌浣犻渶瑕佺殑淇℃伅錛屽叿浣撶殑璁塊棶鍑芥暟鏈塶ame,type,闇瑕佹敞鎰忕殑鏄緱鍒扮殑type鏄灇涓懼鹼紝榪樺湪Qt鎻愪緵浜唗ypeToName鐨勫嚱鏁幫紝浣犲彲浠ュ緱鍒版兂瑕佺殑錛堜緥濡備笉鏄┖媧炵殑2錛岃屾槸”int”錛夈?/p>
鍜岄亶鍘嗙被灞炴т竴鑷達紝鍏跺疄灝辨槸鏍規嵁鍏冨璞★紝寰楀埌鍏冨嚱鏁? 鍏朵腑typeName浠h〃榪斿洖綾誨瀷錛宻ignature鍙殑鏄嚱鏁扮殑鍘熻矊錛宮ethodType浠h〃鍑芥暟鐨勭被鍨嬶紝鍦≦t涓垎涓轟笁綾伙紙妲斤紝淇″彿錛屾櫘閫氬嚱鏁幫級銆?/p>
鍦ㄨ繖閲屼嬌鐢ㄧ殑鏄疩Object鐨刾roperty() 鍜宻etProperty鏂規硶錛屾潵璁塊棶鎴愬憳淇℃伅銆備絾鏄浜庝嬌鐢≦_GADGET瀹忕殑綾伙紝鏄笉鑳戒嬌鐢ㄨ繖涓柟娉曠殑錛岃繕鍦ㄥ鎵捐В鍐蟲柟娉曪紝鍩烘湰鎬濊礬褰撶劧鏄噸鍐欍?/p>
璋冪敤娉ㄥ唽鐨勫嚱鏁?/strong>
//鏅氬嚱鏁扮殑璋冪敤 鍦∕yClass涓紝鎴戜滑瀹氫箟浜唅nt func( QString flag );榪欎釜鍑芥暟錛屽埄鐢ㄥ弽灝勭殑璋冪敤鏂瑰紡濡備笂錛屼富瑕佹槸鐞嗚ВinvokeMethod鐨勭敤娉曪紝鍏朵腑Qt::DirectConnection鏄嚱鏁扮殑鎵ц鏂瑰紡錛屽垎涓猴紙寮傛鍜屽悓姝ワ級錛孮_RETURN_ARG鏄繑鍥炲弬鏁幫紝Q_ARG鏄紶鍏ュ弬鏁幫紝闇瑕佹寜鍑芥暟澹版槑涓弬鏁扮殑欏哄簭渚濇浼犲叆錛孮t鏈澶氭敮鎸?涓弬鏁幫紝瀵逛簬涓鑸殑搴旂敤娌℃湁闂銆傝繕鏈夌枒闂紝璇風Щ姝ュ叿瑙丵t寮哄ぇ鐨勫府鍔╂枃妗c?/p>
鍙嶅皠鍙嶅皠錛屽氨鎴戠洰鍓嶇殑璁ょ煡姘村鉤鏉ョ湅錛岄氳繃浣跨敤瀛楃涓詫紝鏉ュ疄鐜板嚱鏁扮殑閫氱敤鍖栬皟鐢紝渚嬪浣犲彲浠ュ埄鐢ㄥ弽灝勬妸寰堝鍑芥暟鏀劇疆鍒版暟緇勪腑錛屽疄鐜頒竴嬈¢亶鍘嗭紝鍏ㄩ儴璋冪敤銆?/p>
鐩墠鎴戣鍒扮殑澶у鏄埄鐢ㄥ弽灝勬潵鎿嶄綔鏁版嵁搴擄紝渚嬪hibernate錛屽叾瀹炲彲浠ュ埄鐢≦t鐨勫弽灝勶紝蹇熷疄鐜版墍璋撶殑hibernate,(鏈榪戣嚜宸辯嫭绔嬪疄鐜頒簡涓濂楋紝寰堟柟渚?銆?/p>
榪欑瘒鏂囩珷涓昏璁蹭簡濡備綍浣跨敤Qt鏉ュ疄鐜板弽灝勶紝鍦ㄥ疄鐢ㄨ搴︿笂鏉ヨ錛屾垜浠笉闇瑕佷簡瑙t鏄庝箞瀹炵幇鍙嶅皠鐨勶紝瀵逛簬鎬庝箞鐢ㄤ笂闈㈣鐨勫緢娓呮浜嗐傚ぇ瀹舵湁浠涔堢殑鏂扮殑鎯蟲硶錛屽笇鏈涜兘鎻愬嚭鏉ワ紝鏉ョ數璇峰挩璇?br />
<levard@gmail.com>
鏂囩珷姒傝
Qt鍙嶅皠鍐呭箷灝忕
moc璁茶В
璇︾粏鍐呭
鍙嶅皠鍓嶆湡鍑嗗
銆銆銆#include <QObject>
銆銆銆class MyClass : public QObject
銆銆銆{
銆銆銆 Q_OBJECT
銆銆銆 Q_PROPERTY(int Member1 READ Member1 WRITE setMember1 )
銆銆銆 Q_PROPERTY(int Member2 READ Member2 WRITE setMember2 )
銆銆銆 Q_PROPERTY(QString MEMBER3 READ Member3 WRITE setMember3 )
銆銆銆public:
銆銆銆 explicit MyClass(QObject *parent = 0);
銆銆銆signals:
銆銆銆public slots:
銆銆銆public:
銆銆銆 Q_INVOKABLE int Member1();
銆銆銆 Q_INVOKABLE int Member2();
銆銆銆 Q_INVOKABLE QString Member3();
銆銆銆 Q_INVOKABLE void setMember1( int mem1 );
銆銆銆 Q_INVOKABLE void setMember2( int mem2 );
銆銆銆 Q_INVOKABLE void setMember3( const QString& mem3 );
銆銆銆 Q_INVOKABLE int func( QString flag );
銆銆銆private:
銆銆銆 int m_member1;
銆銆銆 int m_member2;
銆銆銆 QString m_member3;
銆銆銆};
寰楀埌娉ㄥ唽鐨勭被鎴愬憳鍙橀噺
銆銆MyClass theObj;
const QMetaObject* metaObj = theObj.metaObject();
//1.閬嶅巻綾葷殑灞炴?/span>
int propertyCnt = metaObj->propertyCount();
for ( int i = 0; i < propertyCnt; ++ i )
{
QMetaProperty oneProperty = metaObj->property( i );
cout << " name: " << oneProperty.name();
cout << " type: " << QVariant::typeToName( oneProperty.type()) << "\n";
銆銆}
寰楀埌娉ㄥ唽鐨勭被鎴愬憳鍑芥暟
//2.閬嶅巻綾葷殑鍑芥暟鎴愬憳
int methodCnt = metaObj->methodCount();
for ( int idx = 0; idx < methodCnt; ++ idx )
{
QMetaMethod oneMethod = metaObj->method( idx );
cout << "--------begin-------" << "\n";
cout << " typeName: " << oneMethod.typeName() << "\n";
cout << " signature: " << oneMethod.signature() << "\n";
cout << " methodType: " << oneMethod.methodType() << "\n";
cout << "--------end---------" << "\n";
銆銆}
璁塊棶綾繪垚鍛樺睘鎬э紙get,set錛?/strong>
//3.浣跨敤鍙嶅皠
cout << "-------test property-----------" << "\n";
MyClass newObj;
newObj.setProperty("Member1", 66);
cout << newObj.property( "Member1" ).toString().toStdString() << "\n";
cout << newObj.Member1() << "\n";
銆cout << "--------end----------" << "\n";
銆銆int ret;
銆銆MyClass newObj;
newObj.setMember1( 20 );
newObj.setMember2( 50 );
QMetaObject::invokeMethod( &newObj, "func", Qt::DirectConnection,
Q_RETURN_ARG(int, ret ),
Q_ARG(QString, "+"));
鍙嶅皠鐨勫簲鐢?/strong>
鎬葷粨
]]>
璨屼技濂戒箙娌℃湁鑷繁鍐欒繃blog浜嗭紝瀵逛簬鑷繁榪欐牱涓涓仴蹇樼殑浜猴紝鏂囬噰鍙堣繖涔堝樊鐨勪漢鏉ヨ錛屾濂藉熻繖涓満浼氶敾鐐間竴涓嬭嚜宸辯殑鏂囧瓧鑳藉姏錛屽悓鏃惰褰曚笅瀛﹁繃鐨勪笢瑗褲?/p>
璨屼技鐢ㄨ繃C++涔熷ソ涔呬簡錛岀鍒拌繖涓棶棰橈紝寮濮嬬‘瀹炴劅瑙夊埌鏃犲姏錛屾渶鍚庤繕鏄悳绱簡涓嬪埆浜烘槸鎬庝箞鍋氱殑銆傛嵁璇存槸Adobe 07騫寸殑闈㈣瘯棰樸?/p>
1銆佺涓鎯蟲硶澶у閮芥槸錛屾棦鐒朵笉鑳借緇ф壙錛屼篃灝辨槸涓鏃︾戶鎵胯繖涓被涔嬪悗錛岀被灝變笉鑳借鍒濆鍖栥?/p>
2銆佸彲鑳芥妸綾葷殑鏋勯犲嚱鏁扮鏈夊寲錛屽拰鍗曚緥鏈夌偣鍍忥紝浣嗘槸榪欐牱綾誨氨涓嶈兘姝e父浣跨敤浜嗐?/p>
3銆佸疄鍦ㄦ棤鍔涳紝鏌ヤ簡涓嬶紝浠栦滑鏄氳繃浣跨敤铏氱戶鎵胯В鍐寵繖涓棶棰樼殑銆?/p>
瀵逛簬铏氱戶鎵匡紝鍏蜂綋璧勬枡瑙侊細http://blog.163.com/xiangzaihui@126/blog/static/166955749201182294317243/
閲岄潰鏈変竴鍙ヨ瘽寰堥噸瑕侊細C++瑙勫畾:鎶婄湡姝e垱寤哄璞℃椂鎵鎸囧畾鐨勭被縐頒負鏄渶媧劇敓綾?铏氬熀綾誨瓙瀵硅薄鏄敱鏈媧劇敓綾葷殑鏋勯犲嚱鏁伴氳繃璋冪敤铏氬熀綾葷殑鏋勯犲嚱鏁拌繘琛屽垵濮嬪寲鐨?
鍏蜂綋瀹炵幇浠g爜濡備笅錛?/p>
1: #include <cstdio>
2: #include <iostream>
3:
4: template<class T> class CFinal{
5: friend T;
6: private:
7: CFinal(){ std::cout << "CFinal()" << std::endl; }
8: ~CFinal(){}
9: };
10:
11: class CFoo : virtual public CFinal<CFoo>{
12: public:
13: CFoo(){ std::cout << "CFoo()" << std::endl; }
14: ~CFoo(){}
15: };
16:
17: class CBar : public CFoo{
18: public:
19: CBar() { std::cout << "CBar" << std::endl; }
20: };
21:
22: int main()
23: {
24: //CBar bar;
25: CFoo foo;
26: while(1){}
27: return 0;
28: }
褰撲綘鍒涘緩CBar鏃訛紝闇瑕佸垵濮嬪寲CFinal錛屼絾鏄綘涓嶆槸浠栫殑friend錛屼笉鑳藉垵濮嬪寲錛堜笂闈㈡爣綰級
濡傛灉浣犱細闂笉瑕乿irtual琛屼笉琛岋紵
涓嶈錛岀敱浜庝笉瑕乿irtual錛屼綘鍙互緇忚繃CFoo鐨刦riend璁塊棶鍒癈Final錛屼絾鏄湁virtual灝變笉鍚屼簡錛屼綘蹇呴』鐩存帴鍒濆鍖朇Final錛堣繖鏄疌++鐨勮瀹氾紝閬垮厤澶氭鍒濆鍖栵級
浣嗘槸鏈変釜闂錛実cc涓嶈兘緙栬瘧閫氳繃錛屽湪friend T鍑洪敊錛寁s2010娌℃湁闂錛屽笇鏈涚煡閬撶殑鑳界粰鐐瑰府鍔┿?/p>
鍙傝冩枃鐚細
http://blog.163.com/xiangzaihui@126/blog/static/166955749201182295845689/錛圕++瀹炵幇涓嶈兘琚戶鎵跨殑綾伙級
http://www.notonlysuccess.com/ 鍥藉唴鎼濧CM鐨?/p>
http://www.keithschwarz.com/ 涓涓佸鐢⊿TL瀹炵幇鐨勭畻娉曚唬鐮?/p>
http://www.possibility.com/Cpp/CppCodingStandard.html CPP浠g爜瑙勮寖
http://blog.sina.com.cn/s/blog_5e6fd4290100nhxa.html
http://www.shnenglu.com/richardhe/archive/2008/03.html
http://www.cnitblog.com/linghuye/archive/2007/06/24/29007.html
3D娓告垙璧勬枡 http://www.shnenglu.com/flyindark/archive/2011/05/01/145475.aspx
OGRE http://blog.sina.com.cn/s/articlelist_1159765812_1_1.html
http://www.shnenglu.com/lovedday/ 3D鐭ヨ瘑
http://www.shnenglu.com/lai3d/
http://www.shnenglu.com/billhsu/
緗戠粶緙栫▼
http://www.shnenglu.com/Solstice/archive/2011/04/17/144378.html
鏄ㄥぉ鍒氳冨畬璇曪紝浠婂ぉ鏈潵鏄鍘誨疄楠屽鐨勶紝浣嗘槸鎯充簡鎯沖幓浜嗗張鑳藉共鍟ュ憿錛岀幇鍦ㄦ湁鐐瑰皬榪瘋尗錛屾劅瑙夎嚜宸辨繪槸寰堟檿錛屾繪槸琚悇縐嶄簨鎯呯壍鐫榧誨瓙璧般備粖澶╁嚭鍘昏漿浜嗚漿錛屾湰鏉ユ槸鎯沖埌SOHO鏈涗含鐪嬬湅鐨勶紝浣嗘槸鎬繪槸鎵句笉鍒幫紝鍙堜笉鎯抽棶浜猴紝璨屼技鎴戠幇鍦ㄧ壒鍒曞拰鍒漢璇磋瘽錛岀劧鍚庡張鍥炴潵浜嗐備竴涓漢鍦ㄧ啓鐔欐敇鏀樼殑浜虹兢涓紝婕棤鐩殑鐨勮蛋鐫錛岃瀵熻呭懆鍥寸殑浜猴紝閮芥槸涓轟簡鐢熸椿鐤蹭簬濂斿懡錛屾湁鍒氫笅鐝負浜嗗洖瀹剁殑涓婄彮璧幫紝涓鑴哥殑鐤插︼紝涔熸湁涓轟簡鍥炲鐨勫啘姘戞湅鍙嬶紝涓鐪嬩粬浠氨鏄緢鑺傜渷錛岃矊浼艱繕絀跨潃浠庤佸甯︽潵鐨勮。鏈嶏紝鑳岀潃涓嶇煡閬撹緙濊ˉ榪囧灝戞鐨勫寘錛屼絾鏄粠浠栦滑鐨勮劯涓婄喚闇插嚭鐨勭瑧瀹癸紝涓縐嶆敹鑾風殑鎰熻錛屼竴縐嶅彲浠ヤ笌瀹朵漢鍥㈣仛鐨勫枩鎮︼紝褰撶劧榪樻湁涓甯埌澶勬父鐜╃殑騫磋交浜猴紝錛堢粰鎴戝嵃璞″緢娣辯殑鏄竴瀵規儏渚o紝璨屼技鍦ㄨ璁轟功鐨勪環鍊鹼紝閭d釜濂崇殑涔夋璦杈炵殑璇達細涔︽槸鎵胯澆鏂囧寲鐨勮澆浣擄紝涔︽湰韜槸娌℃湁浠峰肩殑錛?鎴戝湪鎯寵繖浜涜瘽鏄緢鏈夐亾鐞嗭紝浣嗘槸涓庡叾璇磋繖浜涳紝榪樹笉濡傚ソ濂界殑鐪嬪熀鏈功錛岀幇鍦ㄧ殑鎴戜滑浠ヤ負淇℃伅灝辨槸鐭ヨ瘑錛岄偅鏄敊鐨勶紝鎺ユ敹娌℃湁鑷繁鐨勬濇兂鐨勪笢瑗匡紝灝卞拰鍚冧簡琚埆浜哄毤鐑傜殑椋熺墿涓鏍鳳紝铏界劧璨屼技涔熻兘寰楀埌鐐逛粈涔堬紝浣嗘槸娌℃湁鑷繁鐨勫弬涓庯紝浣犺繕鏄笉鐭ラ亾鍏朵腑鐨勫悇縐嶆粙鍛熾傦級 銆傚湪鍦伴搧涓婏紝浠婂ぉ璨屼技鐪嬭涓や釜濂崇敓錛堣矊浼兼槸瀛︾敓錛夛紝涓涓嬁鐫iphone5錛堜竴鐪嬪氨鏄潪涓繪祦錛夛紝浣嗘槸鍙﹀涓涓コ鐢熺殑鐪肩緇欐垜鐣欎笅浜嗗緢娣辯殑鍗拌薄錛屽緢澶х殑鐪肩潧錛屾諱箣灝辨槸鎴戝枩嬈㈢殑閭g綾誨瀷錛屽緢涓嶅ソ鎰忔濈殑澶氱湅浜嗗ス鍑犵溂錛岃矊浼艱浜哄鍙戠幇浜嗭紝鍥у洤銆傘傘傦紝榪樻湁浠婂ぉ鍑哄幓緇欐垜鐨勬劅瑙夛紝鎴戠幇鍦ㄧ壒鍒笉鎰挎剰鐩鎬俊鍒漢鐨勮瘽錛岀旱浣挎垜鐭ラ亾閭f槸瀵規垜濂界殑錛屾垜榪樻槸甯屾湜鍘繪挒鍗楀銆?/font>
浠婂ぉ鐗瑰埆鎯ㄧ殑鏄張紕板埌鍦伴搧閲岄潰璀﹀療鏌ヤ漢浜嗭紝鍝庢垜閮戒笉鎯寵浜嗘瘡嬈″嚭鍘葷瑙侀兘琚煡錛屽鐢熷ソ嬈鴻礋涔堣繕鏄庝箞鐨勶紝闅鵑亾鎴戦暱鐨勮薄鍧忎漢錛岄偅涓瀵熷嚩紲炴壖鏉錛岃繕鎻潃鎴戝鎬曟垜璺戜簡錛屾煡涓嶆煡鏄垜鐨勮嚜鐢憋紝鎴戜笉鎰挎剰閰嶅悎錛屽啀璇翠篃娌$姱鍟ヤ簨鏄惂銆傘傚搸榪欓兘絎笁嬈°傘傘?/font>
2012錛屽鎴戞潵璇存槸騫沖鉤娣℃貳錛岃矊浼間篃娌″暐鍙互璇寸殑錛岄兘鏄寜棰勬兂鐨勬潵鐨勫惂錛岄『鍒╂瘯涓氾紙铏界劧姣曚笟璁捐紜疄鍐欑殑寰堟尗錛夛紝娉㈡緶涓嶆儕鐨勫湪鏈牎鍜屽寳甯堜箣闂撮夋嫨浜嗘湰鏍★紝鐒跺悗灝辨潵瀹為獙瀹ゅ共媧伙紝铏界劧寰堣嫤閫肩殑澶ф鍋氫簡4涓鏈堬紝涓旇繕涓婅浠涔堢殑錛屼絾鏄繖涓繃紼嬩笅鏉ヨ繕鏄湁鐐瑰皬鏀惰幏鐨勶紝铏界劧娌℃湁寰堥珮鐨勬敹鍏ワ紝浣嗘槸娣峰彛楗悆鐨勯挶榪樻槸鏈夌殑錛屾劅瑙夎嚜宸卞湪欏圭洰涓紝铏界劧璧蜂簡浣滅敤錛屼絾鏄繕鏄病鏈夊緢濂界殑瀹屾垚鑷繁鐨勪換鍔★紝涓昏鏄嚜宸辨病鏈夋繁鍏ヨ繘鍘伙紝鍋氫簨鎯呯殑鏂規硶紜疄涓嶅錛岀鍒伴棶棰橈紝浼間箮鎬繪槸娌℃湁寰堝ソ鐨勫姙娉曟潵瑙e喅榪欎釜闂錛屾湁鐐瑰儚錛堢儹閿呬笂鐨勮殏铓佷竴鏍鳳級錛屾劅瑙夐渶瑕佹姄浣忓獎鍝嶄竴涓簨鎯呮墍鏈夌殑鍥犵礌錛屾灇涓炬潵鎺掗櫎姣忕鍙兘灝卞彲浠ヤ簡錛屼絾鏄繪槸寰堢矖蹇冪殑婕忔帀浜嗗緢澶氱殑闂銆傛劅瑙夋垜浠」鐩腑鐨勭牬紿楁晥搴旀瘮杈冧弗閲嶏紝姣斿澶у鐨勪唬鐮侀兘涓嶆槸寰堣鑼冿紝寰堝闇瑕佹敼榪涚殑鍦版柟銆傜爺絀剁敓鐨勫涔狅紝鎰熻鑷繁涓鐩翠笉鍦ㄧ姸鎬侊紝鐪嬬潃澶у閮藉湪娣風殑鎬佸害錛屾垜涔熷紑濮嬫販錛岃矊浼兼垜瀵瑰瀛﹂噾鐨勮鎯戣矊浼間篃娌¢偅涔堝己錛屽鎴愮嘩涔熷氨閭f牱浜嗐傝矊浼艱繖灝辨槸榪欎竴騫村仛鐨勪簨鎯呫傘傘傘?/font>
鍦ㄧ敓媧諱笂錛岃璇嗕簡涓緹よ兘鏈嬪弸錛屾湁姣旀垜澶?宀佺殑澶у摜錛岀‘瀹炲拰鎴戜滑涓嶄竴鏍鳳紝涓轟漢澶勪簨璇磋瘽閮藉緢鍒頒綅錛岃繖涓鐐圭‘瀹炲煎緱鎴戜滑瀛︿範錛岀粰鎴戜滑璁蹭簡寰堝鍏徃閲岄潰鐨勪簨鎯咃紝鐒舵垜鍐嶄竴嬈$殑鎰熻鍒幫紝鎶鏈粈涔堢殑閮芥槸宸ュ叿錛屼笌浜轟氦嫻佸悎浣滀篃鏄緢閲嶈鐨勶紝鑷繁鐨勫悇鏂歸潰鐨勮兘鍔涳紝琛ㄨ揪鑳藉姏鐪熷績寰楁彁鍗囦竴涓嬨傝繕鏈夊氨鏄韓浣擄紝鎰熻鑷繁瓚婃潵瓚婁笉鎶婅嚜宸卞綋鍥炰簨浜嗭紝鐪熷績寰楁敞鎰忎竴涓嬭嚜宸辯殑榪欐柟闈㈢殑闂鍟︼紝榪樻槸灝辨槸鎵句釜濂蟲湅鍙嬪晩銆傚煎緱涓鎻愭槸浠婂勾鐖簡浜涘寳浜殑灞憋紝浠涔堝嚖鍑板箔銆侀灞便佽煉灞便侀公宄幫紝閮界埇浜嗕笅鎰熻涓嶉敊鍟︺?/font>
鍦ㄦ妧鏈笂錛屾病鏈夊浠涔堟柊鐨勬妧鏈紝榪樻槸鍙槸鐔熸倝C++錛屽彧鏄浼氫簡綆鍗曠殑QT涓嬬殑緙栫▼錛屾墍浠ユ湭鏉ョ殑涓騫達紝鎴戝噯澶囧鎴戣綆楁満鐨勫熀紜绱犲吇濂藉ソ鎻愬崌涓涓嬶紝鎰熻鑷繁鐭ラ亾鐨勫緢澶氫笢瑗塊兘椋樺湪涓婇潰錛屾病鏈夌湡蹇冨緱娌夋穩涓嬪幓錛屼粖騫寸殑鎰熻鏄嚜宸辯悊鎬х殑涓闈㈠湪鍑忓急銆傝嚜宸卞紕浜嗗緢澶氭湰涔﹂兘娌℃湁寮濮嬬湅銆傘傘?鎬繪槸騫蹭簺娌℃湁蹇呰騫茬殑浜嬫儏銆傘傘?鎰熻鑷繁寰堝浠ュ墠浼氱殑涓滆タ閮戒笉浼氫簡錛屽ソ闀挎椂闂存病鍐檅log錛屾劅瑙夊ソ澶氫笢瑗胯璁板綍鐨勯兘娌¤褰曘傘傘?/font>
鏈潵2013騫寸殑璁″垝錛?/font>
鐢熸椿錛?/font>
1銆佽嚦灝戦暱鑳栦釜5鏂ゅ惂錛?
2銆佺埇鍖椾含5搴у北錛?/font>
3銆佸幓閮婂璧拌蛋錛屽鏋滄湁鏃墮棿鍙互鍘誨叾浠栫渷閫涢涖傘傘?
4銆佷絾鎰挎壘涓瀛愶紝 鑷沖皯瀛︿細鐓ч【浜哄晩銆傘傘傞敾鐐艱嚜宸辮璇濈殑鑳藉姏鍟娿傘傘?/font>
5銆侀敾鐐艱韓浣撳暒銆傘傘?/font>
鎶鏈細
0銆侀敾鐐艱嚜宸辮В鍐抽棶棰樼殑鑳藉姏錛?/font>
1銆佺啛鎮変竴闂ㄥ嚱鏁板瀷璇█錛宲ython榪樻槸鎯沖涓?/font>
2銆佸ソ濂借涓涓嬨婃繁鍏ヨ綆楁満緋葷粺銆嬶紝涓昏闇瑕佸畬鎴愯鍚庣殑鍑犱釜瀹為獙
3銆佸涔燬ICP
4銆佺啛鎮変嬌鐢↙inux錛岀壒鍒槸VIM浣跨敤錛屽繀瑕佺殑鏃跺欑爺璇諱笅浠g爜
5銆佹暟鎹粨鏋勫拰綆楁硶錛屽噯澶囦粠鏂版潵榪囷紝娌′簨浜嗗弬鍔犱釜topcoder鎴栬卌odeforces浠涔堢殑錛岃嚦灝戜笉鑳藉お闈犲悗鍚?/font>
6銆佸緩绔嬩竴涓釜浜虹殑鍗氬
7銆佽嚦灝戝啓涓涓嚜宸辯殑APP搴旂敤錛屾垨鑰呭啓涓涓綉緇滅埇铏浉鍏崇殑涓滆タ鍚э紙鎬繪槸鎰熻榪欑帺鎰忔湁鐐圭濂囷級
涓銆佸墠鎻愬畨瑁?/strong>
鍓嶆彁錛氶渶瑕佸畨瑁匭T錛屾湰浠嬬粛瀹夎鐨勬槸qt-sdk-win-opensource-2010.05.exe錛?
1銆?瀹夎oracle瀹㈡埛绔紝鏈粙緇嶉噷闈㈠畨瑁呯殑璺緞涓篎:\app\Cunch錛岃浣滀負ORACELPATH
2銆?寮濮嬭彍鍗曚腑鎵懼埌
濡備笂鍥炬墍紺篞t Command Prompt錛?鍦ㄨ繖閲孮T宸茬粡鎶婄紪璇戠殑鐜瀵煎叆錛屼笅鏉ユ垜浠彧闇瑕佹妸宸ョ▼鍔犺澆榪涘幓錛?
3銆?鎵撳紑涓婇潰鐨勯偅涓帶鍒跺彴錛屽紑濮嬭緗浉鍏崇洰褰?
浜屻佺紪璇?/strong> 涓嬮潰鐨?ORACLEPATH%闇瑕佹崲鎴愯嚜宸卞畨瑁卭racle鐨勭浉鍏崇洰褰? 錛?錛?璁劇疆include鐩綍錛? set INCLUDE=%INCLUDE%;%ORACLEPATH%\product\11.2.0\client_1\oci\include 錛?錛?璁劇疆LIB鐩綍 set LIB=%LIB%;%ORACLEPATH%\product\11.2.0\client_1\oci\lib\msvc 錛?錛?榪涘叆qt涓璷ci鐨勫伐紼嬬洰褰? cd %QTDIR%\src\plugins\sqldrivers\oci 錛?錛?寮濮媞make緙栬瘧榪囩▼錛宷make oci.pro 錛?錛?鍒╃敤gcc鐨勫簱榪涜緙栬瘧錛?mingw32-make 榪欐牱灝辯紪璇戝畬鎴愪簡
2銆乵m榪樻槸寰堜粊鎱堢殑鍛婅瘔浣犺繖鏄簩鎴樼殑鏃跺欑殑鐢ㄧ殑瀵嗙爜鎶鏈紝baidu涓嬪氨鐭ラ亾enigma錛岀劧鍚巊oogle涓嬪紕涓嬪師鐞?/p>
榪欎釜鐨勮璁$殑鏍稿績灝辨槸杞瓙錛岃屼笖鐮磋瘧瀵嗙爜鐨勫叧閿氨鏄煡閬撳垵濮嬬殑浣嶇疆錛岃屼笖mm緇欎簡ALI鏄劇劧灝辨槸鏈寮濮嬬敤鐨勯偅涓?涓漿瀛愮殑enigma
鍞竴璁╂垜綰犵粨鐨勫氨鏄瘡涓漿瀛愮殑鏄犲皠琛紱鍏跺疄鐭ラ亾涓嶇煡閬撻兘娌℃湁鍏崇郴鍟?璁╂垜嫻垂浜嗗緢澶氭椂闂?
3銆佷笅闈㈣涓嬬牬瑙f柟娉曪細
1銆佹墜鍔ㄧ牬瑙o紙涔熸槸mm鏈甯屾湜鐨勶紝mm甯屾湜鐪嬪埌浣犵殑璇氭剰鍟婏紝涓嶈繃紜疄寰堢瘡鍟婏級錛?/p>
鍒╃敤Paper Enigma Machine錛屽埄鐢ㄧ焊鑷埗涓涓狤nigma Machine 榪欎釜鏄佸寮勭殑紜疄寰堣禐鍟婏紝 鍙渶涓寮燗4綰?/p>
鍏蜂綋鍙傝冭鐪嬶細http://mckoss.com/Crypto/Enigma.htm 涓婇潰鎻愪緵浜?鍘熺悊鍜屼笅杞介摼鎺?/p>
2銆佺▼搴忕牬瑙o細 鍏跺疄涓婇潰鐨勯偅涓綉涓婁篃鏄湁鐨勶紙web鐗堬級http://startpad.googlecode.com/hg/labs/js/enigma/enigma-sim.html
3銆佺牬瑙g殑鏃跺欑鍒板洶闅劇綉涓婃悳绱㈠埌鐨勶紙璧炶繖浣嶆湅鍙嬶級錛?澶у繀澶囧伐鍏?/p>
1銆?a title="http://baike.baidu.com/view/15482.htm" >http://baike.baidu.com/view/15482.htm
2銆?a title="http://blog.renren.com/share/235993462/1219448923" >http://blog.renren.com/share/235993462/1219448923
3銆?a title="http://enigmaco.de/enigma/enigma.html" >http://enigmaco.de/enigma/enigma.html
4銆佹垜鐮磋В紕板埌鐨勯毦澶勬槸ALI鐢ㄥ畬浜嗗悗錛屽緱鍒扮殑鏄庢枃閲岄潰鏈墂elcome榪欎釜鍗曡瘝錛岃繕鏈変竴鍫嗙殑YYYYYY錛屾垜鐩鎬俊鎴戠牬瑙e浜嗭紝浣嗘槸娌℃湁鎯沖埌
鐢ˋZ BY榪欎釜鍏抽敭鐨勫湴鏂?鍝庡搸銆?/p>
5銆佹帴涓嬫潵灝辨槸鐢ㄧ浜屾潯鏄犲皠琛ㄧ殑鎻愮ず淇℃伅錛屾妸絀烘牸 錛涚瓑鏄劇ず鍑烘潵
6銆佺牬瑙e畬浜嗙珶鐒跺彧鏈変釜weibo璐﹀彿鍟婏紝閮侀椃鍟婏紝榪涘幓宸茬粡鍒棤鏁扮殑gg緇欏己浜嗗厛鍟?/p>
7銆佸笇鏈涘ぇ瀹剁牬瑙f剦蹇晩
8銆佹檼涓嬭嚜宸辯殑鐮磋В宸ュ叿
9銆佸綋鐒跺ぇ瀹朵篃鍙互鍐欑▼搴忓晩錛屾湰琛屽晩
鏈漢澶у洓 211鏈錛?涓撲笟鏄暟瀛楀獟浣撲笓涓氾紝鏈変竴騫碈++欏圭洰鐨勭粡楠岋紝鍋氳繃鐨勯」鐩富瑕佹槸3D娓告垙鐩稿叧鐨勩?鍚屾椂鏈夊湪瑗垮北灞呭疄涔犵粡鍘嗭紝鍚庣敱浜庤冪爺娌℃湁緇х畫銆傚笇鏈涙壘涓涓伐浣滐紝涓昏鏄仛C++鏂瑰悜,鑳戒繚璇佸叏鑱屻備笉鐭ラ亾涓哄暐鏍規嵁bbs.gameres.com涓婄殑鎷涜仒淇℃伅錛屽湪緗戜笂鎶曞嚑涓畝鍘嗭紝鍙湁涓涓粰浜嗛潰璇曪紙鍦ㄦ槑澶╋級錛?涓轟簡緇欒嚜宸卞鐣欎笅鍚庤礬錛屽笇鏈涘悇浣嶅墠杈堜滑錛屽鏋滆吹鍏徃鏈夊悎閫傜殑鑱屼綅鐨勮瘽錛屽笇鏈涜兘鐣欎笅璐靛叕鍙哥殑鎷涜仒閭銆?nbsp; 璋㈣阿鍚勪綅浜嗐?涓嶈儨鎰熸縺錛侊紒錛?nbsp; 鍙偛鐨勬儏浜鴻妭榪樺湪鎵懼伐浣溿傘傘傘?/p>
鑰冪爺鐨勮繃紼嬶細瀵規垜鏉ヨ鑰冪爺灝辨槸3涓崐鏈堬紝鍏朵腑榪樻湁鍑犲ぉ浼戞伅鐨勶紝鍏跺疄涔熷氨鏄?涓湀鍚э紝鑷垜鎰熻鏁板榪樿錛屼絾鏄垜澶矖蹇冨鏄撶畻閿欙紝涓撲笟鍜岃嫳璇垜鏄竴寮濮嬪氨澶嶄範浜嗭紝鏀挎不鎴戞斁鍒頒簡鑰冨墠50澶╁惂銆傜敱浜庢病鏈夊浐瀹氱殑搴т綅錛屽氨榪欐牱姣忓ぉ鑳屼釜鍖呭幓鎵撴父鍑匯傚埌鏈鍚庢劅瑙夎嚜宸卞噯澶囦簡80%鍚э紝涔熻鏇村皯銆備笉榪囪鎴戝鑷繁鐨勪笓涓氭湁浜嗘洿娣辯殑浜嗚В銆?/p>
鑰冪爺鐨勯偅涓ゅぉ錛氭葷殑鏉ヨ榪樻槸涓嶉敊鐨勶紝鏅氫笂鍦ㄥ鑸嶏紝涓崍灝卞埌鎴戝悓瀛﹂偅鍘伙紝榪樻湁鍚屽鐨勭儹鎯呮寰呫備笉榪囪繖涓ゅぉ鐨勭潯鐪犺繕鏄緢涓嶉敊鐨勶紝鍜岄珮鑰冩瘮濂藉浜嗐?/p>
璇︾粏緇忚繃鍚э細 1.7鍙鳳紝鏃╂櫒6:30鐨勯椆閾冨搷浜嗭紝浣嗘垜7:00鎵嶇殑鐖簡璧鋒潵錛屾垜鑸嶅弸涓婄彮鎻愬墠鍑哄幓浜嗭紝緇欐垜鍙戜簡涓煭淇¤涓嬮洩浜嗭紝鎴戣繕鏄緢鍠滄闆殑錛堝垢濂藉啲澶╂病闆ㄥ晩錛夛紝鎴戝洖澶嶄簡涓鍙?#8220;鐟為洩鍏嗕赴騫?#8221;錛屾垜鐨勪俊蹇冩湁鏉ヤ簡涓鍊嶅晩銆傛帴涓嬫潵鍚勭鐖藉晩錛氶鍏堣蛋鍒板叕浜ょ珯鍙幫紝438灝卞埌浜嗭紝涓涓姝ヨ繄涓婂幓錛?0鍒嗛挓鍒板寳鑸傜敱浜庢彁鍓嶆煡浜嗚冨満錛屾壘鍒頒簡鏈浼樼殑璺嚎錛屾墍浠ヨ繕鏄緢杞繪澗鐨勬壘鍒頒簡 鏁欐巿錛屾垜绔熺劧鍦ㄧ浜岃冨満錛堣繖杈堝瓙涓庝簩澶湁緙樹簡錛屽皬瀛?鍒濅腑 楂樹腑 澶у 閮芥槸甯︾殑浜岀彮錛屾病鎯沖埌榪欐鍙堟槸浜岋級錛屼互涓哄拰浜ゅぇ涓鏍鋒槸閭g30浜虹殑鑰冨満錛屾病鎯沖埌鏄偅縐?10浜虹殑錛岃繕鏄湪鍖楄埅鐨勪富妤肩殑涓涓彜鑰佺殑鎶ュ憡鍘咃紙鐪嬫牱瀛愭槸鍒氬緩鏍$殑閭d細錛岃嫃鑱旀ā寮忕殑錛夛紝鍦ㄨ繖鏍峰厖婊″巻鍙茬殑姘旀伅鐨勫湴鏂癸紝鎴戞劅瑙夊お濂戒簡銆傜涓澶╂斂娌伙紝鑻辮鎰熻涓嶉敊鍟婏紝鑻辮涓鐪嬩箰瑙傚拰鎮茶錛屾垜鎯充簡浼氭兂浜嗕釜涔斿竷鏂殑渚嬪瓙錛屾劅瑙変笉閿欙紝鑰冨畬鍥炴湜浜嗗寳鑸紝鎰熻浜虹敓浼氫粠榪欓噷鏀瑰啓浼肩殑銆傜浜屽ぉ鏁板鎰熻鎵撶殑涓嶉敊錛屼絾鏄細閿欏緢澶氾紝涓撲笟璇炬劅瑙夌瓟鐨勫緢鎸晩銆傛劅瑙夎冧笉涓婄殑鍙兘鎬уぇ浜嗐?/p>
鎬葷粨錛氳繖嬈¤冪爺鏄漢鐢熺殑涓嬈$(緇冨惂錛屽緱澶т簬澶憋紝鎴愬姛涓嶄粎浠呮槸涓涓瘉涔﹀惂銆?/p>