锘??xml version="1.0" encoding="utf-8" standalone="yes"?>黑人巨大精品欧美黑白配亚洲,亚洲国产中文字幕在线观看,亚洲欧美日韩一区二区三区在线观看
http://m.shnenglu.com/flyinghearts/zh-cn Mon, 29 Sep 2025 22:48:23 GMT Mon, 29 Sep 2025 22:48:23 GMT 60 SEH寮傚父澶勭悊涓撳埄鍒版湡浜?/title> http://m.shnenglu.com/flyinghearts/archive/2014/06/15/207288.htmlflyinghearts flyinghearts Sun, 15 Jun 2014 02:55:00 GMT http://m.shnenglu.com/flyinghearts/archive/2014/06/15/207288.html http://m.shnenglu.com/flyinghearts/comments/207288.html http://m.shnenglu.com/flyinghearts/archive/2014/06/15/207288.html#Feedback 3 http://m.shnenglu.com/flyinghearts/comments/commentRss/207288.html http://m.shnenglu.com/flyinghearts/services/trackbacks/207288.html 銆銆 銆銆Borland鐨勯偅涓伓蹇冪殑SEH寮傚父澶勭悊涓撳埄錛圢o:5,628,016 Filed: June, 15, 1997錛夛紝緇堜簬鍒版湡浜嗐傚笇鏈汫CC/CLANG鑳藉揩鐐瑰畬鎴恮in32鐨凜++寮傚父鐨凷EH瀹炵幇錛屼笅涓鐗堟湰鐨凣CC錛岃兘璁╃敤鎴蜂笉鍐嶇籂緇揝JLJ錛孌warf2鐨勯夋嫨銆?br /> ]]> 闈㈣瘯棰? 鎵懼嚭鏁扮粍涓笁涓彧鍑虹幇涓嬈$殑鏁?/title> http://m.shnenglu.com/flyinghearts/archive/2013/03/21/198695.htmlflyinghearts flyinghearts Thu, 21 Mar 2013 14:00:00 GMT http://m.shnenglu.com/flyinghearts/archive/2013/03/21/198695.html http://m.shnenglu.com/flyinghearts/comments/198695.html http://m.shnenglu.com/flyinghearts/archive/2013/03/21/198695.html#Feedback 4 http://m.shnenglu.com/flyinghearts/comments/commentRss/198695.html http://m.shnenglu.com/flyinghearts/services/trackbacks/198695.html
棰樼洰錛氭暟緇勪腑鏈変笁涓暟鍙嚭鐜頒竴嬈★紝鍏跺畠鐨勬暟鎭板ソ鍑虹幇涓ゆ錛屾壘鍑鴻繖涓変釜鏁般?/span>
鍏堣冭檻“鍙湁涓や釜鏁板嚭鐜頒竴嬈?#8221;鐨勬儏鍐碉細鍙互鎵懼埌涓縐嶆柟娉曪紝灝嗘暟緇勫垝鍒嗕負涓ら儴鍒嗭紝涓旇榪欎袱涓暟鍒嗗埆鍦ㄤ笉鍚岄儴鍒嗭紝榪欐牱姣忛儴鍒嗘墍鏈夋暟鐨勫紓鎴栧鹼紝鎭板ソ鍒嗗埆絳変簬榪欎袱涓暟銆備竴縐嶇畝鍗曠殑鍒嗘硶灝辨槸錛屽厛璁$畻鍑鴻繖涓や釜鏁扮殑寮傛垨鍊?/span>M錛堢瓑浠蜂簬姹傛暟緇勪腑鎵鏈夋暟鐨勫紓鎴栧鹼級錛屾眰鍑?/span>M鍊肩殑浜岃繘鍒惰〃紺轟腑鐨勬渶浣庝綅 1錛堝叾瀹冧綅鐨?/span>1涔熷彲浠ワ紝鍙笉榪囬夯鐑︾偣錛夊湪 +k浣嶏紝鐒跺悗鏍規嵁 +k浣嶆槸鍚︿負 1錛屽皢鍘熸暟緇勫垎涓轟袱閮ㄥ垎銆?/span>
鍥炲埌鍘熼錛屽亣璁捐繖涓変釜涓嶅悓鐨勬暟鏄細 A銆?/span>B銆?/span>C錛屽畠浠殑寮傛垨鍊?/span> X = A xor B xor C 錛?/span>X鍊煎彲鑳戒負 0錛屼篃鍙兘涓嶄負 0銆傚綋 X鍊間笉涓?/span>0鏃訛紙姣斿錛氳繖涓変釜鏁頒負 3銆?/span>5銆?/span>7錛?/span>X鍊間負 1錛夛紝寰堥毦鎵懼埌涓縐嶆柟娉曪紝灝嗗師鏉ョ殑鏁扮粍鍒掑垎涓轟袱閮ㄥ垎錛屼嬌寰楄繖涓変釜鏁頒笉閮藉湪鍚屼竴閮ㄥ垎銆傚洜鑰岋紝瑕佸厛瀵瑰師鏉ョ殑鏁扮粍榪涜涓嬈℃浛鎹細灝嗘瘡涓暟涓?/strong> X 榪涜寮傛垨 銆傝繖鏍峰師鏉ョ殑涓変釜鏁板氨鍙樻垚浜嗭細
B xor C銆?/span>A xor C銆?/span>A xor B銆傝 a = B xor C 銆?/span> b = A xor C 銆?/span> c = A xor B 銆傛柊鐨勫紓鎴栧?/span> x = a xor b xor c = 0 銆?/span>
鐢變簬 A銆?/span>B銆?/span>C浜掍笉鐩哥瓑錛屾樉鐒跺畠浠棿鐨勫紓鎴栧?/span>a 銆?/span> b 銆?/span> c 閮戒笉涓?/span> 0 錛屼笖浜掍笉鐩哥瓑 銆傦紙鑻?/span>a絳変簬 b錛屽垯 0 = a xor b = (B xor C) xor (A xor C) = A xor B != 0 鑷浉鐭涚浘錛?/span>
鑻ヤ笁涓暟鐨勫紓鎴栧間負 0 錛屼笖鍏朵腑涓涓暟鍦?/span> +n 浣嶏紙 n 涓轟換鎰忓鹼級涓婁負 1 錛屽垯鍙︿袱涓暟鍦?/span> +n 浣嶄笂蹇呯劧涓涓負 1 錛屽彟涓涓負 0 錛堜笉鐒剁殑璇濓紝榪欎笁涓暟鐨勫紓鎴栧煎氨涓嶄細涓?/span>0錛夛紝鍥犺屾牴鎹?/span> +n 浣嶄負 1 錛屽彲浠ュ皢榪欎笁涓暟鍒嗘垚涓ら儴鍒?/span> 銆?/span>
璁?/span> f(x) 涓?/span> x 鐨勪簩榪涘埗琛ㄧず涓渶浣庝綅 1 鐨勪綅緗紝鍒?/span> f(a) 銆?/span> f(b) 銆?/span> f(c) 榪欎笁涓暟涓湁涓斿彧鏈変袱涓暟鐩哥瓑 銆傝瘉鏄庯細涓嶅Θ璁?/span>f(a)銆?/span>f(b)銆?/span>f(c)涓渶灝忕殑鏄?/span>f(a)錛?/span>k = f(a)錛屽垯 b銆?/span>c鍦?/span> +k浣嶄笂蹇呯劧鏄竴涓負 1錛屼竴涓負 0錛屼笉濡ㄨ b鍦?/span> +k浣嶄負 1錛屽垯鏍規嵁 f(x)鐨勫畾涔変互鍙?/span>f(a)鏈灝忥紝鍙緱 f(b)絳変簬 f(a)錛?/span>f(c)澶т簬 f(a)銆傚洜鑰岋紝鏂版暟緇勭殑鏁?/span>x瀵瑰簲鐨勬墍鏈?/span>f(x)鐨勬誨紓鎴栧肩瓑浜?/span>f(c)銆?/span>
鍋囪 f(a)絳変簬 f(b)錛?/span>m = f(c)錛岀敱浜?/span>c鍦?/span> +m浣嶄笂涓?/span>1錛屼笉濡ㄨ b鍦?/span> +m浣嶄篃涓?/span>1錛屽垯 a鍦?/span> +m浣嶄負 0銆傛牴鎹?/span> +m浣嶆槸鍚︿負 1錛屽彲灝嗘柊鏁扮粍鍒嗕負涓ら儴鍒嗭紝姣忛儴鍒嗙殑寮傛垨鍊兼伆濂介兘鏄?/span> a = B xor C 錛屽彲浠ユ眰鍑烘暟 A錛堢瓑浜?/span>a xor X錛夈?/span> 灝嗘暟 A鏀懼叆鍘熸潵鐨勬暟緇勶紝闂杞負 “鍙湁涓や釜鏁板嚭鐜頒竴嬈?#8221;鐨勬儏鍐碉紝鍒╃敤鍓嶉潰鎻愬埌鐨勬柟娉曠畻鍑哄彟涓や釜鏁般傛誨叡闇閬嶅巻鏁扮粍 4嬈°?/span>
浠g爜錛?/span>
#include <cstdio>
#include <cassert>
static inline int extract_rightmost_one ( unsigned value ) { return value & - value ; }
// if a != b, m = extract_rightmost_one(a), n = extract_rightmost_one(b),
// k = extract_rightmost_one(a ^ b)
// then m == n != k or m == k != n or n == k != m
void print_three_unique_number ( const int arr [], unsigned len )
{
assert ( len >= 3 && len % 2 );
const int * const beg = arr ;
const int * const end = arr + len ;
int xor3 = 0 ;
for ( const int * p = beg ; p != end ; ++ p ) xor3 ^= * p ;
int flag1 = 0 ;
for ( const int * p = beg ; p != end ; ++ p ) flag1 ^= extract_rightmost_one (* p ^ xor3 );
assert ( flag1 != 0 && ( flag1 & ( flag1 - 1u )) == 0u ); // flag1 == 2^^k
int xor2 = 0 ;
for ( const int * p = beg ; p != end ; ++ p ) {
const int value = * p ^ xor3 ;
if ( value & flag1 ) xor2 ^= value ; //or:
// if ((value & flag1) == 0) xor2 ^= value;
}
const int number1 = xor2 ^ xor3 ;
const int flag2 = extract_rightmost_one ( xor2 );
int number2 = ( number1 & flag2 ) ? number1 : 0 ; // put number1 in to the array
for ( const int * p = beg ; p != end ; ++ p ) {
if (* p & flag2 ) number2 ^= * p ;
}
const int number3 = xor2 ^ number2 ;
printf ( "%d %d %d\n" , number1 , number2 , number3 );
}
涓婇潰鐨勪唬鐮佸茍涓嶄弗鏍肩鍚?/span>C++鏍囧噯錛岃屾槸鍋囧畾鏈哄櫒閲囩敤琛ョ爜琛ㄧず璐熸暟錛堜笉閲囩敤琛ョ爜琛ㄧず鐨勮佸彜钁o紝涓鑸漢涔熺涓嶅埌錛夈?/span> 鍙﹀瑕佺壒鍒敞鎰忕殑鏄紝涓浜涜綆楁渶濂藉厛杞負鏃犵鍙鋒暟錛岄伩鍏嶆孩鍑猴紝鏈鍚庡啀杞洖鏈夌鍙鋒暟銆傚洜涓烘爣鍑嗗亣瀹氭湁絎﹀彿鏁伴棿鐨勮綆椾笉鍙戠敓婧㈠嚭錛屽綋瀹為檯涓婂彂鐢熸孩鍑烘椂錛屽氨鏄?/span>UB琛屼負錛岀紪璇戝櫒鑻ヨ繘琛屼簺嬋榪涚殑浼樺寲灝卞緱涓嶅埌姝g‘緇撴灉銆?/span>
]]>mingw gcc鐨勫ご鏂囦歡瀛樺湪緇撴瀯瀹氫箟閿欒錛侊紒 http://m.shnenglu.com/flyinghearts/archive/2013/03/21/198694.htmlflyinghearts flyinghearts Thu, 21 Mar 2013 13:51:00 GMT http://m.shnenglu.com/flyinghearts/archive/2013/03/21/198694.html http://m.shnenglu.com/flyinghearts/comments/198694.html http://m.shnenglu.com/flyinghearts/archive/2013/03/21/198694.html#Feedback 0 http://m.shnenglu.com/flyinghearts/comments/commentRss/198694.html http://m.shnenglu.com/flyinghearts/services/trackbacks/198694.html 鍑嗙‘鐨勮鏄痬ingw鎵鐢ㄧ殑sdk —— w32api錛屽瓨鍦ㄧ粨鏋勫畾涔夐敊璇?br /> 鎵撳紑wingdi.h 瀹氫綅鍒?tagGCP_RESULTSW 鐨勭粨鏋勫畾涔変綅緗紝 typedef struct tagGCP_RESULTSW { DWORD lStructSize; LPWSTR lpOutString; UINT *lpOrder; int *lpDx; int *lpCaretPos; LPWSTR lpClass; //姝g‘鐨勭被鍨嬪簲璇ユ槸 LPSTR LPWSTR lpGlyphs; UINT nGlyphs; int nMaxFit; } GCP_RESULTSW,*LPGCP_RESULTSW; 鏍規嵁msdn, lpClass鐨勭被鍨嬪簲璇ユ槸 LPSTR錛?w32api鍗村皢鍏跺0鏄庝負 LPWSTR銆?br /> 榪欎釜bug錛屽湪2011騫村氨鏈変漢鎶ュ憡浜嗭紝鎹cvs鐗堟湰涔熶慨姝d簡錛屼絾鏄洿鍒扮幇鍦紝瀹樻柟涓嬭澆榪樻槸2011騫村彂甯冪殑閭d釜鏈塨ug鐨勭増鏈紙w32api-3.17-2-mingw32-dev.tar.lzma錛夈?br /> 鍙﹀錛宮ingw-w64錛堟敮鎸佺敓鎴?2浣嶃?4浣嶇▼搴忥級涓嶅瓨鍦ㄨ繖涓棶棰樸?
]]> c++11 鏈鍙嶇洿瑙夌殑鍦版柟 http://m.shnenglu.com/flyinghearts/archive/2012/11/22/195570.htmlflyinghearts flyinghearts Thu, 22 Nov 2012 11:49:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/11/22/195570.html http://m.shnenglu.com/flyinghearts/comments/195570.html http://m.shnenglu.com/flyinghearts/archive/2012/11/22/195570.html#Feedback 4 http://m.shnenglu.com/flyinghearts/comments/commentRss/195570.html http://m.shnenglu.com/flyinghearts/services/trackbacks/195570.html 1 auto 浼氳嚜鍔ㄦ妸 寮曠敤 鍘婚櫎鎺?br /> int& get(); auto k = get(); // k鐨勭被鍨嬫槸int錛岃屼笉鏄痠nt& Derived object; auto& same_object = (Base&)object; auto another_object = (Base&)object; //浼氶噸鏂版瀯閫犱釜Base瀵硅薄 2 decltype 鏈夋椂浼氳嚜鍔ㄦ妸 寮曠敤 鍔犱笂 int x; decltype((x)) 鍜?decltype(*&x) 鐨勭被鍨嬫槸int&錛岃屼笉鏄痠nt 鍦ㄥ畯涓嬌鐢╠ecltype鏃訛紝瑕佺壒鍒敞鎰忓埆澶氬姞浜嗘嫭鍙楓?br /> 涓嬮潰榪欐浠g爜閿欏湪鍝噷錛?br /> template<typename T, typename R> auto min(T t, R r) -> decltype(t < r ? t : r) { return (t < r ? t : r); } decltype(t < r ? t : r)鐨勭被鍨嬫槸T&鎴朢&錛岃屼笉鏄墍甯屾湜鐨凾鎴朢錛?br /> 鏍囧噯鏄繖鏍瘋瀹氱殑錛?br /> The type denoted by decltype(e) is defined as follows: — if e is an unparenthesized id-expression or an unparenthesized class member access (5.2.5), decltype(e) is the type of the entity named by e. If there is no such entity, or if e names a set of overloaded functions, the program is ill-formed; — otherwise, if e is an xvalue, decltype(e) is T&&, where T is the type of e; — otherwise, if e is an lvalue, decltype(e) is T&, where T is the type of e; — otherwise, decltype(e) is the type of e. 3 std::move銆乻td::forward銆佸彸鍊煎紩鐢?br /> C++11 寮曞叆 鍙沖煎紩鐢紝鍙互鍋氬埌錛氬嚱鏁拌漿鍙戙侀拡瀵逛復鏃跺璞′紭鍖?br /> move鏄姩璇嶏紝浠庡瓧闈笂鐞嗚В濂藉儚鏄縐誨姩瀵硅薄錛屽叾瀹瀞td::move鍙槸綆鍗曠殑灝嗙被鍨嬭漿鎴愬彸鍊煎紩鐢ㄨ屽凡錛侊紒錛?鍙互鐞嗚В鎴?cast_to_rvalue_reference 鎴?treat_as_temporal_object銆?br /> void test1(int&&) {} void test2(int&& value) //娉ㄦ剰錛歷alue鐨勭被鍨嬫槸int錛岃屼笉鏄痠nt&& { test1(value); //鏃犳硶緙栬瘧閫氳繃錛屽洜涓簐alue鐨勭被鍨嬫槸int錛?蹇呴』杞崲綾誨瀷 test1(static_cast<int&&>(value)); //鎴栬?br /> test1(std::forward<int>(value)); } test2鍑芥暟涓紝value鐨勭被鍨嬫槸int錛岃屼笉鏄痠nt&&銆?br /> 榪欐槸涓涓笉寰楀凡鐨勯夋嫨銆傚鏋渧alue鐨勭被鍨嬫槸int&&鐨勮瘽錛屽氨浼氭湁鍓綔鐢細 void increase(int& value) { ++value; } void test3(int&& value) { increase(value); } char ch = 'a'; test3(ch); //鏈剰鏄敼鍙榗h鍊鹼紝浣嗗疄闄呬笂ch鍊間笉浼氭敼鍙橈紝鏀瑰彉鐨勬槸涓存椂瀵瑰儚 閫氳繃杞彂鍑芥暟test3錛宨ncrease鍑芥暟鍙互淇敼涓存椂瀵瑰儚錛?br /> 榪欓犳垚紼嬪簭鍛樼姱鐨勯敊璇紙濡備笂闈㈢殑渚嬪瓙錛夛紝闅句互鍦ㄧ紪璇戞椂灝辮鎵懼嚭鏉ャ?br /> std::forward<T>(value) 絳変環浜?static_cast<T&&>(value)錛屾劅瑙夊悗鑰呮洿瀹規槗鐞嗚В銆?br /> std::forward 璧峰埌鐨勮漿鍙戜綔鐢ㄣ傚鏋淭綾誨瀷涓?R&銆?R&&錛岀粡榪囩被鍨嬭漿鎹㈠悗錛屽叾綾誨瀷榪樻槸鍜屽師鏉ョ殑涓鏍楓?br /> 鍦–++11涓? R& & 絳夊悓浜?R& 錛堝湪c++03涓紝R& &榪欑鍐欐硶鏄潪娉曠殑錛?br /> R&& & 絳夊悓浜?R& R& && 絳夊悓浜?R& R&& && 絳夊悓浜?R&& ]]>decltype鐨勫皬鈥滈櫡闃扁?/title> http://m.shnenglu.com/flyinghearts/archive/2012/08/14/187204.htmlflyinghearts flyinghearts Tue, 14 Aug 2012 13:19:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/08/14/187204.html http://m.shnenglu.com/flyinghearts/comments/187204.html http://m.shnenglu.com/flyinghearts/archive/2012/08/14/187204.html#Feedback 5 http://m.shnenglu.com/flyinghearts/comments/commentRss/187204.html http://m.shnenglu.com/flyinghearts/services/trackbacks/187204.html decltype(x) 鍜?nbsp; decltype((x)) 鐨勭被鍨嬫槸涓嶄竴鏍風殑銆?/div>
decltype(x) 鍜?nbsp; decltype(*&x) 鐨勭被鍨嬫槸涓嶄竴鏍風殑銆?br />
decltype(x)鐨勭被鍨嬫槸 int
decltype((x)) 鍜?decltype(*&x) 鐨勭被鍨嬫槸 int&
C++11鏍囧噯錛?/div>
The type denoted by decltype(e) is defined as follows: — if e is an unparenthesized id-expression or an unparenthesized class member access (5.2.5), decltype(e) is the type of the entity named by e. If there is no such entity, or if e names a set of overloaded functions, the program is ill-formed; — otherwise, if e is an xvalue, decltype(e) is T&&, where T is the type of e; — otherwise, if e is an lvalue, decltype(e) is T&, where T is the type of e; — otherwise, decltype(e) is the type of e.
]]>
鍐呭祵姹囩紪瀹炵幇鐨勫嚱鏁拌漿鍙?/title> http://m.shnenglu.com/flyinghearts/archive/2012/08/05/186382.htmlflyinghearts flyinghearts Sun, 05 Aug 2012 13:02:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/08/05/186382.html http://m.shnenglu.com/flyinghearts/comments/186382.html http://m.shnenglu.com/flyinghearts/archive/2012/08/05/186382.html#Feedback 8 http://m.shnenglu.com/flyinghearts/comments/commentRss/186382.html http://m.shnenglu.com/flyinghearts/services/trackbacks/186382.html 璋冪敤CALL(func)錛岃漿涓鴻皟鐢╢unc()錛?div> 璋冪敤CALL(func, arg1, arg2) 錛岃漿涓鴻皟鐢╢unc(arg1, arg2) 浠g爜涓紝瀹廋ALL/STDCALL鍒嗗埆鐢ㄦ潵璋冪敤 __cdecl/__stdcall 璋冪敤瑙勫畾鐨勫嚱鏁?br /> unsafe_call 涓よ呴兘鍙皟鐢紝浣嗗畠涓嶆槸澶氱嚎紼嬪畨鍏ㄧ殑銆?br /> 浠g爜鍙敮鎸亁86 32浣嶏紝 闄ゅ唴宓屾眹緙栭儴鍒嗭紝灝介噺絎﹀悎C++11鏍囧噯銆?br />
鍘熺悊錛?br /> 鍒氳繘鍏ュ嚱鏁版椂錛?br /> [esp] 鍑芥暟榪斿洖鍦板潃
[esp + 4] 絎竴涓弬鏁幫紝鍗寵漿鍙戝嚱鏁扮殑鍦板潃
[esp + 8] 絎簩涓弬鏁幫紝鍗寵漿鍙戝嚱鏁扮殑鐨勭涓涓弬鏁?/div> ...
鍙鍐欎笁琛屾眹緙栨寚浠ゅ疄鐜頒竴涓猚_call鍑芥暟錛屽氨鍙皟鐢ㄨ漿鍙戝嚱鏁?br />
pop eax ; eax涓哄嚱鏁拌繑鍥炲湴鍧
xchg dword ptr[esp], eax ; eax涓鴻漿鍙戝嚱鏁扮殑鍦板潃錛孾esp]涓哄嚱鏁拌繑鍥炲湴鍧
jmp eax
褰撹漿鍙戝嚱鏁版槸__cdecl錛屽嵆杞彂鍑芥暟涓嶄細璋冭妭鏍堬紝鐢變簬鍦╟_call錛宲op eax錛屼嬌esp澶氬姞浜?錛屽洜鑰屽湪璋冪敤瀹宑_call鍚庡簲璇ユ墜鍔ㄥ皢esp鍊煎噺4錛屼繚璇佹爤騫寵 銆?br />
褰撹漿鍙戝嚱鏁版槸__stdcall錛岃漿鍙戝嚱鏁頒細璋冭妭鏍堬紝璋冪敤杞彂鍑芥暟瀹屾瘯鍚庯紝鏍堝凡緇忎繚鎸佸鉤琛★紝鍥犺岃皟鐢╟_call瀹屾瘯錛屼笉搴旇榪涜鏍堟寚閽堣皟鑺傘備技涔庡皢c_call鐨勮皟鐢ㄦ敼涓篲_stdcall鍗沖彲錛屼絾瀹為檯涓奵_call鏈夊彉闀垮弬鏁幫紝鏀規垚__stdcall娌℃晥鏋滐紝姣忔璋冪敤緙栬瘧鍣ㄨ繕鏄細鑷姩鐢熸垚璋冭妭鏍堟寚閽堜唬鐮併傚洜鑰屽彧鑳芥瘡嬈¤皟鐢ㄥ畬姣曪紝緙栬瘧鍣ㄧ粰esp鍔犱簡澶氬皯錛屽氨鎵嬪姩鍑忓灝戙傦紙緙栬瘧鍣ㄤ笉涓瀹氫細鐢熸垚 call xxxx; add esp, xx榪欐牱鐨勪唬鐮侊紝閫氳繃鏀瑰嚱鏁拌繑鍥炲湴鍧錛屽拷鐣ュ悗闈㈢殑add esp, xx鎸囦護鏄緢緋熺硶鐨勫仛娉曘傦級
call_redirect 1 #include < cstdio > 2 #include < cstdarg > 3 #include < windows.h > 4 5 #define CALL( ) c_call(__VA_ARGS__); ASM_SUB_ESP(4); 6 #define STDCALL( ) c_call(__VA_ARGS__); ASM_SUB_ESP(MACRO_ARGS(__VA_ARGS__) * 4); 7 8 #define MACRO_EXPAND(x) x 9 #define MACRO_NTH_ARG(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, ) a9 10 #define MACRO_ARGS( ) \ 11 MACRO_EXPAND(MACRO_NTH_ARG(__VA_ARGS__, 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 )) 12 13 #if __GNUC__ 14 // please enable option, -masm=intel 15 #define ASM_SUB_ESP(x) asm("lea esp, dword ptr[esp - %0]" : : "i"(x)) 16 17 int c_call( void * pfn, ) asm( " c_call " ); 18 asm( " \n\ 19 c_call: \n\ 20 pop eax; \n\ 21 xchg dword ptr[esp], eax; \n\ 22 jmp eax; \n\ 23 " ); 24 25 int unsafe_call( void * pfn, ) asm( " unsafe_call " ); 26 asm( " \n\ 27 .lcomm old_ret_addr, 4 \n\ 28 .lcomm old_esp_value, 4 \n\ 29 unsafe_call: \n\ 30 pop dword ptr old_ret_addr; \n\ 31 mov dword ptr old_esp_value, esp; \n\ 32 mov eax, dword ptr[esp]; \n\ 33 mov dword ptr[esp], offset last; \n\ 34 jmp eax; \n\ 35 last: \n\ 36 mov esp, dword ptr old_esp_value; \n\ 37 jmp dword ptr old_ret_addr; \n\ 38 " ); 39 40 #elif _MSC_VER 41 #define ASM_SUB_ESP(x) __asm lea esp, dword ptr [esp - x] 42 43 __declspec(naked) int c_call( void * pfn, ) 44 { 45 __asm { 46 pop eax; 47 xchg dword ptr[esp], eax; 48 jmp eax; 49 } 50 } 51 __declspec(naked) int unsafe_call( void * pfn, ) 52 { 53 static void * old_ret_addr; 54 static void * old_esp_value; 55 __asm { 56 pop old_ret_addr; 57 mov old_esp_value, esp; 58 mov eax, dword ptr[esp]; 59 mov dword ptr[esp], offset last; 60 jmp eax; 61 last: 62 mov esp, old_esp_value; 63 jmp old_ret_addr; 64 } 65 } 66 67 #else 68 #error "only gcc and msvc are supported" 69 #endif 70 71 72 void show( const char * format, ) 73 { 74 va_list args; 75 va_start(args, format); 76 vprintf(format, args); 77 va_end (args); 78 } 79 80 void mysleep() { Sleep( 10 ); } 81 82 void test1() 83 { 84 int a = 5 , b = 6 ; 85 show( " %d + %d = %d\n " , a, b, a + b); 86 CALL(( void * )printf, " %d + %d = %d\n " , a, b, a + b); 87 CALL(( void * )mysleep); 88 CALL(( void * )show, " %d + %d = %d\n " , a, b, a + b); 89 } 90 91 void test2() 92 { 93 STDCALL(( void * )MessageBoxA, NULL, " text1 " , " caption1 " , MB_OK); 94 STDCALL(( void * )Sleep, 10 ); 95 STDCALL(( void * )MessageBoxA, NULL, " text2 " , " caption2 " , MB_OK); 96 STDCALL(( void * )Sleep, 100 ); 97 } 98 99 void test3() 100 { 101 int a = 5 , b = 6 ; 102 unsafe_call(( void * )printf, " %d + %d = %d\n " , a, b, a + b); 103 unsafe_call(( void * )mysleep); 104 unsafe_call(( void * )show, " %d + %d = %d\n " , a, b, a + b); 105 unsafe_call(( void * )MessageBoxA, NULL, " text1 " , " caption1 " , MB_OK); 106 unsafe_call(( void * )Sleep, 10 ); 107 unsafe_call(( void * )MessageBoxA, NULL, " text2 " , " caption2 " , MB_OK); 108 unsafe_call(( void * )Sleep, 100 ); 109 } 110 111 int main() 112 { 113 test1(); 114 test2(); 115 test3(); 116 return 0 ; 117 } 118 119 120 ]]>
涓浜涜佹父鎴廋PU 100%鍗犵敤鐨勮В鍐蟲柟娉?/title> http://m.shnenglu.com/flyinghearts/archive/2012/05/15/175005.htmlflyinghearts flyinghearts Tue, 15 May 2012 12:26:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/05/15/175005.html http://m.shnenglu.com/flyinghearts/comments/175005.html http://m.shnenglu.com/flyinghearts/archive/2012/05/15/175005.html#Feedback 0 http://m.shnenglu.com/flyinghearts/comments/commentRss/175005.html http://m.shnenglu.com/flyinghearts/services/trackbacks/175005.html 涓嬭澆錛?a href="/Files/flyinghearts/peekmsg.7z" title="peekmsg">peekmsg鐢ㄦ硶錛?br /> peekmsg.exe 娓告垙涓葷▼搴?br /> 鎴栫敤lordpe錛屾墦寮娓告垙涓葷▼搴忥紝瀵煎叆peekmsg.dll涓殑init
鍘熺悊錛?br /> hook PeekMessage鍑芥暟錛岀敤Sleep銆乄aitForMultipleObjects絳夊嚱鏁拌鍑篊PU鏃墮棿鐗囥?
]]> 涓夊浗蹇?鍓ф湰淇敼鍣?1.2 http://m.shnenglu.com/flyinghearts/archive/2012/05/15/175004.htmlflyinghearts flyinghearts Tue, 15 May 2012 12:14:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/05/15/175004.html http://m.shnenglu.com/flyinghearts/comments/175004.html http://m.shnenglu.com/flyinghearts/archive/2012/05/15/175004.html#Feedback 0 http://m.shnenglu.com/flyinghearts/comments/commentRss/175004.html http://m.shnenglu.com/flyinghearts/services/trackbacks/175004.html 鍐呯疆鍓ф湰鏀逛負鍔犲己鐗堝墽鏈紝淇濆瓨鍓ф湰鏃訛紝鍚屾椂鐢熸垚鏅氱増/鍔犲己鐗堝墽鏈?br />錛堟病鏃墮棿嫻嬭瘯錛屽彲鑳藉湪鏇存敼瀹濈墿鎵鏈夎呮椂錛屼細鏈変竴浜沚ug錛?br />涓夊浗蹇?鍓ф湰淇敼鍣?.2 ]]> 瀹夊叏鐨勬暣鏁版瘮杈?/title> http://m.shnenglu.com/flyinghearts/archive/2012/03/30/169554.htmlflyinghearts flyinghearts Fri, 30 Mar 2012 12:16:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/03/30/169554.html http://m.shnenglu.com/flyinghearts/comments/169554.html http://m.shnenglu.com/flyinghearts/archive/2012/03/30/169554.html#Feedback 4 http://m.shnenglu.com/flyinghearts/comments/commentRss/169554.html http://m.shnenglu.com/flyinghearts/services/trackbacks/169554.html 鍓嶅嚑澶╁湪姘存瘝涓婄湅鍒扮殑棰橈細姝e父鐨勬瘮杈?assert(-1 < 1U) 鏄細澶辮觸鐨勩傚洜涓?-1 浼氭彁鍗囨垚鏃犵鍙鋒暟銆?br />鍐欎竴涓畨鍏ㄧ殑姣旇緝鍑芥暟錛屼嬌寰?br />template <typename T1, typename T2> int SafeIntCompare(T1 i1, T2 i2); 濡傛灉 i1 鐪熷疄鍊?< i2錛岃繑鍥?-1 i1 鐪熷疄鍊?== i2錛岃繑鍥?nbsp; 0 i1 鐪熷疄鍊?> i2錛岃繑鍥?nbsp; 1
鍙湁褰撲袱涓被鍨嬩竴涓槸鏈夌鍙楓佸彟涓涓槸鏃犵鍙鋒椂錛屾墠闇瑕佺壒孌婂鐞嗐?br />瀵圭被鍨嬬殑絎﹀彿鍒ゆ柇錛屽彲浠ョ洿鎺ュ垽鏂綾誨瀷鐨?1鏄惁姣?灝忥紝涔熷彲浠ョ敤鏍囧噯搴搒td::numeric_limits<T>涓殑is_signed鎴愬憳銆?br /> 綆鍗曠殑鍋氭硶錛?br />template < typename T1, typename T2 > int SafeIntCompare(T1 v1, T2 v2) { static const bool t1 = std::numeric_limits < T1 > ::is_signed; static const bool t2 = std::numeric_limits < T2 > ::is_signed; if (t1 != t2) { if (t1 && v1 < 0 ) return - 1 ; if (t2 && v2 < 0 ) return 1 ; } if (v1 == v2) return 0 ; if (v1 < v2) return - 1 ; return 1 ; }
浣嗙敱浜庤繘琛屾瘮杈冪殑涓や釜鏁板彲鑳藉垎鍒槸錛氭湁絎﹀彿鏁板拰鏃犵鍙鋒暟錛岀紪璇戞椂緙栬瘧鍣ㄤ細緇欏嚭澶ч噺鐨勮鍛娿?br />
瑕侀伩鍏嶆湁絎﹀彿鏁板拰鏃犵鍙鋒暟鐨勮繘琛岀洿鎺ユ瘮杈冿紝灝卞繀欏誨皢瀹冧滑閮借漿涓哄悓涓涓被鍨婽銆傝繖涓被鍨嬬殑紜畾鍙互閲囩敤涓ょ鏂規硶錛?br />
1 姣旇緝鍘熸潵涓や釜綾誨瀷鏄惁鏄湁絎﹀彿鏁頒互鍙婂畠浠墍鍗犵敤鐨勫瓧鑺傛暟錛屾潵鎺ㄦ柇鍑哄簲璇ュ皢瀹冧滑閮借漿涓哄摢縐嶇被鍨婽錛岃繖鏄痸c閭d釜safeint鐨勫仛娉曘?br />
2 閲囩敤榪欎釜trick錛氬皢榪欎袱涓被鍨嬬殑鏁幫紙鏁板彲浠ュ彇0錛夌洿鎺ョ浉鍔狅紝寰楀埌鐨勭粨鏋滅殑綾誨瀷灝辨槸鎵姹傜殑銆傝繖鏄洜涓猴細涓や釜鏁拌繘琛屾瘮杈冩椂錛岄噰鐢ㄧ殑綾誨瀷杞崲瑙勫垯鍜屼袱涓暟鐩稿姞鏃舵墍閲囩敤鐨勮鍒欐槸涓鑷寸殑銆?br />
鏀規垚鍚庣殑浠g爜 template< bool > struct Assert {}; template <> struct Assert < false > ; template < bool is_first_negtive, bool is_second_negtive > struct SafeIntCmpImpl { template < typename T1, typename T2 > static int int_cmp(T1 v1, T2 v2) { if (v1 == v2) return 0 ; if (v1 < v2) return - 1 ; return 1 ; } }; template <> struct SafeIntCmpImpl < true , false > { template< typename T1, typename T2, typename T3 > static int int_cmp(T1 v1, T2 v2, T3) { return SafeIntCmpImpl < true , true > ::int_cmp(T3(v1), T3(v2)); } template < typename T1, typename T2 > static int int_cmp(T1 v1, T2 v2) { return v1 < 0 ? - 1 : int_cmp(v1, v2, T1( 0 ) + T2( 0 )); } }; template <> struct SafeIntCmpImpl < false , true > { template< typename T1, typename T2 > static int int_cmp(T1 v1, T2 v2) { return - SafeIntCmpImpl < true , false > ::int_cmp(v2, v1); } }; template < typename T1, typename T2 > int SafeIntCompare(T1 v1, T2 v2) { typedef std::numeric_limits < T1 > M1; typedef std::numeric_limits < T2 > M2; static const bool is_arg_valid = M1::is_integer & M2::is_integer; Assert < is_arg_valid > (); return SafeIntCmpImpl < M1::is_signed, M2::is_signed > ::int_cmp(v1, v2); } 浣嗕笂闈㈢殑鍐欐硶鏈変竴涓棶棰橈細濡傛灉涓涓?short鍜屼竴涓猽nsigned char榪涜姣旇緝錛岀紪璇戝櫒閮芥槸杞負int榪涜姣旇緝錛屾病鏈夊繀瑕佽繘琛岀壒孌婂鐞嗭紙涓婇潰鐨勪唬鐮佸鐞嗗悗浼氬涓涓笌0鐨勬瘮杈冿級銆傚疄闄呬笂錛屽鏋滀袱涓被鍨嬮兘鏄漿涓烘湁絎﹀彿綾誨瀷錛屽彲浠ョ洿鎺ヨ繘琛屾瘮杈冦?/div>鏈緇堜唬鐮侊細
template< typename T > struct IsSigned { static const bool value = T( - 1 ) < T( 0 ); }; template < bool > struct Assert {}; template <> struct Assert < false > ; template < int > struct Type {}; typedef Type < 0 > TagNormal; typedef Type < 1 > TagFirstArgIsSigned; typedef Type < 2 > TagSecondArgIsSigned; template < typename T1, typename T2, typename T3 > int SafeIntCompare(T1 v1, T2 v2, T3, TagNormal) { if (v1 < v2) return - 1 ; if (v1 == v2) return 0 ; return 1 ; } template < typename T1, typename T2, typename T3 > int SafeIntCompare(T1 v1, T2 v2, T3 v3, TagFirstArgIsSigned) { if (v1 < 0 ) return - 1 ; return SafeIntCompare(T3(v1), T3(v2), v3, TagNormal()); } template < typename T1, typename T2, typename T3 > int SafeIntCompare(T1 v1, T2 v2, T3 v3, TagSecondArgIsSigned) { if (v2 < 0 ) return 1 ; return SafeIntCompare(T3(v1), T3(v2), v3, TagNormal()); } template < typename T1, typename T2, typename T3 > int SafeIntCompare(T1 v1, T2 v2, T3 v3) { typedef std::numeric_limits < T1 > M1; typedef std::numeric_limits < T2 > M2; typedef std::numeric_limits < T3 > M3; static const bool is_arg_valid = M1::is_integer & M2::is_integer; Assert < is_arg_valid > (); static const int type_idx = M3::is_signed ? 0 : (M1::is_signed + M2::is_signed * 2 ) % 3 ; return SafeIntCompare(v1, v2, v3, Type < type_idx > ()); } template < typename T1, typename T2 > int SafeIntCompare(T1 v1, T2 v2) { return SafeIntCompare(v1, v2, T1( 0 ) + T2( 0 )); }
]]>
闈㈣瘯棰樼簿瑙?鐩綍 http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168270.htmlflyinghearts flyinghearts Sun, 18 Mar 2012 14:24:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168270.html http://m.shnenglu.com/flyinghearts/comments/168270.html http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168270.html#Feedback 0 http://m.shnenglu.com/flyinghearts/comments/commentRss/168270.html http://m.shnenglu.com/flyinghearts/services/trackbacks/168270.html 鐩?nbsp; 褰?/div>
1 姹備簩鍙夋爲涓浉璺濇渶榪滅殑涓や釜鑺傜偣涔嬮棿鐨勮窛紱?br /> 2 鍒ゆ柇浜屽弶鏍戞槸鍚﹀鉤琛′簩鍙夋爲
3 鎸囧畾浜屽弶鏍戯紝緇欏畾涓よ妭鐐規眰鍏舵渶榪戝叡鍚岀埗鑺傜偣
4 浜屽弶鏍戠殑騫垮害閬嶅巻銆侀愬眰鎵撳嵃浜屽弶鏍戣妭鐐規暟鎹佸彧鎵撳嵃鏌愬眰鑺傜偣鏁版嵁
5 鍦ㄤ簩鍙夋爲涓壘鍑哄拰錛堝彾瀛愬埌鏍硅妭鐐硅礬寰勪笂鐨勬墍鏈夎妭鐐圭殑鏁版嵁鍜岋級涓烘寚瀹氬肩殑鎵鏈夎礬寰勩?br /> 6 灝嗕簩鍙夋煡鎵炬爲杞負鏈夊簭鐨勫弻閾捐〃
7 姹備簩鍙夋爲鐨勯暅鍍?br /> 8 浜屽弶鏍戝墠搴忋佷腑搴忋佸悗搴忛亶鍘嗙殑闈為掑綊瀹炵幇
9 姹備簩鍙夋爲楂樺害鐨勯潪閫掑綊瀹炵幇
10 榪炴帴浜屽弶鏍戝悓涓灞備笂鐨勭粨鐐?/div>
1 鍦ㄤ竴涓瓧絎︿覆涓壘鍒扮涓涓彧鍑虹幇涓嬈$殑瀛楃錛屽杈撳叆abac錛屽垯杈撳嚭b銆?br /> 2 杈撳嚭瀛楃涓茬殑鎵鏈夌粍鍚堬紝濡?abc"杈撳嚭a銆乥銆乧銆乤b銆乤c銆乥c銆乤bc銆?br /> 3 鏍規嵁鏉′歡鎵懼嚭涓や釜鏁般?br /> ① 鏁扮粍涓紝闄や簡涓や釜鏁板瓧鍑虹幇濂囨暟嬈″錛屽叾瀹冩暟瀛楅兘鍑虹幇鍋舵暟嬈★紝鎵懼嚭榪欎袱涓暟瀛楋細 ② 闀垮害涓簄鐨勬暟緇勶紝鐢辨暟瀛?鍒皀緇勬垚錛屽叾涓暟瀛梐涓嶅嚭鐜幫紝鏁板瓧b鍑虹幇涓ゆ錛屽叾瀹冪殑鏁板瓧鎭板ソ鍑虹幇涓嬈°?br /> 鍦ㄤ笉淇敼鍘熸暟緇勭殑鎯呭喌涓嬶紝鎵懼嚭鏁板瓧a鍜屾暟瀛梑銆?br /> 4 姹傛暟緇勶紙鎴栫幆鐘舵暟緇勶級鐨勬渶澶ц繛緇紙鎴栦笉榪炵畫錛夊瓙搴忓垪鍜屻?br />
]]>
闈㈣瘯棰樼簿瑙d箣浜岋細 瀛楃涓層佹暟緇勶紙1錛?/title> http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168269.htmlflyinghearts flyinghearts Sun, 18 Mar 2012 13:28:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168269.html http://m.shnenglu.com/flyinghearts/comments/168269.html http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168269.html#Feedback 2 http://m.shnenglu.com/flyinghearts/comments/commentRss/168269.html http://m.shnenglu.com/flyinghearts/services/trackbacks/168269.html 闃呰鍏ㄦ枃 ]]> 閬垮厤璁$畻榪囩▼涓嚭鐜版孩鍑虹殑涓涓妧宸?/title> http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168267.htmlflyinghearts flyinghearts Sun, 18 Mar 2012 13:16:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168267.html http://m.shnenglu.com/flyinghearts/comments/168267.html http://m.shnenglu.com/flyinghearts/archive/2012/03/18/168267.html#Feedback 1 http://m.shnenglu.com/flyinghearts/comments/commentRss/168267.html http://m.shnenglu.com/flyinghearts/services/trackbacks/168267.html
鍏堢湅涓閬撻潰璇曢錛?/span>
闀垮害涓?/span> n 鐨勬暟緇勶紝鐢辨暟瀛?/span> 1 鍒?/span> n 緇勬垚錛屽叾涓暟瀛?/span> a 涓嶅嚭鐜幫紝鏁板瓧 b 鍑虹幇涓ゆ錛屽叾瀹冪殑鏁板瓧鎭板ソ鍑虹幇涓嬈°傛庢牱閫氳繃鍙閬嶅巻涓嬈℃暟緇勶紝鎵懼嚭鏁板瓧 a 鍜?/span> b 銆?/span>
鐢變簬鍙兘閬嶅巻涓嬈★紝鍦ㄩ亶鍘嗘暟緇?/span>arr鏃訛紝綆楀嚭 a鍜?/span>b鐨勫樊鍊鹼紝浠ュ強 a鍜?/span>b鐨勫鉤鏂瑰樊錛岄氳繃瑙f柟紼嬶紝鍗沖彲姹傚緱 a鍜?/span>b銆傚叿浣撳仛娉曚負錛?/span>
璁撅細
s1 = 1 + 2 + ... + n (= n * (n + 1) / 2)
s2 = arr[0] + arr[1] + ... + arr[n - 1]
r1 = 1 + 4 + ... + n^2 (= n * (n + 1) * (2 * n + 1) / 6)
r2 = arr[0]^2 + arr[1]^2 + ... + arr[n - 1]^2
c = a - b = s1 - s2
d = a^2 - b^2 = r1 - r2
鏄劇劧錛?/span> a + b = (r1 - r2) / (s1 - s2)
鏍規嵁 a+b鐨勫煎拰 a-b鐨勫鹼紝寰堝鏄撳氨鍙畻鍑?/span>a鍜?/span>b銆?/span>
綆楁硶铏界劧綆鍗曪紝浣嗗疄鐜拌搗鏉ワ紝鍗存湁涓涓緢澶ч棶棰橈細璁$畻 s1銆?/span>s2銆?/span>r1銆?/span>r2榪?/span>4涓暟鏃訛紝璁$畻榪囩▼涓彲鑳藉嚭鐜版孩鍑猴紝閫犳垚緇撴灉涓嶅噯銆傜敱浜庢渶緇堢洰鐨勬槸涓轟簡璁$畻鍑?/span>c鍜?/span>d錛屼竴涓敼榪涚殑鏂規硶鏄細
c = s1 - s2 = (1 - arr[0]) + (2 - arr[1]) + ... + (n - arr[n - 1])
d = (1 - arr[0]^2) + (4 - arr[1]^2) + ... + (n^2 - arr[n - 1]^2)
浣嗚繖鏍風殑鍋氭硶錛屽茍涓嶈兘瑙e喅闂錛?/span>n紼嶅井澶х偣錛岀収鏍峰瓨鍦ㄦ孩鍑洪棶棰樸?/span>
閭d箞鎬庢牱鎵嶈兘閬垮厤璁$畻婧㈠嚭鍛紵絳旀寰堢畝鍗曪紝鐢ㄦā榪愮畻錛?/span> 姣忚繘琛屼竴嬈″姞鍑忚繍綆楁椂錛岄兘鍙栫粨鏋滀負鍘熺粨鏋滈櫎浠ヤ竴涓凍澶熷ぇ鐨勫父鏁?/span>M鐨勪綑鏁般傝繖鏍峰姞鍑忚繍綆椾腑錛屽氨涓嶄細鐜扮幇婧㈠嚭闂銆傛渶鍚庡啀鐢?/span> c % M銆?/span>d % M錛屾帹嫻嬪嚭 c銆?/span>d鐨勫叿浣撳箋傛瘮濡傝錛岃綆?/span>s2鏀逛負璁$畻錛?/span>
s2 % M = ((((arr[0] % M) + arr[1]) % M + ...) % M + arr[n - 1]) %M
浠庤〃闈笂鐪嬶紝閲囩敤妯¤繍綆楀悗錛岃綆楅噺浼氬鍔犲緢澶氥備絾瀹為檯涓婏紝鑻?/span>M鍙栧悎閫傜殑鍊兼椂錛岃綆楅噺騫朵笉浼氬鍔狅紒錛?/span>
鍏堝洖欏句笅璁$畻鏈哄熀鏈煡璇嗭細涓や釜鍚?/span>N浣嶏紙瀵勫瓨鍣ㄤ負 N浣嶏級鐨勪簩榪涘埗鏃犵鍙鋒暣鏁?/span>a鍜?/span>b鐩稿姞錛岃嫢緇撴灉婧㈠嚭浜嗭紝 CPU浼氭庝箞澶勭悊錛熷綋鐒舵槸灝嗘孩鍑虹殑閭d竴浣嶅拷鐣ユ帀錛堝彲鑳借繕瑕佽緗笅婧㈠嚭鏍囧織錛夛紝寰楀埌鐨勭粨鏋滃疄闄呬笂鏄細 (a + b) mod 2^N銆?strong>鏃犵鍙鋒暟闂寸殑綆楁湳榪愮畻錛屾湰璐ㄤ笂灝辨槸妯¤繍綆?/span>銆傜幇鍦ㄧ殑 CPU閮?strong>閲囩敤浜岃ˉ鏁版潵琛ㄧず璐熸暣鏁幫紝鏈川涓婁篃鏄繍鐢ㄦā榪愮畻 錛堟暀縐戜功灝嗕簩琛ユ暟琛ㄧず鐨勮礋鏁存暟綆鍗曞畾涔変負錛氬姝f暣鏁板彇鍙嶅悗鍔?/span>1錛夛紝榪欎笌鏃犵鍙鋒暟闂寸殑榪愮畻鏄竴鑷寸殑錛屽湪瀹炵幇涓婏紝姣旂敤鍏跺畠鏂規硶錛堟瘮濡傝涓琛ユ暟錛夎〃紺鴻礋鏁存暟錛岃浼樼編鏄撳疄鐜般?/span>
鍦?/span>32浣嶅鉤鍙頒笅錛?/span> -x mod 2^32 = 2^32 – x (x > 0) 錛?/span>
鍥犺?/span>-1鐨勪簩榪涘埗琛ㄧず灝辨槸錛?/span>0xFFFFFFFF
浜嗚В浜嗚繖浜涳紝灝變笉浼氬鎬?/span>C/C++鏍囧噯鐨勮瀹氾細鏃犵鍙鋒暟闂寸殑榪愮畻鏄ā榪愮畻涓嶄細婧㈠嚭錛涙湁絎﹀彿鏁拌漿涓烘棤絎︽暟錛岄噰鐢ㄦā榪愮畻鍚庣殑鍊箋傦紙涓轟簡鍏煎娌¢噰鐢ㄤ簩琛ユ暟鐨勬満鍣紝鏃犵鍙鋒暟杞負鏈夌鍙鋒暟鏃訛紝鑻ユ棤絎﹀彿鏁扮殑鏁板艱秴鍑轟簡鏈夌鍙鋒暟鍙〃紺虹殑鑼冨洿錛岀粨鏋滄槸騫沖彴鐩稿叧鐨勩傦級
鍥犺岋紝鍦ㄥ 32浣?/span>CPU騫沖彴錛屽彲浠ュ厛灝嗘湁絎﹀彿鏁拌漿涓烘棤絎﹀彿鏁幫紝鍐嶅彇 M = 2 ^32銆傞渶瑕佺壒鍒敞鎰忕殑鏄紝搴旇閲囩敤澶氬皯浣嶇殑鏃犵鍙鋒暟淇濆瓨璁$畻涓敤鍒扮殑鏁板鹼紝濡備綍閬垮厤妯¤繍綆楀彲鑳藉甫鏉ョ殑闂錛?/span>
①銆鏃犵鍙鋒暟綾誨瀷鐨勯夋嫨錛?/span>
a銆?/span>b鐨勫彇鍊艱寖鍥翠負錛?/span>[1, n]錛?/span>
c % M = (a - b) % M 鐨勫彇鍊艱寖鍥翠負錛?/span>[1, n] (a > b鏃?/span>)錛?/span> [M - n, M - 1] (a < b 鏃?/span>)
榪欎袱涓寖鍥翠笉鑳介噸鍙狅紝鑰屽洜 n < M - n 鍗?/span> 2 * n < M
鑻?/span> M鍙?/span>2^32鐨勮瘽錛屼笖 n < 2^31 錛?/span> 鍙互閲囩敤 32浣嶆棤絎﹀彿鏁拌〃紺?/span>c鐨勫箋?/span>
鏍規嵁 c % M鍊煎湪鍝竴涓寖鍥達紝鍙互紜畾 a > b榪樻槸 a < b錛?/span>
鐢變簬榪愮畻榪囩▼涓兘鏄噰鐢ㄦ棤絎﹀彿鏁拌綆楋紝褰?/span> a < b鏃訛紝蹇呴』榪涜濡備笅璋冩暣錛?/span>
c % M 璋冩暣涓?/span> (-c) % M
d % M 璋冩暣涓?/span> (-d) % M
榪欐牱鎵嶈兘淇濊瘉緇撴灉鐨勬紜с?/span>
② 鐢ㄥ叕寮忚綆楁墍鏈夋暟瀛楃殑鍜屻佸鉤鏂瑰拰鏃訛紝鍙兘鍑虹幇鐨勯棶棰橈細
妯¤繍綆楁弧瓚籌細 (a * b) % M = ((a % M) * (b % M)) % M
浣?strong>涓嶆弧瓚?/strong>錛?/span> (a / b) % M = ((a % M) / (b % M)) % M
鍦ㄨ綆?/span> (n * (n + 1) / 2) % M鏃訛紝 涓嶈兘鍐欐垚錛?/span>
s = ((n * (n + 1)) % M / 2) % M 錛?/span>
鑰屽簲璇ュ啓鎴愶細
if (n % 2 == 0) s = ((n / 2) * (n + 1)) % M
else s = (((n + 1) / 2) * n) % M
鎴栬咃細 s = (INT((n + 1) / 2) * (n + (n + 1) % 2)) % M 錛堝叾涓?/span>INT(x)涓哄彇灝忔暟 x鐨勬暣鏁伴儴浠斤級銆?/span>
瀹屾暣浠g爜錛?/span>
#include < climits > #include < cassert > #define SMALL_ARRAY 0 struct Pair { int zero; int twice; }; // 32浣岰PU騫沖彴錛岄暱搴涓瀹氬皬浜?^16嬈℃柟鏃訛紝琛ㄧず涓涓暟鐨勫鉤鏂瑰鹼紝鍙敤32浣嶆棤絎﹀彿鏁扮被鍨嬶紝鏁堢巼寰堥珮銆?br /> // 闀垮害n鑻ュ湪[2^16, 2^31]鍖洪棿錛屽氨蹇呴』鐢ㄥ埌64浣嶆棤絎﹀彿鏁扮被鍨嬶紝鏁堢巼杈冮珮銆?br /> // 闀垮害n鑻ュ湪[2^31, 2^32)鏃訛紝琛ㄧず 鎵鏈夋暟鐨勫拰sum錛屽氨蹇呴』鏀圭敤64浣嶆棤絎﹀彿鏁扮被鍨嬶紝鏁堢巼涓嶉珮銆?nbsp; Pair find_number( const int arr[], unsigned len) { const unsigned bits = CHAR_BIT * sizeof (unsigned); #if SMALL_ARRAY const unsigned max_len = 1u << (bits / 2u ); typedef unsigned int uint ; #else const unsigned max_len = 1u << (bits - 1 ); typedef unsigned long long uint ; #endif assert(arr && len >= 2 && len < max_len); const unsigned * const data = ( const unsigned * )arr; unsigned sum = 0 ; uint square_sum = 0 ; for (unsigned i = 0 ; i < len; ++ i) { const unsigned value = data[i]; sum += value; square_sum += ( uint )value * value; // 娉ㄦ剰涓や釜鏁扮殑涔樼Н鏄惁浼氭孩鍑?nbsp; } // 1 + 2 + 3 + + len = len * (len + 1) / 2 const uint sum_all = (len + 1 ) / 2u * ( uint )(len + (len + 1 ) % 2u ); // 1^2 + 2^2 + 3^2 + + len^2 = len * (len + 1) * (2 * len + 1) / 6 const unsigned len2 = 2u * len + 1 ; const uint square_sum_all = len2 % 3u == 0 ? len2 / 3u * sum_all : sum_all / 3u * len2; unsigned difference = (unsigned)sum_all - sum; uint square_difference = square_sum_all - square_sum; const bool is_negative = difference > INT_MAX; if (is_negative) { difference = - difference; square_difference = - square_difference; } assert(difference != 0 && square_difference % difference == 0 ); const unsigned sum_two = square_difference / difference; assert((sum_two + difference) % 2u == 0 ); const unsigned larger = (sum_two + difference) / 2u ; const unsigned smaller = (sum_two - difference) / 2u ; if (is_negative) { const Pair result = { smaller, larger}; return result; } const Pair result = { larger, smaller}; return result; } int main() { } ]]> Fibonacci鏁拌綆椾腑鐨勪袱涓濈淮鐩茬偣鍙婂叾鎵╁睍鏁板垪鐨勯氱敤楂樻晥瑙f硶 http://m.shnenglu.com/flyinghearts/archive/2012/02/28/166717.htmlflyinghearts flyinghearts Tue, 28 Feb 2012 14:14:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/02/28/166717.html http://m.shnenglu.com/flyinghearts/comments/166717.html http://m.shnenglu.com/flyinghearts/archive/2012/02/28/166717.html#Feedback 11 http://m.shnenglu.com/flyinghearts/comments/commentRss/166717.html http://m.shnenglu.com/flyinghearts/services/trackbacks/166717.html 闃呰鍏ㄦ枃 ]]> 闈㈣瘯棰樼簿瑙d箣涓錛?浜屽弶鏍?/title> http://m.shnenglu.com/flyinghearts/archive/2012/02/28/166713.htmlflyinghearts flyinghearts Tue, 28 Feb 2012 12:54:00 GMT http://m.shnenglu.com/flyinghearts/archive/2012/02/28/166713.html http://m.shnenglu.com/flyinghearts/comments/166713.html http://m.shnenglu.com/flyinghearts/archive/2012/02/28/166713.html#Feedback 3 http://m.shnenglu.com/flyinghearts/comments/commentRss/166713.html http://m.shnenglu.com/flyinghearts/services/trackbacks/166713.html 闃呰鍏ㄦ枃 ]]> 鍠濇苯姘撮棶棰?/title> http://m.shnenglu.com/flyinghearts/archive/2011/09/23/156635.htmlflyinghearts flyinghearts Fri, 23 Sep 2011 11:45:00 GMT http://m.shnenglu.com/flyinghearts/archive/2011/09/23/156635.html http://m.shnenglu.com/flyinghearts/comments/156635.html http://m.shnenglu.com/flyinghearts/archive/2011/09/23/156635.html#Feedback 7 http://m.shnenglu.com/flyinghearts/comments/commentRss/156635.html http://m.shnenglu.com/flyinghearts/services/trackbacks/156635.html 鍠濇苯姘撮棶棰?/span>
by flyinghearts
鏈?/span> 1000 鐡舵苯姘達紝鍠濆畬鍚庢瘡 3 涓┖鐡惰兘鎹?/span> 1 鐡舵苯姘達紝闂渶鍚庢渶澶氬彲浠ュ枬鍑犵摱姹芥按錛屾鏃跺墿浣欏嚑涓┖鐡訛紵
涓嶅Θ鍋囪錛屽叡鏈?/span>n 鐡舵苯姘達紝姣?/span>a 涓┖鐡惰兘鎹?/span>b 鐡舵苯姘達紙 a > b錛夈?/span> 鍒氬紑濮嬫湁 n鐡舵苯姘達紝鍠濆畬鍚庡氨鏈?/span>n涓┖鐡訛紝澶氬枬鐨勬苯姘存槸闈犵┖鐡舵崲鏉ョ殑錛?strong>姣忚繘琛屼竴嬈$┖鐡舵崲姹芥按錛屽氨鑳藉鍠?/span> b 鐡舵苯姘淬佺┖鐡舵暟鐩氨鍑忓皯浜?/span>a-b 涓?/span> 錛?/span>a涓┖鐡舵崲浜?/span>b鐡舵苯姘達紝鍠濆畬鍚庡緱鍒?/span>b涓┖鐡訛級銆?/span>
(涓嬮潰鐢?/strong> [x] 琛ㄧず x鐨勬暣鏁伴儴鍒?/span> )
1 濡傛灉鍏佽浠庡埆澶勶紙鑰佹澘鎴栧叾浠栭【瀹㈠錛夊熺┖鐡訛紙褰撶劧錛屾湁鍊熸湁榪橈級
絀虹摱鎹㈡苯姘存鏁幫細 [n / (a - b)]
鏈鍚庡墿浣欑┖鐡訛細 n % (a - b)
鎬誨叡鍙互鍠濆埌姹芥按錛?/span> n + [n / (a - b)] * b
2 涓嶅厑璁稿熺┖鐡?/span>
絀虹摱鎹㈡苯姘磋繃紼嬩腑錛?strong>涓浣嗙┖鐡舵暟灝忎簬 a 錛屽垯鍋滄浜ゆ崲銆?/span>
瀵?/span> n < a錛屾樉鐒訛紝絀虹摱鎹㈡苯姘存鏁頒負 0錛屾誨叡鍙互鍠濆埌姹芥按 n鐡訛紝鏈鍚庡墿浣欑┖鐡?/span>n涓?/span>
瀵?/span> n >= a錛氾紙涓嬮潰鎻愪緵涓夌瑙f硶錛?/span>
瑙f硶涓 絀虹摱鎹㈡苯姘存鏁?/span>k絳変簬婊¤凍 n – (a-b)*t < a鐨勬渶灝忛潪璐熸暣鏁?/span>t:
t > (n-a)/(a-b)錛屾渶灝忕殑 t涓?/span> [(n-a)/(a-b)] + 1 = [(n-b)/(a-b)]
鍓╀綑鐨勭┖鐡舵暟錛?/span>n – (a-b)*t
= n – (a-b)*([(n-b)/(a-b)])
= b + (n-b) - (a-b)*([(n-b)/(a-b)])
= b + (n-b)%(a-b)
瑙f硶浜?/span> 鍏堥鐣?/span>a涓┖鐡訛紝灝嗗墿浣欑殑 n-a涓┖鐡惰繘琛屾崲姹芥按錛屾崲鐨勮繃紼嬩腑錛岃嫢絀虹摱涓嶅 a涓紝鍒欎粠棰勭暀鐨?/span>a涓┖鐡朵腑“鍊?#8221;錛屽洜鑰岋紝
絀虹摱鎹㈡苯姘存鏁幫細 [(n-a)/(a-b)] + 1 = [(n-b)/(a-b)]錛堥鐣欑殑 a涓┖鐡朵篃鑳芥崲涓嬈★級
鏈鍚庡墿浣欑┖鐡訛細 (n-b) % (a-b) + b錛堥鐣欑殑 a涓┖鐡舵崲寰?/span>b鐡舵苯姘達級
瑙f硶涓?/span> 鏈鍚庝竴嬈$┖鐡舵崲姹芥按寰楀埌鐨?/span>b鐡舵苯姘達紝鍠濆畬鍚庡緱鍒?/span>b涓┖鐡訛紝鍥犺屾渶鍚庡墿浣欑┖鐡舵暟蹇呯劧澶т簬 b涓紝鍏堥鐣?/span>b涓┖鐡訛紝灝嗗墿浣欑殑 n-b涓┖鐡惰繘琛屾崲姹芥按錛岃嫢絀虹摱涓嶅 a涓紝鍒欎粠棰勭暀鐨?/span>b涓┖鐡朵腑“鍊?#8221;錛堢敱浜庤兘榪涜絀虹摱鎹㈡苯姘達紝絀虹摱鏁?/span>>= a – b錛屽洜鑰?#8220;鍊?#8221;瀹屽悗錛屽彲浠ヤ繚璇佺┖鐡舵暟澶х瓑浜?/span>a錛夛紝
絀虹摱鎹㈡苯姘存鏁幫細 [(n-b)/(a-b)]錛?/span>
鏈緇堝墿浣欑┖鐡舵暟錛?/span>b + (n-b) % (a-b)
錛堝瑙f硶涓夛紝 n>=b鏃剁粨璁烘垚绔嬶紝瀵硅В娉曚竴銆佷簩錛屽彲浠ラ獙璇?/span>n >=b鏃訛紝緇撹涔熸垚绔嬶級
鍥犺岋紝瀵?/span> n >= b
絀虹摱鎹㈡苯姘存鏁幫細 [(n-b)/(a-b)]
鏈鍚庡墿浣欑┖鐡訛細 b + (n-b) % (a-b)
鎬誨叡鍙互鍠濆埌姹芥按錛?/span> n + [(n-b)/(a-b)] * b
瀵瑰師棰橈細
n = 1000 錛?/span>a = 3, b = 1錛?/span> a – b = 2
鑻ュ厑璁稿熺┖鐡?/span>
鍙互鍠濆埌姹芥按錛?/span> 1000 + 1000 / 2 = 1500
鍓╀綑絀虹摱錛?/span>1000 % 2 = 0
鑻ヤ笉鍏佽鍊熺┖鐡?/span>
鍙互鍠濆埌姹芥按錛?/span> 1000 + (1000 - 1) / 2 = 1499錛?/span>
鍓╀綑絀虹摱錛?/span> 1 + (1000 - 1) % 2 = 2
]]> 涓夊浗蹇?鍓ф湰淇敼鍣?1.1 http://m.shnenglu.com/flyinghearts/archive/2011/08/07/152739.htmlflyinghearts flyinghearts Sun, 07 Aug 2011 15:24:00 GMT http://m.shnenglu.com/flyinghearts/archive/2011/08/07/152739.html http://m.shnenglu.com/flyinghearts/comments/152739.html http://m.shnenglu.com/flyinghearts/archive/2011/08/07/152739.html#Feedback 1 http://m.shnenglu.com/flyinghearts/comments/commentRss/152739.html http://m.shnenglu.com/flyinghearts/services/trackbacks/152739.html 緇欎互鍓嶅啓鐨勫墽鏈慨鏀瑰櫒錛屽姞浜嗕釜鐣岄潰錛屾湰鎯崇敤wtl錛屼絾鏄唬鐮佷腑鐢ㄥ埌涓嶅皯“鍒濆鍖栧垪琛?#8221;絳塩++11鏂扮壒鎬э紝鍙ソ璁¬C2010闈犺竟绔欎簡銆傚mingw錛屽ソ鐢ㄧ殑gui搴撹繕鐪熸病鏈夛紝鎯蟲兂灝卞崄鍑犱釜娑堟伅錛屽共鑴嗙洿鎺ヨ皟鐢╳indows api寰椾簡銆?br /> ]]> 瀵圭幆鐘舵暟緇勬眰榪炵畫瀛愭暟緇勭殑鏈澶у拰 http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151513.htmlflyinghearts flyinghearts Wed, 20 Jul 2011 15:49:00 GMT http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151513.html http://m.shnenglu.com/flyinghearts/comments/151513.html http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151513.html#Feedback 2 http://m.shnenglu.com/flyinghearts/comments/commentRss/151513.html http://m.shnenglu.com/flyinghearts/services/trackbacks/151513.html
鎬濊礬錛氱敱浜庢暟緇勫厓绱犳誨拰鏄浐瀹氬鹼紝鍥犺岃法澶淬佸熬鐨勮繛緇瓙鏁扮粍鍜屾渶澶э紝絳変環浜庢眰 涓棿閭f鍜屾渶灝忋傚洜姝わ紝闂杞負璁$畻 榪炵畫瀛愭暟緇勭殑鏈澶у拰 涓?榪炵畫瀛愭暟緇勭殑鏈灝忓拰
import std . algorithm ;
int ring_max_continue_sum ( in int [] src )
{
int min_sum = src [ 0 ], cur_min_sum = min_sum ;
int max_sum = src [ 0 ], cur_max_sum = max_sum ;
int total_sum = src [ 0 ];
foreach ( value ; src [ 1 .. $ ]) {
cur_min_sum = min ( value , cur_min_sum + value );
min_sum = min ( min_sum , cur_min_sum );
cur_max_sum = max ( value , cur_max_sum + value );
max_sum = max ( max_sum , cur_max_sum );
total_sum += value ;
}
return max ( max_sum , total_sum - min_sum );
}
unittest {
auto ta = [ 3 , - 2 , 3 ];
auto tb = [ 3 , 4 , - 2 , 3 , - 7 , 1 , - 3 , 8 ];
assert ( ta . ring_max_continue_sum == 6 );
assert ( tb . ring_max_continue_sum == 16 );
}
void main ()
{
}
]]>鏈鐭憳瑕佺殑鐢熸垚錛堣ˉ鍏咃級 http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151511.htmlflyinghearts flyinghearts Wed, 20 Jul 2011 15:39:00 GMT http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151511.html http://m.shnenglu.com/flyinghearts/comments/151511.html http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151511.html#Feedback 0 http://m.shnenglu.com/flyinghearts/comments/commentRss/151511.html http://m.shnenglu.com/flyinghearts/services/trackbacks/151511.html 闃呰鍏ㄦ枃 ]]> Fibonacci鏁板垪鐨勪袱縐峅(lgn)瑙f硶 http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151510.htmlflyinghearts flyinghearts Wed, 20 Jul 2011 15:30:00 GMT http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151510.html http://m.shnenglu.com/flyinghearts/comments/151510.html http://m.shnenglu.com/flyinghearts/archive/2011/07/20/151510.html#Feedback 0 http://m.shnenglu.com/flyinghearts/comments/commentRss/151510.html http://m.shnenglu.com/flyinghearts/services/trackbacks/151510.html import std . stdio : writef ;
uint fib_matrix ( uint num ) // 鐭╅樀娉曟眰fibonacci鏁?/span>
{
if ( num <= 1 ) return num ;
-- num ;
uint ret = 1 , next = 1 ;
for ( uint a = 1 , b = 0 ; num != 0 ; num >>= 1 ) {
if ( num & 1 ) {
auto tmp = next ;
next = ( a + b ) * next + a * ret ;
ret = a * tmp + b * ret ;
}
auto tmp = a ;
a = a * ( a + 2 * b );
b = b * b + tmp * tmp ;
}
return ret ;
}
uint fib ( uint num )
{
if ( num <= 1 ) return num ;
uint left_most_one = num ; // 灝忕瓑浜巒um鐨勬渶澶?鐨刱嬈″箓
for ( uint value = num ; value &= ( value - 1 ); ) left_most_one = value ;
uint ret = 1 , next = 1 ;
while ( left_most_one >>= 1 ) {
if ( num & left_most_one ) {
auto tmp = ret ;
ret = ret * ret + next * next ;
next = ( tmp * 2 + next ) * next ;
} else {
auto tmp = ret ;
ret = ( next * 2 - ret ) * ret ;
next = tmp * tmp + next * next ;
}
}
return ret ;
}
uint fib_basic ( uint num )
{
if ( num <= 1 ) return num ;
uint prev = 0 , current = 1 ;
for ( uint i = 2 ; i <= num ; ++ i ) {
auto tmp = prev ;
prev = current ;
current += tmp ;
}
return current ;
}
unittest {
foreach ( i ; 0 .. 48 ) {
auto a = fib_basic ( i ), b = fib_matrix ( i ), c = fib ( i );
if ( a != b || a != c )
writef( "%s %s %s %s\n" , i , a , b , c );
}
}
void main ()
{
}
]]> VC 2010銆error D8027錛屾棤娉曟墽琛宑1xx.dll鐨勮В鍐蟲柟娉?/title> http://m.shnenglu.com/flyinghearts/archive/2011/07/19/151417.htmlflyinghearts flyinghearts Tue, 19 Jul 2011 14:07:00 GMT http://m.shnenglu.com/flyinghearts/archive/2011/07/19/151417.html http://m.shnenglu.com/flyinghearts/comments/151417.html http://m.shnenglu.com/flyinghearts/archive/2011/07/19/151417.html#Feedback 2 http://m.shnenglu.com/flyinghearts/comments/commentRss/151417.html http://m.shnenglu.com/flyinghearts/services/trackbacks/151417.html 銆銆鏅氫笂鎯寵窇涓▼搴忥紝緇撴灉VC 2010澶翠竴嬈$艦宸ワ細銆
cl: 鍛戒護琛?error D8027 :鏃犳硶鎵ц“E:\prog\vc2010\bin\c1xx.dll”
涓婄綉鎼滅儲浜嗕笅錛屼篃娌℃壘鍒頒竴涓В鍐蟲柟娉曪紙
瀹樻柟璇存槑 錛夈傛閮侀椃鐫錛岀獊鐒墮棿鎯沖埌cl.exe鍙互姝e父榪愯錛岃宑1xx.dll涓嶈兘姝e父榪愯錛屼細涓嶄細鏄痗1xx.dll鐨勪緷璧栧簱鍑洪棶棰樹簡錛屼簬鏄皟鍑篸ependency涓鏌ワ紝鏋滅劧灝戜簡涓猰svcp100.dll錛堜及璁℃槸鏌愪釜鍗歌澆杞歡閫犳垚鐨勶級錛屼粠鍒鎷瘋礉涓涓埌bin鐩綍錛岄棶棰樿В鍐熾?br />
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
久久另类ts人妖一区二区 |
亚洲精品视频在线观看网站
|
亚洲欧美综合另类中字 |
久久久久久噜噜噜久久久精品 |
亚洲剧情一区二区 |
欧美成人精精品一区二区频 |
国产在线高清精品 |
性欧美精品高清 |
99精品久久 |
日韩性生活视频 |
欧美风情在线 |
午夜精品一区二区三区在线视 |
欧美日韩国产在线一区 |
日韩视频免费 |
亚洲精品四区 |
欧美体内谢she精2性欧美 |
亚洲一二三区视频在线观看 |
9国产精品视频 |
欧美视频网址 |
亚洲欧美在线磁力 |
亚洲女女女同性video |
国产精品你懂的在线 |
性久久久久久久久久久久 |
亚洲欧美综合精品久久成人 |
久久成人国产 |
另类综合日韩欧美亚洲 |
樱桃视频在线观看一区 |
欧美国产国产综合 |
欧美不卡视频一区 |
亚洲第一区在线观看 |
男同欧美伦乱 |
欧美精品久久99 |
亚洲视频欧美视频 |
在线综合+亚洲+欧美中文字幕 |
国产精品av久久久久久麻豆网 |
国产精品99久久久久久宅男 |
亚洲小少妇裸体bbw |
国产欧美另类 |
欧美wwwwww |
亚洲在线免费观看 |
狠狠久久五月精品中文字幕 |
欧美成人伊人久久综合网 |
欧美成人亚洲成人日韩成人 |
亚洲午夜黄色 |
欧美一级午夜免费电影 |
亚洲电影欧美电影有声小说 |
亚洲黑丝在线 |
国产精品日韩电影 |
国产一区二区三区不卡在线观看 |
欧美不卡高清 |
国产精品v欧美精品∨日韩 |
久久aⅴ国产紧身牛仔裤 |
久久久久久久高潮 |
亚洲视频在线观看视频 |
欧美一级艳片视频免费观看 |
亚洲人成网站影音先锋播放 |
亚洲——在线 |
亚洲精一区二区三区 |
亚洲欧美日韩国产成人精品影院 |
亚洲观看高清完整版在线观看 |
亚洲视频日本 |
亚洲欧洲综合 |
欧美在线亚洲一区 |
亚洲图中文字幕 |
久久久久久久97 |
午夜激情综合网 |
欧美成人一品 |
噜噜噜噜噜久久久久久91 |
国产精品99免视看9 |
欧美激情亚洲综合一区 |
韩国v欧美v日本v亚洲v |
亚洲视频网在线直播 |
亚洲精品久久久久久久久久久久久
|
久久性天堂网 |
亚洲午夜久久久久久久久电影网 |
久久国产日韩欧美 |
亚洲专区一二三 |
欧美高清在线视频 |
久久人体大胆视频 |
国产精品毛片一区二区三区 |
欧美在线观看网站 |
国产精品成人国产乱一区 |
亚洲美女黄网 |
久久精品人人做人人综合
|
亚洲激情成人网 |
久久精品国产77777蜜臀 |
欧美一区二区女人 |
欧美午夜片欧美片在线观看 |
亚洲黄一区二区三区 |
亚洲国产成人精品女人久久久 |
欧美一区二区高清 |
久久精品2019中文字幕 |
国产精品永久入口久久久 |
亚洲视频一区在线观看 |
中文亚洲视频在线 |
欧美日韩午夜精品 |
亚洲精品久久久久 |
亚洲黄色天堂 |
欧美大片va欧美在线播放 |
亚洲第一精品夜夜躁人人爽 |
亚洲国产精品一区二区www |
久久婷婷国产综合国色天香 |
美国成人直播 |
最新国产の精品合集bt伙计 |
男人的天堂成人在线 |
亚洲福利视频专区 |
日韩特黄影片 |
欧美日韩综合另类 |
亚洲视频1区2区 |
欧美中文字幕 |
伊人色综合久久天天五月婷 |
麻豆免费精品视频 |
91久久夜色精品国产网站 |
9l国产精品久久久久麻豆 |
欧美日韩极品在线观看一区 |
宅男精品视频 |
久久久久久日产精品 |
亚洲福利视频二区 |
欧美精品七区 |
亚洲综合欧美 |
欧美 日韩 国产一区二区在线视频
|
欧美激情第10页 |
99爱精品视频 |
久久黄色级2电影 |
亚洲福利电影 |
欧美体内谢she精2性欧美 |
午夜一区在线 |
亚洲风情亚aⅴ在线发布 |
亚洲一二区在线 |
影音先锋久久精品 |
欧美日韩另类综合 |
久久成人这里只有精品 |
亚洲黄色高清 |
久久精品av麻豆的观看方式
|
久热精品视频在线观看一区 |
亚洲精品国产欧美 |
国产日韩欧美精品一区 |
欧美韩日视频 |
欧美一区二区视频在线观看 |
亚洲剧情一区二区 |
伊人春色精品 |
亚洲成人自拍视频 |
久久精品一区四区 |
亚洲风情亚aⅴ在线发布 |
欧美jjzz |
欧美有码在线观看视频 |
亚洲人成在线播放 |
久久一区二区三区超碰国产精品 |
亚洲视频播放 |
亚洲欧洲午夜 |
国产一区二区三区不卡在线观看 |
欧美激情一区二区三区在线视频
|
六十路精品视频 |
日韩一区二区精品 |
免费成人小视频 |
欧美一区二区在线视频 |
亚洲久色影视 |
国产午夜精品一区二区三区欧美 |
欧美日韩免费网站 |
久久精品91久久久久久再现 |
91久久久在线 |
亚洲国产欧美另类丝袜 |
欧美在线一二三区 |
一本久久综合 |
国产精品国产三级国产普通话99 |
欧美高清在线播放 |
欧美在线一二三四区 |
日韩一级在线观看 |
久久成人精品无人区 |
亚洲欧美成人一区二区在线电影 |
午夜精品久久久久 |
欧美在现视频 |
小处雏高清一区二区三区 |
亚洲国产一成人久久精品 |
国产欧美精品日韩区二区麻豆天美
|
亚洲影院免费观看 |
欧美私人啪啪vps |
欧美电影资源 |
尤物yw午夜国产精品视频 |
欧美三级电影大全 |
女女同性精品视频 |
久久国产精品久久久久久电车 |
亚洲最新中文字幕 |
亚洲国产精品热久久 |
女同性一区二区三区人了人一 |
狂野欧美激情性xxxx |
久久本道综合色狠狠五月 |
亚洲免费网址 |
欧美图区在线视频 |
国产精品jizz在线观看美国
|
欧美日韩精品福利 |
欧美不卡三区 |
免播放器亚洲 |
欧美成人免费在线 |
欧美成人综合 |
欧美高清视频 |
欧美一区亚洲一区 |
麻豆精品传媒视频 |
久久亚洲春色中文字幕久久久 |
久久精品最新地址 |