锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
綆鍗曟祴璇曢氳繃銆?/p>
]]>
鏈変簡freetype瀹炵幇搴曞眰瀛椾綋娓叉煋錛屾垜鍙渶瑕佸鐞嗕竴浜涘竷灞鏂規硶鍗沖彲錛屽叾涓瀹炵幇鐨勬湁浠ヤ笅鍑犵偣錛?br />
1銆佽嫳銆佷腑瀛椾綋
寰堝涓枃瀛椾綋涓殑鑻辨枃瀛椾綋閮芥瘮杈冮毦鐪嬶紝鎵浠ュ湪X鐨勫瓧浣撻厤緗腑璁劇疆浜嗕竴涓瓧浣撻『搴忋傛垜涔熷彲浠ュ瀛︼紝浼犻掍竴涓瓧浣撳垪琛紝鎷垮埌涓涓瓧絎︽椂錛屾寜欏哄簭浠庡瓧浣撳垪琛ㄤ腑鏌ヨ錛屾煡璇笉鍒版椂灝辨煡涓嬩竴涓瓧浣擄紝榪欐牱灝卞彲浠ュ疄鐜拌嫳銆佷腑浣跨敤涓嶅悓瀛椾綋浜嗐?br />
2銆佸垎琛?br />孌佃惤鍒嗚瑕佽冭檻鍒頒腑銆佽嫳鏂囦笉鍚岀殑鍒嗗壊鏂瑰紡錛岃繕鏈夋爣鐐圭鍙鳳紝鏌愬紩璧鋒爣鐐圭鍙蜂笉鑳藉湪琛屽熬錛堟瘮濡傗?lt;絳夛級錛屾煇浜涙爣鐐逛笉鑳藉湪琛岄錛堟瘮濡傗?gt;錛夛紝鏌愪簺鏍囩偣涓嶈兘鍒嗗壊錛堟瘮濡傜牬鎶樺彿錛夛紝鎵浠ュ疄闄呬笂瑕佹湁涓涓垎鍓茬畻娉曪紝鎶婃钀藉垎鎴愪竴涓釜鐨勬爣璁幫紝姹夊瓧鐩存帴鍒嗗壊錛岃嫳鏂囨寜絀烘牸鍒嗗壊錛屼笉鑳藉湪琛岄鐨勬爣鐐瑰氨鍒嗗埌鍓嶉潰鍗曡瘝閲岋紝涓嶈兘鍦ㄨ灝劇殑灝卞垎鍦ㄥ悗闈㈢殑鍗曡瘝閲屻?br />
3銆佸榻?br />瀵歸綈鏂瑰紡鏈夊乏銆佷腑銆佸彸銆佷袱绔?Full Justification)榪欏嚑縐嶆柟寮忥紝鐩墠澶ч儴鍒嗗紑婧愭覆鏌撳簱閮戒笉鏀寔涓ょ瀵歸綈錛岃繖涔熸槸鎴戣鑷繁瀹炵幇鐨勪富瑕佸師鍥犮傚乏銆佷腑銆佸彸鍙璁$畻鍑轟竴琛岀殑鎵鏈夊瓧絎﹀搴︼紝鍐嶈綆楀嚭宸﹁竟璺濆嵆鍙備袱绔榻愬垯闇瑕佽綆楁瘡涓崟璇嶇殑闂磋窛銆?br />
4銆佹棣栫緝榪?br />
鍘熸潵璁炬兂鍦ㄥ垎孌靛悗鐩存帴鍔犱笂鍏ㄨ絀烘牸錛屼笉鎯寵繖涓┖鏍煎湪杞垚UNICODE緙栫爜鏃訛紝瀹冪殑緙栫爜鏄痋u0000錛屼笉鑳借幏鍙栧埌鍏ㄨ絀烘牸鐨勫搴︺備簬鏄妸瀹冭鎴愬瓧浣撻珮搴︼紝鐪嬩簡涓涓嬫晥鏋滆繕濂姐?br />
]]>
聽聽聽聽int[]聽c聽=聽[1,2,3];
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽c.length聽=聽2;
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽c.length聽=聽3;
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽c.length聽=聽4;
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
}
瀹冭緭鍑虹粨鏋滃涓嬶細
B7D19FB0, B7D19FB4, B7D19FB8,
B7D19FB0, B7D19FB4,
B7D19FB0, B7D19FB4, B7D19FB8,
B7D1CFA0, B7D1CFA4, B7D1CFA8, B7D1CFAC,
鍙互鐪嬪埌鍓?琛屽湴鍧鐩稿悓錛屽悗闈竴琛屽湴鍧涓嶅悓銆備負浠涔堬紵
D璇█鐨勬暟緇勫垎閰嶆槸鍐呭瓨绱у噾鐨勶紝褰撳噺灝忔暟緇勯暱搴﹀噺灝忔椂錛屽彧闇瑕佷慨鏀瑰垏鐗囧ぇ灝忚屼笉闇瑕侀噸鏂板垎閰嶃傚綋闀垮害鍙樺ぇ鏃訛紝涔熶細媯鏌ュ師鏉ョ殑緙撳啿鍖烘槸鍚﹀澶э紝浠ョ‘瀹氭槸鍚﹂渶瑕侀噸鏂板垎閰嶇┖闂淬傛敞鎰忕2嬈℃搷浣滄椂鎶婇暱搴︽仮澶嶄負鍘熸潵澶у皬鏃訛紝騫墮潪鐪熺殑鎭㈠浜嗗師鏉ョ殑鐘舵侊紝鍚庨潰闀垮嚭鏉ョ殑鍏冪礌浼氳鍒濆鍖栦負榛樿鍊箋?br />
鍐嶆潵鐪嬩竴涓細
聽聽聽聽int[]聽c聽=聽[1,2,3];
聽聽聽聽int[]聽d聽=聽c;
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽foreach(inout聽int聽i;聽d){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽d.length聽=聽2;
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽foreach(inout聽int聽i;聽d){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽d.length聽=聽4;
聽聽聽聽foreach(inout聽int聽i;聽c){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
聽聽聽聽foreach(inout聽int聽i;聽d){
聽聽聽聽聽聽聽聽writef(&i);
聽聽聽聽聽聽聽聽writef(",聽");
聽聽聽聽}
聽聽聽聽writefln("");
}
鍦ㄦ墽琛宨nt[] d = c;浠ュ悗錛宒鐨勭‘鏄拰c鍏變韓浜嗗瓨鍌ㄥ尯銆備笉榪囧湪鏀瑰彉d鐨勯暱搴︿互鍚庯紝瀹冨氨鍜宑鍒嗛亾鎵暢浜嗐傛墍浠nt[] d = c涓嶈兘鐞嗚В涓篸鏄竴涓寚鍚慶鐨勫紩鐢紝瀹冨疄闄呬笂鍒涘緩浜嗕竴涓柊鐨勬暟緇勫璞★紝浣嗗茍涓嶆嫹璐濇暟緇勫厓绱狅紝瀹冨拰int[] d = c[0 .. length]鏄瓑浠風殑錛岄兘鏄暟緇勫垏鐗囨搷浣溿?br />
榪欎釜闂璁╂垜鍥版儜涓嶅凡銆傛瘮濡備綘鐢╟har[]琛ㄧず涓涓崟璇嶏紝鐢╟har[][]琛ㄧず涓琛岋紝char[][][]琛ㄧず澶氳銆傚浣曞紩鐢ㄨ繖涓崟璇嶏紵浣犲綋鐒跺彲浠ユ瘡嬈′嬌鐢╨ines[i][j]錛屼絾濡傛灉澶勭悊姝ラ寰堝錛岃繖浼氫笉浼氱湅璧鋒潵寰堝ご澶э紵
鐪嬩笂鍘誨簲璇ヨ繖鏍蜂嬌鐢細
char[][]聽line聽=聽lines[0];
line.length聽=聽line.length聽+聽1;
line[length聽-聽1]聽=聽",";
鍙儨鏍規嵁鍓嶉潰鐨勭粨璁猴紝榪欏皢鏃犳硶褰卞搷鍒發ines銆傚鏋滄壘涓嶅埌涓涓紩鐢ㄧ被鍨嬫寚鍚戞暟緇勶紝鏈夋椂鍊欎嬌鐢ㄨ搗鏉ヨ繕鐪熸槸寰堥夯鐑︺傜湅璧鋒潵鎶奓ine/Word鍖呰鎴愮被鏄釜鍕夊己鍑戝悎鐨勪富鎰忋傘傘?img src ="http://m.shnenglu.com/cpunion/aggbug/13418.html" width = "1" height = "1" />
]]>
鎸囬拡鐨剆licing鎿嶄綔鍜屾暟緇剆licing璇剰鏄浉鍚岀殑銆?br />
閫氳繃slicing鐢熸垚D鏁扮粍錛屾瘮鍘熸潵鐩存帴浣跨敤鎸囬拡鐨勫ソ澶勬槸鍙互鏈夎竟鐣屾鏌ャ?br />
鏈榪戝垰濂界姱浜嗚繖涓敊璇紝鍦ㄤ嬌鐢╢reetype鏃訛紝render鍑烘潵鐨勪綅鍥炬暟鎹洿鎺ヤ嬌鐢╯licing鐢熸垚鏁扮粍淇濆瓨璧鋒潵銆傜敱浜巗licing騫朵笉澶嶅埗鏁版嵁錛岃繖鏍峰悗闈㈢殑render鎿嶄綔浼氳鐩栧墠闈㈢殑鏁版嵁錛屾墍浠ユ垜淇濆瓨鐨勬暟緇勫叾瀹為兘鎸囧悜鍚屼竴涓紦鍐插尯銆傚綋閲婃斁face瀵硅薄鏃訛紝緙撳啿鍖轟篃娌′簡錛屽啀璁塊棶鎭愭曡孌甸敊璇簡銆?br />
榪欎釜鏄疍鏂囨。涓槑紜弿榪頒簡鐨勶紝鎴戝嵈鑺變簡鐐規椂闂存墠鎺掗櫎榪欎釜閿欒錛屽啓涓嬫潵璁板綍涔嬶綖
]]>
聽聽聽聽int聽foo;
public:
聽聽聽聽this(int聽foo){
聽聽聽聽聽聽聽聽this.foo聽=聽foo;
聽聽聽聽}
聽聽聽聽void聽bar(){
聽聽聽聽聽聽聽聽writefln(foo);
聽聽聽聽}
}
void聽main(){
聽聽聽聽alias聽void聽delegate()聽DG;
聽聽聽聽DG聽dg聽=聽&(new聽Foo(1)).bar;
聽聽聽聽Foo[10]聽foos;
聽聽聽聽foreach(int聽i,聽inout聽Foo聽foo;聽foos){
聽聽聽聽聽聽聽聽foo聽=聽new聽Foo(i);
聽聽聽聽}
聽聽聽聽void**聽ptr聽=聽cast(void**)&dg;
聽聽聽聽foreach(Foo聽foo;聽foos){
聽聽聽聽聽聽聽聽*ptr聽=聽cast(void*)foo;
聽聽聽聽聽聽聽聽dg();
聽聽聽聽}
}
榪欑鏂瑰紡涔熶笉鏄垜浠墍甯屾湜鐨勶紝涓鑸潵璇村鎵樼粦瀹氬埌澶氫釜瀵硅薄鏃訛紝鍥犱負鏄彇鍒版煇鎴愬憳鍑芥暟鎸囬拡錛屽啀榪涜緇戝畾銆傛瘮濡傛ā鎷熶竴涓狝ctiveSupport鎵鎵╁睍鐨勪竴涓猺uby.Array#map鐢ㄦ硶錛?br />
class聽Foo{
聽聽聽聽int聽foo;
public:
聽聽聽聽this(int聽foo){
聽聽聽聽聽聽聽聽this.foo聽=聽foo;
聽聽聽聽}
聽聽聽聽void聽bar(){
聽聽聽聽聽聽聽聽writefln(foo);
聽聽聽聽}
}
class聽Array(T){
聽聽聽聽private:
聽聽聽聽T[]聽data;
聽聽聽聽public:
聽聽聽聽this(T[]聽data){
聽聽聽聽聽聽聽聽this.data聽=聽data[0聽..聽length];
聽聽聽聽}
聽聽聽聽void聽map(void聽function()聽func){
聽聽聽聽聽聽聽聽void聽delegate()聽dg;
聽聽聽聽聽聽聽聽void**聽funcPtr聽=聽cast(void**)&dg聽+聽1;
聽聽聽聽聽聽聽聽*funcPtr聽=聽func;
聽聽聽聽聽聽聽聽void聽**聽ptr聽=聽cast(void**)&dg;
聽聽聽聽聽聽聽聽foreach(T聽v;聽data){
聽聽聽聽聽聽聽聽聽聽聽聽*ptr聽=聽cast(void*)v;
聽聽聽聽聽聽聽聽聽聽聽聽dg();
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}
void聽main(){
聽聽聽聽auto聽arr聽=聽new聽Array!(Foo)([new聽Foo(1),聽new聽Foo(2),聽new聽Foo(3)]);
聽聽聽聽arr.map(&Foo.bar);
}
鏄殑錛宒elegate鍐呴儴淇濆瓨浜?涓寚閽堬紝鎵浠ユ垜浠彲浠ュ鏄撳湴hack瀹冦?br />
[娉細涓婇潰鐨刴ain鍑芥暟涓暟緇勭洿鎺ラ噺璧嬬粰鏍堝璞′篃鏄繖涓増鏈腑鏂板鐨勫唴瀹癸紝鏄劇劧鍙兘鐢ㄤ簬static瀵硅薄鏄緢楦¤倠鐨勩傝繖閲岀畝鍗曞甫榪囦笉鎻愩俔
[娉細涓婇潰榪欎釜map鐨勬ā鎷熷茍涓嶆槸ActiveSupport鐨刴ap鎵╁睍鐨勫叏閮ㄧ敤閫旓紝閭d釜map榪樻槸鏀墮泦榪斿洖鍊鹼紝榪欓噷鍙紨紺鴻皟鐢ㄨ娉曘侫ctiveSupport涓墿灞曠殑map璋冪敤璇硶鏄痬ap(&:to_s)錛屽氨鍙互鏀墮泦鍒版暟緇勪腑鎵鏈夊厓绱犺皟鐢╰o_s鍚庣殑榪斿洖鍊箋俔
2銆佺粰鍐呭祵鍐呯殑瀹炰緥澧炲姞outer灞炴э紝鎸囧悜澶栧眰瀵硅薄銆?br />
class聽Outer{
聽聽聽聽class聽Inner{}
聽聽聽聽this(){
聽聽聽聽聽聽聽聽Inner聽inner聽=聽new聽Inner;
聽聽聽聽聽聽聽聽inner.outer.foo();
聽聽聽聽}
聽聽聽聽void聽foo(){
聽聽聽聽聽聽聽聽writefln("foo");
聽聽聽聽}
}
void聽main(){
聽聽聽聽Outer聽outer聽=聽new聽Outer;
}
榪欎釜鐗規у彲鑳藉簲鐢ㄥ茍涓嶆槸寰堝箍鍚с?br />
3銆乵ixin澶氫釜鏋愭瀯鍑芥暟銆?br />
聽聽聽聽this(){
聽聽聽聽}
聽聽聽聽~this(){
聽聽聽聽聽聽聽聽writefln("A::~A()");
聽聽聽聽}
}
template聽B(){
聽聽聽聽~this(){
聽聽聽聽聽聽聽聽writefln("B::~B()");
聽聽聽聽}
}
class聽C{
聽聽聽聽mixin聽A;
聽聽聽聽mixin聽B;
}
void聽main(){
聽聽聽聽C聽c聽=聽new聽C;
聽聽聽聽delete聽c;
}
榪欎簺鏋愭瀯鍑芥暟浼氬拰mixin鐩稿弽鐨勯『搴忔墽琛屻傛垜涓嶆槑鐧界殑鏄紝涓轟粈涔堜笉璁﹎ixin澶氫釜鏋勯犲嚱鏁幫紵涓轟綍涓嶈榪欎簺鏋勯犲嚱鏁版櫄浜庤mixin鐨勭被錛堜笂闈㈢殑C綾伙級鐨勬瀯閫犲嚱鏁幫紝騫舵寜mixin榪涙潵鐨勯『搴忔墽琛岋紵
]]>
涓銆乮magemagick:
http://www.cit.gu.edu.au/~anthony/graphics/imagick6/
鍙互緇樺埗鏂囧瓧錛屼笉榪囦腑鏂囧ソ鍍忎笉鑳借嚜鍔ㄦ柇琛屻?br />
浜屻乿ips
http://vips.sourceforge.net
浣跨敤pango緇樺埗鏂囧瓧錛屼腑鏂囧彲浠ユ柇琛岋紝緙哄皯2绔榻愬姛鑳姐傝嚜宸變慨鏀逛唬鐮佸鍔犱簡璋冩暣琛岃窛鍔熻兘錛屽仛鎴恟uby鎵╁睍搴擄紝amd64涓婁嬌鐢ㄥけ璐ワ紝鍘熷洜寰呮煡銆?br />
涓夈乫reetype
http://vips.sourceforge.net
涓嶄緷璧栧叾瀹冨浘褰?紿楀彛搴擄紝鍏跺畠涓嶇啛鎮夛紝寰呮煡銆?br />
鍥涖丟raphite
璺ㄥ鉤鍙扮殑瀛椾綋娓叉煋搴撱傚緟鏌ャ?br />
鎼滃宸叉湁鏁版湀錛岀洰鍓嶇湅鍒扮殑鍑犱釜搴撻兘涓嶅お鐞嗘兂錛宮ac osx涓婂彲鑳芥瘮杈冧笓涓氾紝涓嶈繃闆嗘垚杈冨洶闅俱?br />
鑻規灉緗戠珯涓婄殑姣旇緝瀹屾暣鐨勫瓧浣撶粯鍒跺拰甯冨眬鏂歸潰鐨勮祫鏂欙細
http://developer.apple.com/documentation/Carbon/Conceptual/ATSUI_Concepts/index.html
鍏朵腑甯冨眬鏂歸潰鐨勪笓涓氱煡璇嗭細
http://developer.apple.com/documentation/Carbon/Conceptual/ATSUI_Concepts/atsui_chap3/chapter_3_section_3.html#//apple_ref/doc/uid/TP30000029-TPXREF157
鍏跺畠璧勬枡錛?br />
]]>
2騫村墠琚揩浣跨敤linux浣滃紑鍙戝鉤鍙幫紝浣跨敤鐨勬槸fedora core 2錛屾劅瑙変竴鑸傚悗鏉ュ幓鎺夊浘褰㈢晫闈㈣繍琛屾湇鍔″櫒紼嬪簭錛屽紑鍙戜富瑕佽繕鏄湪windows涓婏紝鏈夐渶瑕佹椂putty榪炰笂鍘繪搷浣溿?br />
鍏跺悗1騫村錛屽畨瑁呰繃suse, ubuntu錛岃繕鏈夎澶氳涓嶅緱鍚嶅瓧鐨勫彂琛岀増錛屾劅瑙夊茍涓嶅ソ錛寀buntu鐨勭晫闈富棰樼粰鎴戝嵃璞℃瘮杈冩繁銆?br />
鍗婂勾鍓嶆寮忓紑濮嬪湪鍚屼簨鐨勯紦鍚逛笅璇曠敤gentoo錛屾墠鍙戠幇榪欎釜瀹夎鏈楹葷儲鐨勫彂琛岀増浣跨敤璧鋒潵鍗存槸鏈鑸掓湇鐨勶紝鐗瑰埆鏄浜庡紑鍙戣呮潵璇淬備綘鑳芥兂鍒扮殑璇█銆佸簱錛屽熀鏈笂閮藉彲浠ョ洿鎺ュ湪閲岄潰emerge鍒幫紝鑰屼笖鎬昏兘淇濇寔鏈鏂扮増鏈紝鐗瑰埆閫傚悎寮鍙戜漢鍛樸?br />
涓嶈繃瀵逛簬gentoo緋葷粺涓嶇啛鎮夛紝涔熻蛋浜嗕笉灝戝集璺傜綉涓婄殑linux璧勬枡鐩稿綋澶氾紝褰撶劧鏈夊緢澶т竴閮ㄥ垎涔熸槸鐩稿綋鑰侊紝寰寰浣犵収鐫鏌愯祫鏂欓厤緗崐澶╋紝鎵嶅彂鐜板畠宸茬粡榪囨椂浜嗐傛渶澶寸柤鐨勬槸鐣岄潰緹庡寲錛屾垜鎯寵鐨勬槸涓涓嚦灝戠湅寰楄繃鍘葷殑鐣岄潰錛屼笉褰卞搷緗戦〉嫻忚銆傜湅鐫緗戜笂澶у爢鐨勬暀紼嬶紝涓嶈儨鍏剁儲錛屼竴鐩存病鎼炴噦銆傚叾闂村湪ubuntu銆乻use鍜実entoo涔嬮棿鎽囨憜浜嗗嚑嬈★紝鍚庢潵鍥犱負suse鍗犵敤璧勬簮澶錛岃鎴戞姏寮冦?br />
榪欐椂鍊欏凡緇忓windows鏈夌偣鐑︼紝鍙堝湪rails鐨勫甫鍔ㄤ笅瀹夎浜唌ac osx錛屽悓鏃惰繕瀹夎浜唘buntu鍜実entoo銆俶ac osx涓嬮櫎浜唗extmate榪欎釜緙栬緫鍣ㄨ繕鏈夌偣鍚稿紩鍔涗互澶栵紝鍏跺畠閮ㄥ垎灝辨病澶氬皯鍚稿紩鎴戠殑浜嗭紝鍛戒護琛岃鎴戠儲鎭間笉宸層傚湪linux涓嬪彲浠m aa -rf鎴杛m -rf aa鏉ュ垹闄や竴涓枃浠訛紝鍦╩ac osx涓嬪繀欏諱嬌鐢ㄥ悗涓縐嶅艦寮忥紝鑷敱鎯簡紿佺劧鍙楀埌綰︽潫錛屾劅瑙夌湡鏄笉鐖姐?br />
淇濈暀ubuntu涓昏鏄洜涓哄畠鍙互瀹岀編鏀寔鎴戠殑絎旇鏈笂鎵鏈夌‖浠訛紝澹伴煶鎺у埗闈㈡澘涔熸敮鎸侊紝涓嶈繃瀵逛簬寮鍙戜漢鍛樻潵璇達紝瀹夎鐐瑰紑鍙戝寘榪樼湡鏄夯鐑︼紝鍗囩駭涔熸瘮杈冩參銆傚叾瀹炲悗鏉ユ墠鍙戠幇gentoo瀵圭‖浠舵敮鎸佷竴鐐逛篃涓嶅樊錛屽彧鏄笉浼氫嬌鐢ㄨ屽凡銆?br />
鏈榪慻entoo 2006.1鍙戝竷錛屽畨瑁呬互鍚庡氨涓鐩村湪浣跨敤瀹冿紝闄や簡鐣岄潰綺椾綋瀛楀拰鏃犵嚎緗戠粶娌¤В鍐充互澶栵紝鍊掍篃娌′粈涔堥棶棰樸傚墠鍑犲ぉ紿佺劧寮紿嶏紝鎼炴噦浜嗘墍鏈夎蔣浠跺畨瑁呭墠閮界湅鐪婾SE鏍囧織闇姹傦紝鎶婃暣涓郴緇熷崌綰т簡涓涓嬶紝閲嶆柊緙栬瘧鍐呮牳鍐嶅畨瑁呮棤綰塊┍鍔紝涓鍒囬兘寰堥『鍒╋紝鐣岄潰綺椾綋瀛楃珶鐒惰嚜宸卞嚭鏉ヤ簡錛屽彧鏄祻瑙堝櫒閲岄潰娌℃湁綺椾綋銆傜綉涓婃壘浜嗕竴涓嬶紝鍘熸潵鍥犱負鎴戝畨瑁呯殑鏄痓in鐗堟湰錛屼腑鏂囨敮鎸侀兘娌℃湁錛屼簬鏄緗甃INGUAS錛宔merge瀹夎婧愮爜鐗堟湰錛岀粓浜庢悶瀹氥傚氨榪欎釜灝忛棶棰樿鎴戞姌鑵句簡鍗婂勾錛岀湡鏄儹鎰с傛帴涓嬫潵鍚屾牱璁劇疆USE鎼炲畾vlc鍥懼艦鐣岄潰銆丼CIM錛宺ealplayer涔熸病鏈変互鍓嶉偅涓閿欒錛宲gadmin涔熷ソ浜嗭紝榪樺彂鐜皍buntu閲岄潰鐨剅ealplayer鏀句笉鍑烘潵鐨勪竴浜涚數褰卞彲浠ュ湪榪欓噷闈㈡斁鍑烘潵錛寁lc+realplayer鍩烘湰涓婂彲浠ユ悶瀹氭墍鏈夎棰戞牸寮忎簡銆傛劅瑙変竴鍒囬兘緹庡ソ璧鋒潵錛岀粓浜庢槑鐧絞entoo閲岄潰USE鏄渶閲嶈鐨勶紝浠ュ墠鎶婂畠褰撴垚涓彲閫夐」浜嗭紝瀹夎杞歡浠ュ墠鏈濂絜merge -av涓涓嬬湅鐪嬫湁鍝簺USE闇姹傘傝鏃╂槑鐧借繖涓紝涔熶笉鐢ㄥ畨瑁呭緱榪欎箞杈涜嫤浜嗐?br />
鎺ョ潃鍦ㄩ偖浠跺垪琛ㄤ腑涓浜涙湅鍙嬬殑甯姪涓嬶紝瀹夎浜唃nome-volumn-manager錛屾斁鍏ュ厜鐩樺氨鑳借嚜鍔╩ount錛屾寜閫鍑洪敭涔熻兘鑷姩umount騫跺脊鍑猴紝鍜寃indows涓嬩竴鏍鋒柟渚夸簡錛岃繛縐誨姩紜洏鍜宨pod涔熻兘寰堝ソ鏀寔銆傚敮涓閬楁喚鏄浘褰㈠寲鐨勬棤綰跨綉緇滈厤緗伐鍏瘋繕娌℃湁瀹夎涓婏紝铏界劧閫氳繃鑴氭湰涔熷彲浠ラ厤緗紝浣嗘瘯绔熶笉鏄偅涔堟柟渚褲傚紑婧愮ぞ鍖烘渶榪戝嚑騫村湪鏄撶敤鎬т笂涓嬭凍浜嗗伐澶紝gentoo涔熸湁搴炲ぇ鐨勫紑鍙戠ぞ鍖猴紝鎯沖繀瑙e喅榪欎釜涔熶笉鐢ㄥ涔呬簡銆?br />
鐢ㄨ繃寰堝鍙戣鐗堬紝gentoo鏄垜鐢ㄥ緱鏈杈涜嫤鐨勪竴涓紝鍗翠篃鏄敤寰楁渶欏哄績鐨勪竴涓?br />
璐寸偣妗岄潰鎶撳浘錛?br />







]]>
void聽main(){
聽聽{
聽聽聽聽static聽int[]聽arr聽=聽[1,2,3,4,5];
聽聽聽聽writefln(typeid(typeof(arr[0])));
聽聽聽聽writefln(arr);
聽聽}
聽聽{
聽聽聽聽static聽float[]聽arr聽=聽[1f,1,3,4,5];
聽聽聽聽writefln(typeid(typeof(arr[0])));
聽聽聽聽writefln(arr);
聽聽}
聽聽{
聽聽聽聽static聽char[][]聽arr聽=聽["1","2","3","4","5"];
聽聽聽聽writefln(typeid(typeof(arr[0])));
聽聽聽聽writefln(arr);
聽聽}
}
鏁扮粍綾誨瀷鐢辯1涓厓绱犵被鍨嬪喅瀹氾紝綾誨瀷涓嶅尮閰嶅皢浼氫駭鐢熺紪璇戦敊璇?br />
鎺ョ潃鏄緇存暟緇勶細
void聽main(){
聽聽static聽int[][]聽arr聽=聽[[1,2,3,4],聽[4,5,6],聽[7,8]];
聽聽foreach(int[]聽sub;聽arr){
聽聽聽聽foreach(int聽i;聽sub){
聽聽聽聽聽聽writefln(i);
聽聽聽聽}
聽聽}
}
鍙︿竴涓壒鎬ф槸鏇村己鐨則ypedef銆傚師鏈夌殑typedef寮虹被鍨嬪湪鏌愪簺鎯呭喌涓嬩細浜х敓娣蜂貢銆?br />
涓嬮潰鐨勪唬鐮佹憳鑷?http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.bugs&artnum=3843
typedef聽int聽Int1;
typedef聽int聽Int2;
void聽show(Int1聽v)聽{
聽聽聽聽聽writefln("Int1:聽%d",聽v);
}
void聽show(Int2聽v)聽{
聽聽聽聽聽writefln("Int2:聽%d",聽v);
}
void聽show(int聽i)聽{
聽聽聽聽聽writefln("int:聽%d",聽i);
}
void聽show(long聽l)聽{
聽聽聽聽聽writefln("long:聽%d",聽l);
}
void聽main()聽{
聽聽聽聽聽Int1聽value1聽=聽42;
聽聽聽聽聽Int2聽value2聽=聽69;
聽聽聽聽聽show(value1聽+聽value2);
聽聽聽聽聽show(value2聽+聽value1);
聽聽聽聽聽show(2聽*聽value1);
聽聽聽聽聽show(value1聽*聽2);
聽聽聽聽聽show(value1聽+聽value1);
聽聽聽聽聽show(value2聽-聽value2);
聽聽聽聽聽show(value1聽+聽2);
聽聽聽聽聽show(3聽+聽value2);
聽聽聽聽聽long聽l聽=聽23;
聽聽聽聽聽show(value1聽+聽l);
聽聽聽聽聽show(l聽+聽value2);
聽聽聽聽聽short聽s聽=聽105;
聽聽聽聽聽show(s聽+聽value1);
聽聽聽聽聽show(value2聽+聽s);
}
濡備笂闈唬鐮佹墍紺恒倀ypedef瀹氫箟鍑烘潵鐨勭被鍨嬪拰鍘熸湁綾誨瀷鐨勭浉鍚屽艦寮忛噸杞藉嚱鏁板彲浠ュ叡瀛橈紝榪欏彲浠ュ畬鎴愭洿寮虹被鍨嬬殑閲嶈澆錛孋錛嬶紜鐨勯噸杞借繕涓嶈兘瀹炵幇榪欎釜銆?br />
榪欎釜寮虹被鍨嬬殑typedef濂藉儚鍘熸湰灝辨敮鎸侊紝澶ф鏄繍綆楃粨鏋滅被鍨嬫瘮杈冩ā緋娿?br />
濂藉鏄樉欏墊槗瑙佺殑銆傛瘮濡傛湁涓涓猅ime鍜孴imeInterval綾誨瀷錛屽畠鐢ㄦ潵琛ㄧず緇濆鏃墮棿鎴栫浉瀵規椂闂撮棿闅旓紱鍙︽湁涓涓緭鍑哄嚱鏁扮敤鏉ユ樉紺虹粨鏋溿?br />
import聽std.string;
typedef聽long聽Time;
typedef聽long聽TimeInterval;
void聽output(Time聽t){
聽聽writefln("Time:聽"聽~聽toString(cast(long)t));
}
void聽output(TimeInterval聽t){
聽聽writefln("Interval:聽"聽~聽toString(cast(long)t));
}
void聽main(){
聽聽Time聽time聽=聽cast(Time)100;
聽聽TimeInterval聽interval聽=聽cast(TimeInterval)100;
聽聽output(time);
聽聽output(interval);
}
鏄殑錛屼嬌鐢ㄤ笂楹葷儲浜嗗緢澶氾紝鍥犱負鎴戜滑璇曞浘鐢ㄤ竴涓暟鍊肩被鍨嬪幓琛ㄧず澶氫釜鐭㈤噺綾誨瀷銆?br />
榪欓噷Time time = cast(Time)100涓嶅啀鍙槸100榪欎釜綆鍗曠殑鏁板鹼紝瀹冭繕鎼哄甫浜員ime榪欎釜綾誨瀷銆俆imeInterval interval = cast(TimeInterval)100涔熶笉鍙槸100榪欎釜鏁板鹼紝鎴戜滑緇欏畠璧嬩簣浜嗘椂闂撮棿闅旂殑鍚箟銆?br />
榪樺彲浠ユ兂鍍忓緱鏇村紑闃斾竴浜涳紝鐢ㄥ畠瀹氫箟鏃墮棿銆侀暱搴︺侀潰縐佸姞閫熷害銆侀熷害銆佹俯搴︾瓑錛岄噸杞戒竴浜涜綆楀嚱鏁幫紙鍙儨D榪樹笉鏀寔鍏ㄥ眬鎿嶄綔絎﹂噸杞斤級錛岃繖鏍峰氨鏂逛究瀹屾垚涓浜涚墿鐞嗛噺鐨勮繍綆椾簡錛岃屼笖綾誨瀷寰楀埌媯鏌ワ紝閫熷害鍔犱竴涓暣鏁板肩粨鏋滆繕鏄熷害錛岄熷害涔樻椂闂村緱鍒扮殑鏄暱搴︼紝鏃墮棿鍑忔椂闂村緱鍒扮殑鏄椂闂撮棿闅旓紝閫熷害鍔犳椂闂村皢浜х敓緙栬瘧閿欒銆傘傘傘傘傘傜濂囩殑鏄繖浜涚被鍨嬪彲鑳介兘鏄竴浜涚畝鍗曠被鍨嬶紝鎴戠浉淇″畠鑷沖皯鍙互淇濊瘉榪愯鏁堢巼涓嶄細澶綆銆傚綋鐒朵綘鐢–錛嬶紜綾諱篃鍙互瀹屾垚榪欎簺錛屽茍涓斿埄鐢ㄧ紪璇戝櫒浼樺寲璁╁畠鐨勬晥鐜囦繚鎸佹渶楂橈紝鐢氳嚦鍐呰仈鐨勭粨鏋滃氨鏄畝鍗曠被鍨嬬殑榪愮畻錛屾垜榪樻槸鏇存効鎰忎嬌鐢ㄨ繖綆鍗曠殑綾誨瀷鏉ypedef銆傚綋鐒惰繖鍙兘闇瑕佸啓澶ч噺閲嶅鐨勫嚱鏁伴噸杞藉艦寮忥紝娌℃湁鍏崇郴錛屾垜鎯充嬌鐢ㄦā鏉垮拰mixin搴旇鍙互綆鍖栬繖涓榪囩▼錛岃屼笖浼氭湁鐩稿綋澶氱殑瀹朵紮浠効鎰忎嬌鐢ㄨ繖縐嶉夯鐑︾殑褰㈠紡鏉ヨ幏寰楁洿鈥滄紜濈殑緙栬瘧媯鏌ャ?br />
鎵浠ヨ錛孌璇█鐨則ypedef鐨勬剰涔夊叾瀹炲氨鏄疄鐜頒簡鐭㈤噺綾誨瀷銆?br />
鍙堝鎯充簡涓鐐廣?br />
寮虹被鍨嬭錛岃娉曠硸涔熷簲璇ヨ銆傛槸涓嶆槸鍙互鍊熼壌涓涓媟uby鐨勮娉曪紝瀹炵幇榪欑璋冪敤鍛紵
l聽=聽1.m;
Time聽t聽=聽Time.now;
TimeInterval聽i聽=聽3.hours;
鍏嶅幓浜嗕竴浜涘垵濮嬪寲鐨勯夯鐑︺?br />
]]>
鍑轟簬鏁版嵁瀹夊叏鎬ц冭檻錛屾煇浜涚牬鍧忔ч摼鎺ュ簲璇ヤ嬌鐢╬ost璇鋒眰錛屾瘮濡備竴涓垹闄よ褰曠殑璇鋒眰銆?br />
闄や簡鑴氭湰紜浠ュ錛屾湇鍔$榪橀渶瑕乸ost楠岃瘉錛屽洜涓鴻剼鏈槸鍙互緇曡繃鐨勩傛兂鍍忎綘鐨勯〉闈笂鏈変竴涓垹闄ら摼鎺ワ紝鍙綔浜嗗鎴風鑴氭湰紜錛堣佺殑scaffold鐢熸垚浠g爜鏈夎繖闂錛夛紝琚玤oogle鎵懼埌浜嗭紝瀹冧竴涓姹傚氨浼氳浣犵殑鏁版嵁涓㈠け銆?br />
rails瀵逛簬榪欑被璇鋒眰鐨勫鐞嗭紝鏄氳繃verify鏂規硶錛岄粯璁ょ殑scaffold鐢熸垚浠g爜鏈夊涓嬪唴瀹癸細
聽聽verify聽:method聽=>聽:post,聽:only聽=>聽[聽:destroy,聽:create,聽:update聽],
聽聽聽聽聽聽聽聽聽:redirect_to聽=>聽{聽:action聽=>聽:list聽}
鍙湁post璇鋒眰鏃訛紝destroy鎵嶄細琚厑璁革紝濡傛灉鏄痝et錛屽氨浼氳閲嶅畾鍚戝埌list銆?br />
浜屻佸疄鐜?/b>
鎴戣嚜宸卞疄鐜頒簡涓涓猰ethod_dispatch錛屽綋璇鋒眰涓涓?test/a鏃訛紝濡傛灉鏄痝et錛屽垯浼氱洿鎺ユ墽琛孴estController#a錛涘鏋滄槸post錛屽垯浼氭墽琛孴estController#a_post錛宎_post搴旇鏄痯rotected錛岃繖鏍蜂笉浼氱洿鎺ユ毚闇茬粰瀹㈡埛錛実et/post灝變弗鏍煎尯鍒嗗紑鏉ヤ簡銆?br />
method_dispatch鐜板湪鏄洿鎺ュ疄鐜板湪ApplicationController涓殑錛屼唬鐮佸涓嬶細
聽聽protected
聽聽def聽self.method_dispatch(*methods)
聽聽聽聽before_filter聽:do_method_dispatch,聽:only聽=>聽methods.flatten.map(&:to_sym)
聽聽end
聽聽private
聽聽def聽do_method_dispatch
聽聽聽聽if聽request.post?聽&&聽respond_to?("#{action_name}_post")
聽聽聽聽聽聽eval("#{action_name}_post")
聽聽聽聽聽聽return聽false
聽聽聽聽end
聽聽end
end
鐢變簬ApplicationController閲岄潰鐨勬柟娉曚細琚瓙綾葷戶鎵垮埌錛屾墍浠ュ繀欏諱弗鏍煎鐞嗚闂駭鍒?br />
浣跨敤濡備笅錛?br />
聽聽method_dispatch聽:a
聽聽def聽index
聽聽end
聽聽def聽a
聽聽聽聽render聽:text聽=>聽'get聽a'
聽聽end
聽聽def聽b
聽聽聽聽render聽:text聽=>聽'get聽b'
聽聽end
聽聽protected
聽聽def聽a_post
聽聽聽聽render聽:text聽=>聽'post聽a'
聽聽end
聽聽def聽b_post
聽聽聽聽render聽:text聽=>聽'post聽b'
聽聽end
end
娉ㄦ剰a_post錛宐_post瑕佽淇濇姢璧鋒潵闃叉鐩存帴璋冪敤銆?br />
index.rhtml閲岄潰婕旂ず浜嗕嬌鐢╣et鍜宲ost鐨勬儏鍐碉細
<%=聽link_to聽"Post聽a",聽{:action聽=>聽'a'},聽{:post聽=>聽true}聽%><br聽/>
<%=聽link_to聽"Get聽b",聽:action聽=>聽'b'聽%>
<%=聽link_to聽"Post聽b",聽{:action聽=>聽'b'},聽{:post聽=>聽true}聽%><br聽/>
rails鍦ㄥ鐞嗘湁:post => true鍙傛暟鐨刲ink_to鏃訛紝鐢熸垚鐨勪唬鐮佸涓嬶細
聽聽聽聽聽聽 this.parentNode.appendChild(f);聽f.method聽=聽'POST';聽f.action聽=聽this.href;聽f.submit();return聽false;">Post聽a</a>
緇忔祴璇曚笂闈唬鐮佸伐浣滄儏鍐佃壇濂斤紝浣跨敤get璁塊棶/test/a鏃訛紝鏄劇ずget a錛涗嬌鐢╬ost璁塊棶鏃訛紝鏄劇ずpost a銆備嬌鐢╣et璁塊棶/test/b鏃訛紝鏄劇ずget b錛涗嬌鐢╬ost鏃訛紝鏄劇ずget b錛屽洜涓篵騫舵病鏈変嬌鐢╩ethod_dispatch銆?br />
涓夈佸簲鐢?/b>
涓嬮潰鐨刾osts_controller.rb鏄痵caffold鐢熸垚鐨勶細
聽聽def聽index
聽聽聽聽list
聽聽聽聽render聽:action聽=>聽'list'
聽聽end
聽聽#聽GETs聽should聽be聽safe聽(see聽http://www.w3.org/2001/tag/doc/whenToUseGet.html)
聽聽verify聽:method聽=>聽:post,聽:only聽=>聽[聽:destroy,聽:create,聽:update聽],
聽聽聽聽聽聽聽聽聽:redirect_to聽=>聽{聽:action聽=>聽:list聽}
聽聽def聽list
聽聽聽聽@post_pages,聽@posts聽=聽paginate聽:posts,聽:per_page聽=>聽10
聽聽end
聽聽def聽show
聽聽聽聽@post聽=聽Post.find(params[:id])
聽聽end
聽聽def聽new
聽聽聽聽@post聽=聽Post.new
聽聽end
聽聽def聽create
聽聽聽聽@post聽=聽Post.new(params[:post])
聽聽聽聽if聽@post.save
聽聽聽聽聽聽flash[:notice]聽=聽'Post聽was聽successfully聽created.'
聽聽聽聽聽聽redirect_to聽:action聽=>聽'list'
聽聽聽聽else
聽聽聽聽聽聽render聽:action聽=>聽'new'
聽聽聽聽end
聽聽end
聽聽def聽edit
聽聽聽聽@post聽=聽Post.find(params[:id])
聽聽end
聽聽def聽update
聽聽聽聽@post聽=聽Post.find(params[:id])
聽聽聽聽if聽@post.update_attributes(params[:post])
聽聽聽聽聽聽flash[:notice]聽=聽'Post聽was聽successfully聽updated.'
聽聽聽聽聽聽redirect_to聽:action聽=>聽'show',聽:id聽=>聽@post
聽聽聽聽else
聽聽聽聽聽聽render聽:action聽=>聽'edit'
聽聽聽聽end
聽聽end
聽聽def聽destroy
聽聽聽聽Post.find(params[:id]).destroy
聽聽聽聽redirect_to聽:action聽=>聽'list'
聽聽end
end
鍙互鐪嬪埌錛屽畠娣誨姞浜唙erify錛屼絾action榪囧錛岄渶瑕佸湪verify涓淮鎶や竴浠藉搴旀柟娉曞悕錛岀◢涓嶇暀紲炲氨瀹規槗鍑虹幇婕忔礊銆?br />
鎴戞妸瀹冧慨鏀瑰涓嬶細
聽聽method_dispatch聽:new,聽:edit,聽:destroy
聽聽def聽index
聽聽聽聽list
聽聽聽聽render聽:action聽=>聽'list'
聽聽end
聽聽def聽list
聽聽聽聽@post_pages,聽@posts聽=聽paginate聽:posts,聽:per_page聽=>聽10
聽聽end
聽聽def聽show
聽聽聽聽@post聽=聽Post.find(params[:id])
聽聽end
聽聽def聽new
聽聽聽聽@post聽=聽Post.new
聽聽end
聽聽def聽edit
聽聽聽聽@post聽=聽Post.find(params[:id])
聽聽end
聽聽def聽destroy
聽聽聽聽render聽:inline聽=>聽<<-EOS
聽聽聽聽聽 Are you sure?
聽聽聽聽聽聽<%=聽link_to聽"Yes",聽{},聽:post聽=>聽true聽%>
聽聽聽聽聽聽<%=聽link_to聽"No",聽:action聽=>聽'edit', :id => params[:id]%>
聽聽聽聽EOS
聽聽end
聽聽protected
聽聽def聽destroy_post
聽聽聽聽Post.find(params[:id]).destroy
聽聽聽聽redirect_to聽:action聽=>聽'list'
聽聽end
聽聽def聽edit_post
聽聽聽聽@post聽=聽Post.find(params[:id])
聽聽聽聽if聽@post.update_attributes(params[:post])
聽聽聽聽聽聽flash[:notice]聽=聽'Post聽was聽successfully聽updated.'
聽聽聽聽聽聽redirect_to聽:action聽=>聽'show',聽:id聽=>聽@post
聽聽聽聽else
聽聽聽聽聽聽render聽:action聽=>聽'edit'
聽聽聽聽end
聽聽end
聽聽def聽new_post
聽聽聽聽@post聽=聽Post.new(params[:post])
聽聽聽聽if聽@post.save
聽聽聽聽聽聽flash[:notice]聽=聽'Post聽was聽successfully聽created.'
聽聽聽聽聽聽redirect_to聽:action聽=>聽'list'
聽聽聽聽else
聽聽聽聽聽聽render聽:action聽=>聽'new'
聽聽聽聽end
聽聽end
end
鐩稿簲鍦幫紝榪橀渶瑕佹妸new.rhtml涓殑action浠巆reate淇敼鍒皀ew錛屾妸edit.rhtml涓殑action浠巙pdate淇敼鍒癳dit銆?br />
榪欐牱鐨勪慨鏀規妸蹇呴』浣跨敤post璇鋒眰鐨刟ction闅愯棌璧鋒潵錛岃岀浉搴旂殑get鎿嶄綔鏄笉淇敼鎴栧垹闄よ褰曠殑錛屽鏋滀互post璇鋒眰錛屾墠浼氳嚜鍔ㄨ皟鐢ㄨ繖浜涗繚鎶ょ殑鏂規硶銆?br />
]]>
鍦ㄥ叾瀹冭璦閲屽疄鐜癆OP鐨勭‘姣旇緝楹葷儲錛宩ava瑕佺敤鍒板姩鎬乸roxy錛屽鏋滄槸C錛嬶紜錛岄櫎浜嗕粠婧愮爜涓婁慨鏀硅繕鐪熸病濂藉姙娉曪紝aspectc灝辨槸榪欎箞鍋氱殑銆傞偅涔坮uby閲岄潰濡備綍瀹炵幇鍛紵
鐢變簬ruby鏄姩鎬佽剼鏈璦錛岃繍琛屾湡鍙互鎶婁竴涓柟娉曟敼鍚嶏紝涔熷彲浠ユ瀯閫犱竴涓瓧絎︿覆鍔ㄦ佺敓鎴愭柟娉曪紝閭d箞瀹炵幇榪欎釜灝變笉鏄毦浜嬩簡銆?br />
聽聽def聽self.included(base)
聽聽聽聽base.extend(ClassMethods)
聽聽end
聽聽module聽ClassMethods
聽聽聽聽def聽execute_before(before_method,聽*methods)
聽聽聽聽聽聽methods.flatten.map(&:to_sym).each聽do聽|method|
聽聽聽聽聽聽聽聽alias_method聽"#{method}_old".to_sym,聽method
聽聽聽聽聽聽聽聽class_eval聽<<-eval_end
聽聽聽聽聽聽聽聽聽聽def聽#{method}(*args)
聽聽聽聽聽聽聽聽聽聽聽聽#{before_method}(*args)
聽聽聽聽聽聽聽聽聽聽聽聽#{method}_old(*args)
聽聽聽聽聽聽聽聽聽聽end
聽聽聽聽聽聽聽聽eval_end
聽聽聽聽聽聽end
聽聽聽聽end
聽聽end
end
浣跨敤鏃跺彧闇瑕佸湪綾婚噷闈nclude榪欎釜妯″潡灝辮浜嗭紝鐩稿綋浜巑ixin鐨勫姛鑳姐?br />
聽聽def聽index
聽聽聽聽a(1)
聽聽聽聽b(1,2)
聽聽聽聽c(1,2,3)
聽聽聽聽render聽:text聽=>聽'hello'
聽聽end
聽聽protected
聽聽def聽log(*args)
聽聽聽聽puts聽"log:聽#{args.map(&:to_s).join(',聽')}"
聽聽end
聽聽def聽a(a)
聽聽end
聽聽def聽b(a,b)
聽聽end
聽聽def聽c(a,b,c)
聽聽end
聽聽include聽ExecuteBefore
聽聽execute_before聽:log,聽:a,聽:b,聽:c
end
娉ㄦ剰錛岀敱浜庝嬌鐢╡xecute_before鏃跺悗闈㈠嚑涓柟娉曞繀欏昏鏈夊畾涔夛紝鎵浠ュ繀欏繪斁鍦ㄥ悗闈紝鍚﹀垯灝變細鍑洪敊銆?br />
]]>
聽聽adapter:聽postgresql
聽聽database:聽myproject_development
聽聽username:聽postgres
聽聽password:聽
development_mysql:
聽聽adapter:聽mysql
聽聽database:聽myproject_development
聽聽username:聽root
聽聽password:聽
development:
聽聽development_mysql
test:
聽聽adapter:聽postgresql
聽聽database:聽myproject_test
聽聽username:聽postgres
聽聽password:聽
production:
聽聽development
姝e父榪愯娌′粈涔堥棶棰樸傚悗鏉ュ彂鐜板湪榪愯rake test浣滃崟鍏冩祴璇曟椂浼氭姤閿欙紝鎶婃嫹璐濊繃鏉ュ氨娌℃湁闂銆備笉榪噐ubyonrails.com涓婁笉鍏佽鍖垮悕鎻愪氦bug錛岃繕鐪熼夯鐑︺?br />
鍙﹀鍙戠幇config.active_record.schema_format = :ruby閰嶇疆涓嬶紝postgresql鐨則imestamp瀛楁榛樿鍊糲urrent_timestamp涓嶈兘姝g‘澶嶅埗鍒版暟鎹簱銆傜粡媯鏌ュ畠鏄嬌鐢╠b:schema:dump澶嶅埗涓嬫暟鎹簱妯″紡錛屽啀浣跨敤db:schema:load鐢熸垚嫻嬭瘯鏁版嵁搴撴ā寮忕殑錛岃繖涓ā鍧椾負浜嗗悇鏁版嵁搴撶粺涓錛屼細鍘繪帀閭d簺涓嶄竴鑷寸殑榛樿鍊箋傝В鍐沖姙娉曟槸璁劇疆config.active_record.schema_format = :sql銆?img src ="http://m.shnenglu.com/cpunion/aggbug/12536.html" width = "1" height = "1" />
]]>
璇█錛?br />haskell, lisp 鍑芥暟寮忕紪紼嬭璦錛屽彈cookoo榧撹垶寮濮嬪涔爃askell錛屽姞涓奾askell鏄疄鐜皃ugs鐨勮璦錛岀湅鏉ュ涓涓嬩篃鏄簲璇ョ殑銆俵isp鏈夋椂闂翠篃瑕佺湅鐪嬶紝灝卞綋鏄姌紓ㄨ嚜宸辯艦銆傘?br />erlang 鍒嗗竷寮忕紪紼嬭璦錛屽凡鏈夊簲鐢∣penPoker,浣滆?strong>紲炲畻鍐ユ旦錛岀畝浠?http://blog.mylkcn.net/senzung.php
prolog
鎰熻闈㈠悜瀵硅薄浠ュ悗鐨勮璦灝辨病浠涔堟兂璞″姏浜嗐傘?br />
欏圭洰錛?br />osian on dsource.org
ddl on dsource.org
FP鐩稿叧璁哄潧錛?br />http://agiletao.com/thread.php?fid=31
http://ocaml.cn/
]]>
]]>
鍙栨秷鐨勭悊鐢辨槸榪欎釜杞崲澶殣鏅︿簡錛屾渶濂芥槸鏄懼紡鍦版爣紺哄嚭榪欑杞崲錛屾墍浠ュ紩鍏ヤ竴涓猯azy鍏抽敭瀛椼侱璇█榪樺湪鍙戝睍涓紝寰堝鐗規ч兘鍦ㄥ皾璇曪紝榪欑淇敼涔熶笉鏄涓嬈′簡銆?br />
棣栧厛鐪嬬湅榪欎釜lazy銆?br />
涓婁竴鐗堝疄鐜頒簡榪欐牱涓涓壒鎬э細
聽聽writefln(msg());
}
log("Hello,聽"聽~聽"Li聽Jie!聽\n"聽~聽"Welcome!");
log鐨勫弬鏁拌闅愬紡杞寲涓轟竴涓鎵橈紝榪欐牱鍙湁鐢ㄥ埌榪欎釜鍊肩殑鏃跺欐墠鐪熸姹傚箋?br />
鐢變簬榪欑闅愬紡杞寲寰堝鏄撳艦鎴愰櫡闃憋紝鎵浠ヨ繖涓鐗堟敼涓轟竴涓猯azy鍏抽敭瀛楋紝鐪嬭搗鏉ヨ綆媧佷竴浜涗簡錛?br />
聽聽writefln(msg);
}
log("Hello,聽"聽~聽"Li聽Jie!聽\n"聽~聽"Welcome!");
log鍑芥暟涓嬌鐢╩sg榪欎釜鍙橀噺灝變細璋冪敤閭d釜闅愬紡鐨勫鎵橈紝瑕佹敞鎰忕殑鏄瘡嬈″彇msg鐨勫奸兘浼氭墽琛岃繖涓鎵橈紝鎵浠ユ垜瑙夊緱榪欎釜闄烽槺鏇村ぇ浜嗭紝褰撶劧瀹冩妸闄烽槺涓㈢粰緙栧啓浠g爜鐨勪漢錛岃屼笉鏄嬌鐢ㄤ唬鐮佺殑浜猴紝鎵浠ュソ鍧忚繕鏃犱粠鍒嗚鯨銆?br />
涓嬮潰榪欑偣浠g爜鍙互婕旂ず榪欎釜灝忛櫡闃憋細
聽聽int聽b聽=聽a+1;
聽聽int聽c聽=聽a*3;
聽聽int聽d聽=聽a/2;
}
int聽bar(){
聽聽writefln("Call聽bar()");
聽聽return聽12;
}
foo(bar());
鐪嬭搗鏉ar濂藉儚浼氭墽琛屼竴嬈★紝瀹為檯涓婅繖孌典唬鐮佷細鎵撳嵃鍑?琛?Call bar()"錛屽師鏉ヤ嬌鐢ㄥ鎵樿繕鍙互鐪嬪埌涓涓樉寮忕殑鍑芥暟璋冪敤鍛€?br />
鍙︿竴涓猰ember templates鐗規ф湭瑙佸埌鏂囨。錛岀寽鎯沖ぇ姒傛槸鏀寔鎴愬憳鍑芥暟妯℃澘鍚с?br />
]]>
]]>
鍙︿竴綃囷細
http://www.howtoforge.com/xen_3.0_ubuntu_dapper_drake
]]>
浠g爜:
order = Order.find(1)
order.update_attribute(:status, 'finished')
鍋囧畾orders琛ㄦ湁10涓瓧孌碉紝浣犲彧鎯蟲洿鏂板叾涓竴涓紝浣哸ctive record浼氱敓鎴愪竴涓洿鏂板叏閮ㄥ瓧孌電殑SQL璇彞錛屽亣瀹氬叾涓竴涓瓧孌靛奸暱搴︽槸20K錛岃繖涓礋鎷呭彲鑳戒細鏈変簺閲嶃?
鎴戝皾璇曡В鍐寵繖涓棶棰橈紝鍐欎簡涓畝鍗曠殑鎻掍歡錛?
浠g爜:
module ActiveRecord
聽 class Base
聽 聽 def update_attribute(name, value)
聽 聽 聽 update_attributes(name => value)
聽 聽 end
聽 聽 def update_attributes(new_attributes)
聽 聽 聽 return if new_attributes.nil?
聽 聽 聽 attributes = new_attributes.dup
聽 聽 聽 attributes.stringify_keys!
聽 聽 聽 self.attributes = attributes
聽 聽 聽 update(attributes)
聽 聽 end
聽 聽 private
聽 聽 聽 def update(attrs = nil)
聽 聽 聽 聽 connection.update(
聽 聽 聽 聽 聽 "UPDATE #{self.class.table_name} " +
聽 聽 聽 聽 聽 "SET #{quoted_comma_pair_list(connection, attributes_with_quotes(false, attrs))} " +
聽 聽 聽 聽 聽 "WHERE #{self.class.primary_key} = #{quote(id)}",
聽 聽 聽 聽 聽 "#{self.class.name} Update"
聽 聽 聽 聽 )
聽 聽 聽 聽
聽 聽 聽 聽 return true
聽 聽 聽 end
聽 聽 聽 def attributes_with_quotes(include_primary_key = true, attrs = nil)
聽 聽 聽 聽 (attrs || attributes).inject({}) do |quoted, (name, value)|
聽 聽 聽 聽 聽 if column = column_for_attribute(name)
聽 聽 聽 聽 聽 聽 quoted[name] = quote(value, column) unless !include_primary_key && column.primary
聽 聽 聽 聽 聽 end
聽 聽 聽 聽 聽 quoted
聽 聽 聽 聽 end
聽 聽 聽 end
聽 end
end
attributes_with_quotes鍑芥暟鐨勫弬鏁版悶榪欎箞澶嶆潅錛屽師鍥犳槸鎴戞兂鍗充究鏄敤榪欐浠g爜鏇挎崲搴撻噷闈㈢殑閮ㄥ垎錛屼篃涓嶅獎鍝嶅師鏈変唬鐮佺殑姝e父鍔熻兘銆?
鍙互綆鍗曟祴璇曚竴涓嬩笂闈㈢殑渚嬪瓙錛屽畠鐢熸垚鐨凷QL璇彞浼氱畝媧佸緢澶氾紝澶ф鏄繖鏍峰瓙錛?
UPDATE orders SET "status" = 'finished' WHERE id = 1
宸插彂鐜扮殑BUG鍜屼慨澶嶏細
1銆佹病鏈夎皟鐢╲alidation (by cookoo)銆?/strong>鐢變簬鍘熸湁浠g爜璋冪敤save錛岃宻ave琚鐩栨垚鏈夐獙璇佺殑浠g爜錛屾墍浠ュ叿鏈夐獙璇佸姛鑳姐傝В鍐沖姙娉曟槸澧炲姞涓孌典唬鐮侊細
聽聽module聽ValidationsFix
聽聽聽聽
def
聽self.append_features(base)聽
#
聽:nodoc:
聽聽聽聽聽聽super
聽聽聽聽聽聽base.class_eval聽do
聽聽聽聽聽聽聽聽alias_method聽:update_attributes_without_validation,聽:update_attributes
聽聽聽聽聽聽聽聽alias_method聽:update_attributes,聽:update_attributes_with_validation
聽聽聽聽聽聽end
聽聽聽聽end
聽聽聽聽
def
聽update_attributes_with_validation(new_attributes)
聽聽聽聽聽聽
return
聽
if
聽new_attributes.nil?
聽聽聽聽聽 attributes = new_attributes.dup
聽聽聽聽聽 attributes.stringify_keys!
聽聽聽聽聽聽self.attributes聽
=
聽attributes
聽聽聽聽聽聽
if
聽valid?
聽聽聽聽聽聽聽聽update_attributes_without_validation(attributes)
聽聽聽聽聽聽
else
聽聽聽聽聽聽聽聽
return
聽false
聽聽聽聽聽聽end
聽聽聽聽end
聽聽end
end
ActiveRecord::Base.class_eval聽do
聽聽include聽ActiveRecord::ValidationsFix
end
]]>
璇︾粏淇℃伅鍙錛?a >http://www.digitalmars.com/d/lazy-evaluation.html
瀹冮鍏堣В鍐充簡涓涓瓨鍦ㄤ簬java涓殑鏃ュ織闂錛宩ava閲岄潰涓涓啓鏃ュ織鏍囧噯鏍煎紡濡備笅錛?br />
聽聽log.info("aaaa");
}
鍥犱負log.info鐨勫弬鏁版眰鍊煎彲鑳藉獎鍝嶆ц兘錛屾墍浠ヤ嬌鐢ㄨ繖縐嶇箒鐞愮殑鏂瑰紡鏉ラ檷浣庡叧闂棩蹇楁椂鐨勬ц兘寮閿銆?br />
C/C++浣跨敤瀹忔潵瑙e喅榪欎釜闂錛屽敮涓鐨勯棶棰樻槸淇敼鏃ュ織綰у埆浼氬鑷撮」鐩繀欏婚噸緙栬瘧銆?br />
[娉細鎸囩殑鏄敤瀹忔潵瀹氫箟鏃ュ織綰у埆鐨勬柟寮忥紝浣跨敤鍏跺畠鍔ㄦ佷慨鏀規棩蹇楃駭鍒殑鏂瑰紡瀵規ц兘瑕佹眰寰堥珮鐨勯」鐩潵璇村彲鑳戒笉鍙帴鍙梋
D璇█浣跨敤鍙︿竴縐嶆柟寮忔潵瑙e喅錛岄鍏堣鐢ㄥ埌鈥滆〃杈懼紡鍒板鎵樼殑闅愬紡杞崲鈥濓紝涓嬮潰鏄鎵樹綔涓哄弬鏁版椂鐨勪嬌鐢ㄦ柟娉曪細
聽聽writefln(dg());
}
foo(聽delegate聽char[]聽(){
聽聽聽聽return聽"Hello,聽World";
聽聽}
);
鍥犱負榪欎釜濮旀墭騫朵笉闇瑕佸弬鏁幫紝鑰岃繑鍥炲煎彲浠ユ帹瀵鹼紝鎵浠ュ湪鏃╁厛鐨勪竴涓増鏈噷錛孌鍏佽鎴戜滑綆鍖栬繖涓繃紼嬶細
聽聽writefln(dg());
}
foo({return聽"Hello,聽World";});
DMD 0.165鍏佽鎴戜滑鏇磋繘涓姝ワ細
聽聽writefln(dg());
}
foo("Hello,聽World");
榪欎釜瀛楃涓插弬鏁頒細琚殣寮忚漿鎹㈡垚涓涓鎵樸?br />
鐜板湪鍙互鐢ㄤ竴鏍風殑鏂規硶澶勭悊鏃ュ織錛屽湪娌℃湁瀹忕殑緋葷粺涓紝鏃ュ織鍑芥暟涓鑸牸寮忓涓嬶細
{
聽聽聽聽if聽(logging)
聽聽聽聽fwritefln(logfile,聽message);
}
涓轟簡璁╁畠浣跨敤鎳掓儼姹傚艱繖涓壒鎬э紝榪欓噷鎶婅繖涓嚱鏁扮殑鍙傛暟鏀逛負濮旀墭錛?br />
{
聽聽聽聽if聽(logging)
聽聽聽聽fwritefln(logfile,聽dg());
}
浠庝笂闈㈡彁鍒扮殑鍐呭鎴戜滑鐭ラ亾浣跨敤瀹冧篃寰堢畝鍗曪細
log("My聽name聽is聽"聽~聽"Li聽Jie");
榪欎釜鍙傛暟鐨勬眰鍊煎氨鏄湪log鍑芥暟閲岄潰瀹屾垚鐨勩?br />
褰撶劧濮旀墭浼氬鍔犱竴浜涘紑閿錛屽湪涓婇潰榪欎釜渚嬪瓙涓紝榪欎釜寮閿鏄湪鏃ュ織鎵撳紑鏃舵墽琛屽鎵樻墍甯︽潵鐨勶紝瀹冨鍔犱簡涓嬈″鎵樿皟鐢ㄧ殑寮閿錛屼笉榪囧ソ鍦ㄦ墦寮鏃ュ織鍔熻兘鏃訛紝鍏跺畠鏂歸潰鐨勫紑閿榪滃ぇ榪囧鎵樿皟鐢ㄣ傚叧闂棩蹇楁椂錛屽畠涓嶄細甯︽潵寮閿錛屽畠鍙槸鎶婂瓧絎︿覆鎸囬拡鍘嬫爤鏀逛負濮旀墭鎸囬拡鍘嬫爤銆?img src ="http://m.shnenglu.com/cpunion/aggbug/11517.html" width = "1" height = "1" />
]]>
涓銆佺Щ妞岰搴撳埌D鐨勪竴鑸繃紼?/strong>
C浣跨敤澶存枃浠舵潵澶勭悊絎﹀彿渚濊禆錛屽湪D閲岄潰閾炬帴澶栭儴搴撴枃浠舵椂錛岃浣跨敤extern (C)澹版槑鏉ュ紩鍏ョ鍙鳳紝榪欐槸涓涓漿鎹㈣繃紼嬨?/p>
濡備綍杞崲涓涓狢澶存枃浠跺埌D鏂囦歡錛烡鏂囨。鐨刪tomodule.html鏈夎灝借鏄庛備竴鑸殑杞崲榪囩▼濡備笅錛?
1銆佽繍琛岄澶勭悊紼嬪簭澶勭悊鎺夊ご鏂囦歡閲岄潰鐨勫畯銆?/p>
2銆佸垹闄ょ粡榪囬澶勭悊浠ュ悗鐨勫浣欎俊鎭傜敱浜嶤鐨勫ご鏂囦歡鍖呭惈錛屾瘡涓ご鏂囦歡緇忚繃棰勫鐞嗕互鍚庨兘浼氬寘鍚竴浜涢噸澶嶅唴瀹癸紝鎴戜滑闇瑕佸墧闄よ繖閮ㄥ垎鍐呭錛岄氳繃鏌ユ壘琛屽彿鍗沖彲瀹屾垚銆?/p>
3銆佽漿鎹㈢浉搴斿0鏄庡埌D澹版槑錛岃繖涓姝ュ彲浠ヤ嬌鐢ㄤ竴涓猚2h紼嬪簭鏉ュ畬鎴愩?/p>
娉ㄦ剰棰勫鐞嗙▼搴忓鐞嗗畬姣曚互鍚庯紝瀹忓嚱鏁頒互鍙婂畯瀹氫箟鐨勫父閲忎細琚幓闄わ紝榪欏彲鑳戒笉鏄綘鎯寵鐨勶紝鎵浠ユ渶濂界殑鍔炴硶鍙兘鏄墜宸ヨ漿鎹€?/p>
鍙︿竴縐嶈皟鐢ㄦ槸鍦―閲岄潰璋冪敤鍔ㄦ侀摼鎺ュ簱錛岃繖闇瑕佷綘浣跨敤implib宸ュ叿浠庡姩鎬侀摼鎺ュ簱浜х敓涓涓?lib瀵煎叆搴撴枃浠訛紝鐒跺悗鐢熸垚D澹版槑錛屽啀緙栬瘧閾炬帴鍗沖彲銆傚鏋滄槸鍦╨inux涓嬩嬌鐢ㄥ叡浜簱錛屽垯鍙渶瑕佺紪鍐橠澹版槑鏂囦歡錛岀劧鍚庣洿鎺ラ摼鎺ュ嵆鍙?br />
浜屻佽皟鐢–搴?/strong>
杞崲瀹屾瘯浠ュ悗錛屽氨鍙互璋冪敤浜嗐傚鏋滀綘鍙槸瑕佹祴璇曚竴涓嬶紝灝卞彲浠ュ彧澹版槑浣跨敤榪囩殑澶栭儴鍑芥暟銆佸彉閲忓嵆鍙?/p>
渚嬪鎴戜滑瑕佺紪鍐橮rogramming Ruby閲岄潰鐨勪竴涓猂uby Extension渚嬪瓙錛岀浉搴旂殑D浠g爜濡備笅錛?/p>
鍜孋浠g爜寰堢浉浼箋傜敱浜庢垜浠彧浣跨敤浜嗗嚑涓閮ㄥ嚱鏁般佸彉閲忥紝鎵浠ュ彧闇瑕佸0鏄庤繖鍑犱釜絎﹀彿鍗沖彲錛?/p>
涓夈佺敓鎴愬姩鎬侀摼鎺ュ簱(Windows DLL)鎴栧叡浜簱(Linux so鏂囦歡)
D璇█鍦╓indows涓婄紪鍐橠LL錛岄櫎浜嗚鏈塂婧愭枃浠朵互澶栵紝榪樿鏈塂LL瀹氫箟鏂囦歡錛?/p>
榪欐槸涓涓氱敤鐨勬牸寮忥紝鍙槸涓浜涙弿榪頒俊鎭紝鍥犱負D涓彲浠ヤ嬌鐢╡xport鍏抽敭瀛楀鍑虹鍙鳳紝鎵浠ヤ笉闇瑕佸湪榪欓噷澹版槑瀵煎嚭鍑芥暟錛屽彧鏈夊湪緙栧啓COM DLL鏃舵墠浼氬鍔犲叾瀹冧竴浜涗俊鎭?/p>
鍙﹀鐢變簬D璇█瑕佸垵濮嬪寲GC浠ュ強鍏跺畠涓浜涗俊鎭紝鎵浠ヨ繕闇瑕佸湪DllMain閲岄潰璋冪敤鍒濆鍖栧強緇堟浠g爜銆傜敱浜庝笉鍚屽鉤鍙扮殑鍒濆鍖栬繃紼嬩笉瀹屽叏鐩稿悓錛岃繖閲屾垜綆鍗曞皝闂簡涓涓嬩笉鍚屽鉤鍙扮殑鍒濆鍖栦唬鐮侊細
鐜板湪鍙互涓篧indows緙栧啓鍒濆鍖栧強緇堟浠g爜錛?/p>
鐢變簬Linux鍏變韓搴撳茍娌℃湁鏍囧噯鐨勫叆鍙e嚱鏁?鎴栨槸鎴戜笉鐭ラ亾瀹?錛岃繖閲屼嬌鐢╣cc鎵╁睍鐨勫垵濮嬨佺粓姝唬鐮侊紝涓嶈繃鏄互C璇█瀹炵幇鐨勶細
鐜板湪鍙互灝濊瘯緙栬瘧閾炬帴錛屽湪Linux涓婄紪璇戝懡浠ゅ涓嬶細
浣犲彲浠ュ湪irb涓嬫祴璇曪細
鍙互鐪嬪埌add鎬繪槸榪斿洖涓涓猘rray錛屼笌鏈熸湜緇撴灉涓鑷淬?/p>
浣跨敤gdc鏄洜涓篸md鍦╨inux涓婃棤娉曠敓鎴愬叡浜簱銆?/p>
鍦╓indows涓婄殑緙栬瘧鍛戒護濡備笅錛?/p>
ruby18.lib鏄嬌鐢╥mplib浠巑svcrt-ruby18.dll瀵煎嚭鐨勶紝榪欎釜緙栬瘧榪囩▼寰堥『鍒╋紝涓嶈繃涓嶅垢鐨勬槸瀹冭繍琛屾湁涓浜涢棶棰橈紝澶ф鏄竴浜涘垵濮嬪奸敊璇紝鎴戞殏鏃惰繕娌℃湁鎵懼埌鍘熷洜銆傛垨璁鎬篃搴旇灝濊瘯涓涓媑dc錛屼笉榪囨垜涓嶇煡閬撳浣曚粠.DLL鏂囦歡瀵煎嚭涓涓猤dc鏀寔鐨凟LF鏍煎紡鐨勫鍏ュ簱鏂囦歡銆?br />
鍥涖侀」鐩墦綆?/strong>
鎵撶畻寤虹珛涓涓猺ubyd欏圭洰錛岄櫎浜嗚漿鎹uby澶存枃浠朵互澶栵紝榪樿浣滀竴浜涙墿灞曪紝姣斿杞崲D綾誨埌ruby綾伙紝榪欐柟闈㈠凡鏈夊熼壌錛屾瘮濡俤source.org涓婄殑pyd欏圭洰銆?/p>
鐢變簬浠ュ墠鍦ㄥ緩绔嬮」鐩柟闈㈡湁榪囧け璐ョ粡鍘?asgard欏圭洰鐢變簬鍏磋叮杞Щ鍜屽叾瀹冨師鍥犳瘮濡傝娉曚笐闄嬬瓑鑰屾湭鑳借繘琛?錛岃繖嬈¤繕鏄繚瀹堜竴浜涳紝鍏堝畬鎴怐澹版槑鐨勮漿鎹紝鎴戝凡緇忎嬌鐢ㄥ伐鍏瘋漿鎹簡鎵鏈夊ご鏂囦歡錛屼笉榪囨濡傚墠闈㈡墍璇達紝瀹忓嚱鏁板拰瀹忓父閲忛兘涓㈠け浜嗭紝鎵浠ラ渶瑕侀噸鏂版墜宸ヨ漿鎹€?br />
浜斻佸叾瀹冮棶棰?/strong>
1銆佸浣曚粠.DLL鏂囦歡瀵煎嚭涓涓猤dc鏀寔鐨凟LF鏍煎紡鐨勫鍏ュ簱鏂囦歡錛?strong>濡傛灉浣犵煡閬撳彲浠ュ憡璇夋垜錛屽厛璋㈣繃浜嗐?/p>
2銆乨md鐢熸垚鍙墽琛屾枃浠墮棶棰樹笉澶э紝鐢熸垚鍔ㄦ侀摼鎺ュ簱鎴栧叡浜簱鏈夊緢澶х己闄鳳紝鐗瑰埆鏄笉鑳界敓鎴愬叡浜簱錛屾垜鍙笉鎯沖啀鎵句竴涓彧鑳藉啀Windows涓婃甯歌繍琛岀殑緙栬瘧鍣ㄣ傚浣曡瀹冩敼榪涜繖浜涙柟闈紵
3銆乬dc浣跨敤dmd鍓嶇鍜実cc鍚庣錛屽簲璇ヤ細鎴愮啛涓浜涳紝涓嶈繃涓鑸細姣攄md鍓嶇鐗堟湰紼嶄綆錛岃屼笖gdc鍙戝竷鐗堟湰涓嶆槸寰堥綣侊紝澶ф4-5涓猟md鐗堟湰鎵嶄細鏈変竴涓猤dc鐗堟湰(鍒濈暐璁$畻)錛屾墍浠ヤ竴浜涙柊鐗規т笉鑳藉鍙婃椂鍔犲叆榪涙潵銆?/p>