锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品日韩在线观看,亚洲在线视频一区,久久夜色精品国产欧美乱极品http://m.shnenglu.com/wc250en007/椋庤交浜戞貳zh-cnFri, 24 Oct 2025 17:03:30 GMTFri, 24 Oct 2025 17:03:30 GMT60Synergy 涓濂楅敭榧犲悓鏃舵帶鍒跺鍙扮數鑴?寮婧愬厤璐癸紝鏀寔Win/Mac/Linux)(杞?http://m.shnenglu.com/wc250en007/archive/2012/11/14/195194.html椋庤交浜戞貳椋庤交浜戞貳Wed, 14 Nov 2012 07:02:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/11/14/195194.htmlhttp://m.shnenglu.com/wc250en007/comments/195194.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/11/14/195194.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/195194.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/195194.html鎯沖繀寰堝浜洪兘鎷ユ湁澶氬彴鐢佃剳錛岃濡傚彴寮忔満+絎旇鏈?/a>錛屽緢澶氭椂鍊欐垜浠兘浼氬悓鏃舵墦寮瀹冧滑宸ヤ綔銆傚彲鏄綘鏈夋病鍙戠幇錛屽鏋滄瀛愪笂鎽嗘斁鐫澶氬彴鐢佃剳澶氬閿洏榧犳爣錛屼笉鍋滄潵鍥炲垏鎹嬌鐢ㄦ槸鍚﹀緢绱憿錛熷鏋滆鐜板湪鍙互鍙敤涓濂楅敭榧狅紝灝辮兘鍚屾椂鎺у埗浣犲叏閮ㄧ殑鐢佃剳錛屼綘浼氬惁鍏村錛?/p>

Synergy 姝f槸涓烘鑰岀敓鐨勫ソ宸ュ叿錛?strong>瀹冨彲浠ヨ浣犵殑澶氬彴鐢佃剳鍏變韓涓濂楅敭榧狅紝鐢氳嚦榪樺彲浠ュ叡浜壀璐存澘錛?/span>鑰屼綘鍙渶鍔ㄥ姩榧犳爣錛屾寚閽堝氨鍙互杞繪澗鍦板湪鍚勫彴鐢佃剳灞忓箷涔嬮棿鏉ュ洖絀挎錛屽氨鍍忎竴鍙扮數鑴戜嬌鐢ㄥ涓樉紺哄櫒涓鏍楓傝屼笖 Synergy 瀹屽叏鍏嶈垂寮婧愶紝騫惰法騫沖彴鏀寔 Win/Mac/Linux錛岀浉褰撶粰鍔涳紒 浣跨敤涔嬪悗錛屽伐浣?a target="_blank" style="text-decoration: initial; color: #0086e3;">鏁堢巼鎻愰珮錛岃吙涓嶉吀鑵頒笉鐤鹼紝妗岄潰涔熷共鍑浜嗭紝緇濆鏄粷涓栫鍣ㄥ晩錛?/p>

Synergy 鐨勪嬌鐢ㄦ柟娉曪細

鎴戠殑妗屽瓙涓婃湁1涓彴寮忔満 (Windows7) 鍜?涓?nbsp;MacBook Pro 絎旇鏈?(Mac OSX)錛屽伓灝旇繕浼氱敤鍒板彟澶栦竴鍙扮瑪璁版湰 (Linux/Win鍙岀郴緇? 鍚屾椂鍗忓悓宸ヤ綔錛岃繖鏃跺欐瀛愪笂鐨勯敭榧犱滑寮濮嬫墦鏋朵簡錛?涓紶鏍?2涓敭鐩橈紝榪樿涓嶆柇縐誨姩韜綋鍘昏縼灝辯數鑴戠殑浣嶇疆銆傝繖鏃跺欏氨鍙互錛屾垨鑰呰鏄潪甯擱渶瑕?Synergy 鏉ヨВ鏀捐繖縐嶇棝鑻︿簡錛丱K錛屽紑濮嬪惂……

Synergy

Synergy 鏈変竴涓嬌鐢ㄥ墠鎻愶紝灝辨槸浣犵殑搴旂敤鐜涓殑澶氬彴鐢佃剳闇瑕佸湪鍚屼竴灞鍩熺綉鍐呫傝濡傝錛屽閲屼嬌鐢ㄤ竴涓礬鐢卞櫒鍏變韓涓婄綉鐨勶紝鍏朵笅鐨勫叏閮ㄧ數鑴戜竴鑸氨鏄湪鍚屼竴灞鍩熺綉鍐呫傚叧浜庡眬鍩熺綉鐨勭煡璇嗗氨涓嶅啀鍦ㄦ闃愯堪浜嗭紝浼拌澶у閮界煡閬撴庝箞緇勭綉鍚с?/p>

铏界劧 Synergy 鐨勯厤緗拰浣跨敤鍏跺疄騫朵笉闅撅紝浣嗙洰鍓嶅畠鍙湁鑻辨枃鐣岄潰錛岃屼笖鐣岄潰鎴戜釜浜烘劅瑙夊仛寰椾笉鏄緢鏄撶敤錛屽彲鑳芥柊鎵嬪拫鐪嬩笂鍘繪湁鐐規檿錛屾垜澶ф璇磋瀹冩槸鎬庝箞涓繍浣滅殑鍚с傚綋鐒訛紝榪欎簨涔熶笉鑳借寰楀お緇嗭紝涓嶇劧澶у灝辨病寰楁姌鑵句簡錛岃繖涓娌℃姌鑵撅紝寰堝浜哄氨娌′漢鐢熶箰瓚d簡錛屽埌鏃跺欓粦鐫鑴告潵鎵炬垜灝變笉濂姐?/p>

璁劇疆鏈嶅姟鍣ㄧ錛?/h3>

涓轟簡綆鍗曡搗瑙侊紝鎴戠幇鍦ㄥ彧閫夌敤宸茬粡鍦ㄥ悓涓灞鍩熺綉涓嬬殑 Macbook Pro 鍜?PC 涓ゅ彴鐢佃剳錛岃屼笖涓轟簡鏁欑▼鏇撮氱敤錛屾垜鎶奙BP涔熷垏鎹㈠埌Win7緋葷粺 (灝辨槸鐜板湪涓ゅ彴鐢佃剳閮芥槸Win7浜?錛屽湪瀹冧滑涓兘瀹夎濂?nbsp;Synergy 涔嬪悗錛岄偅涔堟垜浠厛瑕佹寫涓鍙頒嬌鐢ㄩ敭榧犵殑鏈哄櫒璁劇疆涓烘湇鍔″櫒绔紝榪欓噷鏄垜鐨勫彴寮忔満銆傚鍥撅細

Synergy鏈嶅姟鍣ㄧ

鎸?Configure Server 榪涘叆璁劇疆鐣岄潰錛?/strong>

Synergy璁劇疆

浠庡彸涓婅鎷栧姩涓鍙扮數鑴戞斁鍒版柟妗嗕腑 (鍒犻櫎鐨勮瘽鏄妸鐢佃剳鍥炬爣鎷栨斁鍒板乏涓婅鐨勫瀮鍦炬《)錛屾ā鎷熺幇瀹炵殑浣嶇疆鎽嗘斁濂姐備緥濡傛垜鐨勫彴寮忔満PC鏄湇鍔″櫒绔紝MacBook 鏄湪鍙板紡鏈虹殑宸﹁竟錛屾寜鍥句腑閭f牱璁劇疆錛岀劧鍚庢妸鍚嶅瓧鏀規垚瀹㈡埛绔數鑴戠殑璁$畻鏈哄悕錛圵in鐢ㄦ埛鍙互鍦?#8220;鎴戠殑鐢佃剳”鍙抽敭灞炴т腑鐪嬪埌錛夈傚鏋滃鍙扮數鑴戜篃鏄繖鏍蜂緷嬈℃坊鍔狅紝紜畾鍚庤繑鍥炰箣鍓嶇殑鐣岄潰錛屾寜Start鍚姩鏈嶅姟銆?br />
鎴戞祴璇曠殑鏈嶅姟鍣ㄦ槸windows錛屾帶鍒剁殑鐢佃剳鏄痬ac, 濡傛灉澶у涓嶇煡閬揗AC鐢佃剳鍚?鍙互鍏堝惎鍔ㄦ湇鍔″櫒錛岀瓑瀹㈡埛绔繛鎺ョ殑鏃跺?鑿滃崟view->Log Output涓細鏈塜X鐢佃剳榪炴帴鏈嶅姟鍣ㄧ殑鏃ュ織錛屽皢閲岄潰鐨勭數鑴戝悕璁板綍涓嬫潵灝監K浜?/strong>

璁劇疆瀹㈡埛绔細

瀹㈡埛绔殑璁劇疆姣旀湇鍔″櫒绔綆鍗曞緱澶氥傛垜浠潵鍒?Macbook涓婏紝鍚姩 Synergy 鍚庯紝鍙閫夋嫨鎴愬鎴風妯″紡錛屽茍濉笂鏈嶅姟鍣ㄧ殑璁$畻鏈哄悕鎴栬匢P鍦板潃鍗沖彲銆傚涓嬪浘錛岃緗ソ鍚庯紝鍚屾牱鎸?Start 鍗沖彲璁╁叾榪炴帴鏈嶅姟鍣ㄣ?/p>

Synergy瀹㈡埛绔? width=

涓鑸潵璇達紝濡傛灉榪炴帴鎴愬姛鐨勮瘽錛屼綘鐨勯紶鏍囧凡緇忓彲浠ユ父璧板湪涓ゅ彴鐢佃剳涔嬮棿浜嗐傚綋鐒訛紝褰撶殑榧犳爣浠嶱C縐誨姩鍒癕acbook涔嬪悗錛屾垜浠殑閿洏涔熶細瀵筂acbook鐢熸晥錛岃屽PC鏃犳晥浜嗐傛垜鍙互鍦?MacBook 涓奀TRL+C鎷瘋礉涓浜涙枃瀛楋紝鐒跺悗鍐嶇Щ鍔ㄥ洖PC涓婃寜閿洏CTRL+V綺樿創錛屼竴鍒囬兘鏄偅涔堥『鐣呰嚜鐒訛紒闈炲父鏈夋剰鎬濓紒

鎴戞祴璇曞鎴風鐢佃剳鏄疢AC錛屼笅杞藉拰鏈嶅姟鍣ㄤ竴鑷寸殑鐗堟湰錛屾墦寮緇堢錛屽埌synergyc鐨勭洰褰?/span>

sudo synergyc --daemon serverip
serverip 琛ㄧず 涓婇潰閰嶇疆濂界殑鏈嶅姟鍣↖P鍦板潃
--daemon鍙傛暟 琛ㄧず鍙互鍚庡彴榪愯

鏈夐亣鍒扮殑闂鍙互鍙傝冪▼搴忕洰褰曚腑鐨?span style="color: red;">MacReadme.txt

鍐欏湪鍚庨潰錛?/h3>

Synergy 鐪熺殑鏄竴嬈劇浉褰撶浉褰撹禐鐨勮蔣浠訛紒瀹冭兘澶уぇ鎻愰珮澶氱數鑴戠敤鎴風殑宸ヤ綔鏁堢巼錛岀壒鍒槸棰戠箒瑕佸湪涓嶅悓騫沖彴涓嬪伐浣滅殑鏈嬪弸銆傛洿闅捐兘鍙吹鐨勬槸錛岃繖涔堜紭縐鐨勪竴嬈捐蔣浠剁珶鐒惰繕鏄厤璐瑰紑婧愮殑锝炰笉寰椾笉瀵逛綔鑰呰們鐒惰搗鏁晩銆傚叾瀹炲浜庤繖縐嶈蔣浠訛紝鍗充嬌鏄浠樻鐨勶紝鎴戜篃瑙夊緱寰堝煎緱錛屽洜涓哄畠鑳界湡鐪熷垏鍒囧湴鏂逛究鑷繁銆傜洰鍓嶅敮涓緹庝腑涓嶈凍鐨勬槸錛屽畠鍙兘璺ㄦ満鍏變韓鍓創鏉夸腑鐨勬枃鏈俊鎭紝涓嶈兘璺ㄧ數鑴戞嫹璐濇枃浠訛紝涔熶笉鑳芥柟渚垮湴鍦ㄤ袱鍙扮數鑴戜箣闂撮殢鎰忔嫋鍔ㄦ潵浼犺緭鏂囦歡錛屼笉鐒跺氨鐪熸槸紕夊牎浜嗐傝嚦浜庡湪Mac鍜?a target="_blank" style="text-decoration: initial; color: #0086e3;">Linux涓嬬殑鎿嶄綔銆佸揩鎹烽敭鐨勮緗瓑鏇村楂樼駭鐨勭帺娉曞氨絳変綘鑷繁鍘繪姌鑵懼惂銆?/p>

鍘熸枃鍦板潃錛?a >http://www.iplaysoft.com/synergy.html



]]>鏈夊叧Linux鐨?a銆?so鍜?o鏂囦歡(杞?http://m.shnenglu.com/wc250en007/archive/2012/11/03/194186.html椋庤交浜戞貳椋庤交浜戞貳Fri, 02 Nov 2012 23:53:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/11/03/194186.htmlhttp://m.shnenglu.com/wc250en007/comments/194186.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/11/03/194186.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/194186.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/194186.htmlgcc 鐢熸垚 .a闈欐佸簱鍜?.so鍔ㄦ佸簱 

鎴戜滑閫氬父鎶婁竴浜涘叕鐢ㄥ嚱鏁板埗浣滄垚鍑芥暟搴擄紝渚涘叾瀹冪▼搴忎嬌鐢ㄣ傚嚱鏁板簱鍒嗕負闈欐佸簱鍜屽姩鎬佸簱涓?/span>
縐嶃傞潤鎬佸簱鍦ㄧ▼搴忕紪璇戞椂浼氳榪炴帴鍒扮洰鏍囦唬鐮佷腑錛岀▼搴忚繍琛屾椂灝嗕笉鍐嶉渶瑕佽闈欐佸簱銆傚姩鎬?/span>
搴撳湪紼嬪簭緙栬瘧鏃跺茍涓嶄細琚繛鎺ュ埌鐩爣浠g爜涓紝鑰屾槸鍦ㄧ▼搴忚繍琛屾槸鎵嶈杞藉叆錛屽洜姝ゅ湪紼嬪簭榪?/span>
琛屾椂榪橀渶瑕佸姩鎬佸簱瀛樺湪銆傛湰鏂囦富瑕侀氳繃涓句緥鏉ヨ鏄庡湪Linux涓浣曞垱寤洪潤鎬佸簱鍜屽姩鎬佸簱錛屼互
鍙婁嬌鐢ㄥ畠浠?/span>

鍦ㄥ垱寤哄嚱鏁板簱鍓嶏紝鎴戜滑鍏堟潵鍑嗗涓句緥鐢ㄧ殑婧愮▼搴忥紝騫跺皢鍑芥暟搴撶殑婧愮▼搴忕紪璇戞垚.o鏂囦歡銆?/span>


絎?姝ワ細緙栬緫寰楀埌涓句緥鐨勭▼搴?-hello.h銆乭ello.c鍜宮ain.c錛?/span>

hello.c(瑙佺▼搴?)鏄嚱鏁板簱鐨勬簮紼嬪簭錛屽叾涓寘鍚叕鐢ㄥ嚱鏁癶ello錛岃鍑芥暟灝嗗湪灞忓箷涓婅緭鍑?
Hello XXX!"銆俬ello.h(瑙佺▼搴?)涓鴻鍑芥暟搴撶殑澶存枃浠躲俶ain.c(瑙佺▼搴?)涓烘祴璇曞簱鏂囦歡鐨?/span>
涓葷▼搴忥紝鍦ㄤ富紼嬪簭涓皟鐢ㄤ簡鍏敤鍑芥暟hello銆?/span>

紼嬪簭1: hello.h

#ifndef HELLO_H
#define HELLO_H

void hello(const char *name);

#endif //HELLO_H



紼嬪簭2: hello.c

#include <stdio.h>

void hello(const char *name)
{
printf("Hello %s!\n", name);
}

紼嬪簭3: main.c

#include "hello.h"

int main()
{
hello("everyone");
return 0;
}

絎?姝ワ細灝唄ello.c緙栬瘧鎴?o鏂囦歡錛?/span>

鏃犺闈欐佸簱錛岃繕鏄姩鎬佸簱錛岄兘鏄敱.o鏂囦歡鍒涘緩鐨勩傚洜姝わ紝鎴戜滑蹇呴』灝嗘簮紼嬪簭hello.c閫氳繃g
cc鍏堢紪璇戞垚.o鏂囦歡銆?/span>

鍦ㄧ郴緇熸彁紺虹涓嬮敭鍏ヤ互涓嬪懡浠ゅ緱鍒癶ello.o鏂囦歡銆?/span>

# gcc -c hello.c

#

鎴戜滑榪愯ls鍛戒護鐪嬬湅鏄惁鐢熷瓨浜唄ello.o鏂囦歡銆?/span>

# ls

hello.c hello.h hello.o main.c

#


鍦╨s鍛戒護緇撴灉涓紝鎴戜滑鐪嬪埌浜唄ello.o鏂囦歡錛屾湰姝ユ搷浣滃畬鎴愩?/span>

涓嬮潰鎴戜滑鍏堟潵鐪嬬湅濡備綍鍒涘緩闈欐佸簱錛屼互鍙婁嬌鐢ㄥ畠銆?/span>

絎?姝ワ細鐢?o鏂囦歡鍒涘緩闈欐佸簱錛?/span>

闈欐佸簱鏂囦歡鍚嶇殑鍛藉悕瑙勮寖鏄互lib涓哄墠緙錛岀揣鎺ョ潃璺熼潤鎬佸簱鍚嶏紝鎵╁睍鍚嶄負.a銆備緥濡傦細鎴戜滑灝?/span>
鍒涘緩鐨勯潤鎬佸簱鍚嶄負myhello錛屽垯闈欐佸簱鏂囦歡鍚嶅氨鏄痩ibmyhello.a銆傚湪鍒涘緩鍜屼嬌鐢ㄩ潤鎬佸簱鏃訛紝
闇瑕佹敞鎰忚繖鐐廣傚垱寤洪潤鎬佸簱鐢╝r鍛戒護銆?/span>

鍦ㄧ郴緇熸彁紺虹涓嬮敭鍏ヤ互涓嬪懡浠ゅ皢鍒涘緩闈欐佸簱鏂囦歡libmyhello.a銆?/span>

# ar -crv libmyhello.a hello.o

#

鎴戜滑鍚屾牱榪愯ls鍛戒護鏌ョ湅緇撴灉錛?/span>

# ls

hello.c hello.h hello.o libmyhello.a main.c

#

ls鍛戒護緇撴灉涓湁libmyhello.a銆?/span>

絎?姝ワ細鍦ㄧ▼搴忎腑浣跨敤闈欐佸簱錛?/span>

闈欐佸簱鍒朵綔瀹屼簡錛屽浣曚嬌鐢ㄥ畠鍐呴儴鐨勫嚱鏁板憿錛熷彧闇瑕佸湪浣跨敤鍒拌繖浜涘叕鐢ㄥ嚱鏁扮殑婧愮▼搴忎腑鍖?/span>
鍚繖浜涘叕鐢ㄥ嚱鏁扮殑鍘熷瀷澹版槑錛岀劧鍚庡湪鐢╣cc鍛戒護鐢熸垚鐩爣鏂囦歡鏃舵寚鏄庨潤鎬佸簱鍚嶏紝gcc灝嗕細浠?/span>
闈欐佸簱涓皢鍏敤鍑芥暟榪炴帴鍒扮洰鏍囨枃浠朵腑銆傛敞鎰忥紝gcc浼氬湪闈欐佸簱鍚嶅墠鍔犱笂鍓嶇紑lib錛岀劧鍚庤拷
鍔犳墿灞曞悕.a寰楀埌鐨勯潤鎬佸簱鏂囦歡鍚嶆潵鏌ユ壘闈欐佸簱鏂囦歡銆?/span>

鍦ㄧ▼搴?:main.c涓紝鎴戜滑鍖呭惈浜嗛潤鎬佸簱鐨勫ご鏂囦歡hello.h錛岀劧鍚庡湪涓葷▼搴弇ain涓洿鎺ヨ皟鐢ㄥ叕
鐢ㄥ嚱鏁癶ello銆備笅闈㈠厛鐢熸垚鐩爣紼嬪簭hello錛岀劧鍚庤繍琛宧ello紼嬪簭鐪嬬湅緇撴灉濡備綍銆?/span>

娉曚竴 # gcc -o hello main.c -L. –lmyhello錛岃嚜瀹氫箟鐨勫簱鏃訛紝main.c榪樺彲鏀懼湪-L.鍜?–lmyhello涔嬮棿錛屼絾鏄笉鑳芥斁鍦ㄥ畠淇╀箣鍚庯紝鍚﹀垯浼氭彁紺簃yhello娌″畾涔夛紝浣嗘槸鏄郴緇熺殑搴撴椂錛屽g++ -o main錛?L/usr/lib錛?-lpthread main.cpp灝變笉鍑洪敊銆?/span>

娉曚簩 #gcc main.c libmyhello.a -o hello

娉曚笁錛氬厛鐢熸垚main.o錛歡cc -c main.c 錛屽啀鐢熸垚鍙墽琛屾枃浠訛細gcc -o hello main.o libmyhello.a錛屽姩鎬佸簱榪炴帴鏃朵篃鍙互榪欐牱鍋氥?/span>



# ./hello

Hello everyone!

#

鎴戜滑鍒犻櫎闈欐佸簱鏂囦歡璇曡瘯鍏敤鍑芥暟hello鏄惁鐪熺殑榪炴帴鍒扮洰鏍囨枃浠?hello涓簡銆?/span>

# rm libmyhello.a

rm: remove regular file `libmyhello.a'? y

# ./hello

Hello everyone!

#

紼嬪簭鐓у父榪愯錛岄潤鎬佸簱涓殑鍏敤鍑芥暟宸茬粡榪炴帴鍒扮洰鏍囨枃浠朵腑浜嗐?/span>

鎴戜滑緇х畫鐪嬬湅濡備綍鍦↙inux涓垱寤哄姩鎬佸簱銆傛垜浠繕鏄粠.o鏂囦歡寮濮嬨?/span>

絎?姝ワ細鐢?o鏂囦歡鍒涘緩鍔ㄦ佸簱鏂囦歡錛?/span>

鍔ㄦ佸簱鏂囦歡鍚嶅懡鍚嶈鑼冨拰闈欐佸簱鏂囦歡鍚嶅懡鍚嶈鑼冪被浼鹼紝涔熸槸鍦ㄥ姩鎬佸簱鍚嶅鍔犲墠緙lib錛屼絾鍏?/span>
鏂囦歡鎵╁睍鍚嶄負.so銆備緥濡傦細鎴戜滑灝嗗垱寤虹殑鍔ㄦ佸簱鍚嶄負myhello錛屽垯鍔ㄦ佸簱鏂囦歡鍚嶅氨鏄痩ibmyh
ello.so銆傜敤gcc鏉ュ垱寤哄姩鎬佸簱銆?/span>

鍦ㄧ郴緇熸彁紺虹涓嬮敭鍏ヤ互涓嬪懡浠ゅ緱鍒板姩鎬佸簱鏂囦歡libmyhello.so銆?/span>



# gcc -shared -fPCI -o libmyhello.so hello.o 錛?o涓嶅彲灝戯級

#

鎴戜滑鐓ф牱浣跨敤ls鍛戒護鐪嬬湅鍔ㄦ佸簱鏂囦歡鏄惁鐢熸垚銆?/span>

# ls

hello.c hello.h hello.o libmyhello.so main.c

#

絎?姝ワ細鍦ㄧ▼搴忎腑浣跨敤鍔ㄦ佸簱錛?/span>

鍦ㄧ▼搴忎腑浣跨敤鍔ㄦ佸簱鍜屼嬌鐢ㄩ潤鎬佸簱瀹屽叏涓鏍鳳紝涔熸槸鍦ㄤ嬌鐢ㄥ埌榪欎簺鍏敤鍑芥暟鐨勬簮紼嬪簭涓寘鍚?/span>
榪欎簺鍏敤鍑芥暟鐨勫師鍨嬪0鏄庯紝鐒跺悗鍦ㄧ敤gcc鍛戒護鐢熸垚鐩爣鏂囦歡鏃舵寚鏄庡姩鎬佸簱鍚嶈繘琛岀紪璇戙傛垜浠?/span>
鍏堣繍琛実cc鍛戒護鐢熸垚鐩爣鏂囦歡錛屽啀榪愯瀹冪湅鐪嬬粨鏋溿?/span>

# gcc -o hello main.c -L. -lmyhello



(鎴?#gcc main.c libmyhello.so -o hello 涓嶄細鍑洪敊錛堟病鏈塴ibmyhello.so鐨勮瘽錛屼細鍑洪敊錛夛紝浣嗘槸鎺ヤ笅鏉?/hello 浼氭彁紺哄嚭閿欙紝鍥犱負铏界劧榪炴帴鏃剁敤鐨勬槸褰撳墠鐩綍鐨勫姩鎬佸簱錛屼絾鏄繍琛屾椂錛屾槸鍒?usr/lib涓壘搴撴枃浠剁殑錛屽皢鏂囦歡libmyhello.so澶嶅埗鍒扮洰褰?usr/lib涓氨OK浜?

# ./hello

./hello: error while loading shared libraries: libmyhello.so: cannot open shar
ed object file: No such file or directory

#

鍝︼紒鍑洪敊浜嗐傚揩鐪嬬湅閿欒鎻愮ず錛屽師鏉ユ槸鎵句笉鍒板姩鎬佸簱鏂囦歡libmyhello.so銆傜▼搴忓湪榪愯鏃訛紝
浼氬湪/usr/lib鍜?lib絳夌洰褰曚腑鏌ユ壘闇瑕佺殑鍔ㄦ佸簱鏂囦歡銆傝嫢鎵懼埌錛屽垯杞藉叆鍔ㄦ佸簱錛屽惁鍒欏皢鎻?/span>
紺虹被浼間笂榪伴敊璇岀粓姝㈢▼搴忚繍琛屻傛垜浠皢鏂囦歡libmyhello.so澶嶅埗鍒扮洰褰?usr/lib涓紝鍐嶈瘯
璇曘?/span>

# mv libmyhello.so /usr/lib

# ./hello

Hello everyone!

#

鎴愬姛浜嗐傝繖涔熻繘涓姝ヨ鏄庝簡鍔ㄦ佸簱鍦ㄧ▼搴忚繍琛屾椂鏄渶瑕佺殑銆?/span>

鎴戜滑鍥炶繃澶寸湅鐪嬶紝鍙戠幇浣跨敤闈欐佸簱鍜屼嬌鐢ㄥ姩鎬佸簱緙栬瘧鎴愮洰鏍囩▼搴忎嬌鐢ㄧ殑gcc鍛戒護瀹屽叏涓鏍鳳紝
閭e綋闈欐佸簱鍜屽姩鎬佸簱鍚屽悕鏃訛紝gcc鍛戒護浼氫嬌鐢ㄥ摢涓簱鏂囦歡鍛紵鎶辯潃瀵歸棶棰樺繀絀跺埌搴曠殑蹇冩儏錛?/span>
鏉ヨ瘯璇曠湅銆?/span>

鍏堝垹闄ら櫎.c鍜?h澶栫殑鎵鏈夋枃浠訛紝鎭㈠鎴愭垜浠垰鍒氱紪杈戝畬涓句緥紼嬪簭鐘舵併?/span>

# rm -f hello hello.o /usr/lib/libmyhello.so

# ls

hello.c hello.h main.c

#

鍦ㄦ潵鍒涘緩闈欐佸簱鏂囦歡libmyhello.a鍜屽姩鎬佸簱鏂囦歡libmyhello.so銆?/span>

# gcc -c hello.c

# ar -cr libmyhello.a hello.o 錛堟垨-cvr 錛?/span>

# gcc -shared -fPCI -o libmyhello.so hello.o

# ls

hello.c hello.h hello.o libmyhello.a libmyhello.so main.c

#

閫氳繃涓婅堪鏈鍚庝竴鏉s鍛戒護錛屽彲浠ュ彂鐜伴潤鎬佸簱鏂囦歡libmyhello.a鍜屽姩鎬佸簱鏂囦歡libmyhello.s
o閮藉凡緇忕敓鎴愶紝騫墮兘鍦ㄥ綋鍓嶇洰褰曚腑銆傜劧鍚庯紝鎴戜滑榪愯gcc鍛戒護鏉ヤ嬌鐢ㄥ嚱鏁板簱myhello鐢熸垚鐩爣
鏂囦歡hello錛屽茍榪愯紼嬪簭 hello銆?/span>

# gcc -o hello main.c -L. –lmyhello 錛堝姩鎬佸簱鍜岄潤鎬佸簱鍚屾椂瀛樺湪鏃訛紝浼樺厛浣跨敤鍔ㄦ佸簱錛?褰撶劧錛岀洿鎺?gcc main.c libmyhello.a -o hello鐨勮瘽錛屽氨鏄寚瀹氫負闈欐佸簱浜嗭級

# ./hello

./hello: error while loading shared libraries: libmyhello.so: cannot open shar
ed object file: No such file or directory

#

浠庣▼搴廻ello榪愯鐨勭粨鏋滀腑寰堝鏄撶煡閬擄紝褰撻潤鎬佸簱鍜屽姩鎬佸簱鍚屽悕鏃訛紝gcc鍛戒護灝嗕紭鍏堜嬌鐢ㄥ姩鎬佸簱錛岄粯璁ゅ幓榪?usr/lib鍜?lib絳夌洰褰曚腑鐨勫姩鎬佸簱錛屽皢鏂囦歡libmyhello.so澶嶅埗鍒扮洰褰?usr/lib涓嵆鍙?/span>

Note:
緙栬瘧鍙傛暟瑙f瀽
鏈涓昏鐨勬槸GCC鍛戒護琛岀殑涓涓夐」:
-shared 璇ラ夐」鎸囧畾鐢熸垚鍔ㄦ佽繛鎺ュ簱錛堣榪炴帴鍣ㄧ敓鎴怲綾誨瀷鐨勫鍑虹鍙瘋〃錛屾湁鏃跺欎篃鐢熸垚寮辮繛鎺綾誨瀷鐨勫鍑虹鍙鳳級錛屼笉鐢ㄨ鏍囧織澶栭儴紼嬪簭鏃犳硶榪炴帴銆傜浉褰撲簬涓涓彲鎵ц鏂囦歡
-fPIC 琛ㄧず緙栬瘧涓轟綅緗嫭绔嬬殑浠g爜錛屼笉鐢ㄦ閫夐」鐨勮瘽緙栬瘧鍚庣殑浠g爜鏄綅緗浉鍏崇殑鎵浠ュ姩鎬佽澆鍏ユ椂鏄氳繃浠g爜鎷瘋礉鐨勬柟寮忔潵婊¤凍涓嶅悓榪涚▼鐨勯渶瑕侊紝鑰屼笉鑳借揪鍒扮湡姝d唬鐮佹鍏變韓鐨勭洰鐨勩?/span>

-L. 琛ㄧず瑕佽繛鎺ョ殑搴撳湪褰撳墠鐩綍涓紱錛堝涓簱錛氬湪緙栬瘧鍛戒護琛屼腑錛屽皢浣跨敤鐨勯潤鎬佸簱鏂囦歡鏀懼湪婧愭枃浠跺悗闈㈠氨鍙互浜嗐傛瘮濡傦細gcc -L/usr/lib myprop.c libtest.a libX11.a libpthread.a -o myprop
鍏朵腑-L/usr/lib鎸囧畾搴撴枃浠剁殑鏌ユ壘璺緞銆傜紪璇戝櫒榛樿鍦ㄥ綋鍓嶇洰褰曚笅鍏堟煡鎵炬寚瀹氱殑搴撴枃浠訛紝濡傚墠闈㈢殑“娉曚簩 #gccmain.c libmyhello.a-o hello”錛?/span>


-lmyhello 緙栬瘧鍣ㄦ煡鎵懼姩鎬佽繛鎺ュ簱鏃舵湁闅愬惈鐨勫懡鍚嶈鍒欙紝鍗沖湪緇欏嚭鐨勫悕瀛楀墠闈㈠姞涓妉ib錛屽悗闈㈠姞涓?so鎴?a鏉ョ‘瀹氬簱鐨勫悕縐發ibmyhello.so鎴杔ibmyhello.a銆?/span>
LD_LIBRARY_PATH榪欎釜鐜鍙橀噺鎸囩ず鍔ㄦ佽繛鎺ュ櫒鍙互瑁呰澆鍔ㄦ佸簱鐨勮礬寰勩?/span>
褰撶劧濡傛灉鏈塺oot鏉冮檺鐨勮瘽錛屽彲浠ヤ慨鏀?etc/ld.so.conf鏂囦歡錛岀劧鍚庤皟鐢?/sbin/ldconfig鏉ヨ揪鍒板悓鏍風殑鐩殑錛屼笉榪囧鏋滄病鏈塺oot鏉冮檺錛岄偅涔堝彧鑳介噰鐢ㄨ緭鍑篖D_LIBRARY_PATH鐨勬柟娉曚簡銆?/span>

璋冪敤鍔ㄦ佸簱鐨勬椂鍊欐湁鍑犱釜闂浼氱粡甯哥鍒幫紝鏈夋椂錛屾槑鏄庡凡緇忓皢搴撶殑澶存枃浠舵墍鍦ㄧ洰褰?閫氳繃 “-I” include榪涙潵浜嗭紝搴撴墍鍦ㄦ枃浠墮氳繃 “-L”鍙傛暟寮曞錛屽茍鎸囧畾浜?#8220;-l”鐨勫簱鍚嶏紝浣嗛氳繃ldd鍛戒護瀵熺湅鏃訛紝灝辨槸姝繪椿鎵句笉鍒頒綘鎸囧畾閾炬帴鐨剆o鏂囦歡錛岃繖鏃朵綘瑕佷綔鐨勫氨鏄氳繃淇敼 LD_LIBRARY_PATH鎴栬?etc/ld.so.conf鏂囦歡鏉ユ寚瀹氬姩鎬佸簱鐨勭洰褰曘傞氬父榪欐牱鍋氬氨鍙互瑙e喅搴撴棤娉曢摼鎺ョ殑闂浜嗐?/span>

鍙︼細

浠庝笂榪板彲鐭ワ紝濡備綍鎵懼埌鐢熸垚鐨勫姩鎬佸簱鏈?縐嶆柟寮忥細

(1)鎶婂簱鎷瘋礉鍒?usr/lib鍜?lib鐩綍涓嬨?/span>

(2)鍦↙D_LIBRARY_PATH鐜鍙橀噺涓姞涓婂簱鎵鍦ㄨ礬寰勩?/span>

渚嬪鍔ㄦ佸簱libhello.so鍦?home/example/lib鐩綍涓嬶細

$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/example/lib

(3) 淇敼/etc/ld.so.conf鏂囦歡錛屾妸搴撴墍鍦ㄧ殑璺緞鍔犲埌鏂囦歡鏈熬錛屽茍鎵цldconfig鍒鋒柊銆傝繖鏍鳳紝鍔犲叆鐨勭洰褰曚笅鐨勬墍鏈夊簱鏂囦歡閮藉彲瑙併?/span>

闄勶細鍍忎笅闈㈣繖鏍鋒寚瀹氳礬寰勫幓榪炴帴緋葷粺鐨勯潤鎬佸簱錛屼細鎶ラ敊璇磋榪炴帴鐨勫簱鎵句笉鍒?

g++ -o main main.cpp -L/usr/lib libpthread.a 

蹇呴』榪欐牱g++ -o main main.cpp -L/usr/lib -lpthread鎵嶆紜?銆?/span>

鑷畾涔夌殑搴撹冨埌/usr/lib 涓嬫椂錛?/span>

g++ -o main main.cpp -L/usr/lib libpthread.a libthread.a libclass.a浼氬嚭閿欙紝浣嗘槸榪欐牱g++ -o main main.cpp -L/usr/lib -lpthread -lthread -lclass灝辨紜簡銆?/span>



杞嚜錛歨ttp://hi.baidu.com/錕斤拷錕斤拷錕斤拷/blog/item/e58ed2f142913ea7a50f525e.html
鏉ヨ嚜: http://hi.baidu.com/jiyeqian/blog/item/d6886e22c93f5ef8d6cae27c.html

]]>
win7+eclipse+CDT+cygwin symbol could not be resolvedhttp://m.shnenglu.com/wc250en007/archive/2012/10/24/193763.html椋庤交浜戞貳椋庤交浜戞貳Wed, 24 Oct 2012 02:56:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/10/24/193763.htmlhttp://m.shnenglu.com/wc250en007/comments/193763.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/10/24/193763.html#Feedback2http://m.shnenglu.com/wc250en007/comments/commentRss/193763.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/193763.htmlhttp://www.cnblogs.com/williamwue/archive/2011/06/30/2094979.html

闂錛氱敤eclipse 寤虹珛緙栬瘧C++宸ョ▼鍑虹幇閿欒鎻愮ず symbol could not be resolved

瑙e喅鍔炴硶錛?br />
1.window -> preferences -> C/C++ -> debug -> source lookup path > Path Mapping
Name:whatever  CompilationPath: \cygdirve\c      Local file system path:C:\

鐢╟ygwin涓嬬殑c鐩樻潵鏇夸唬褰撳墠鐨凜鐩?鏉ユ煡鎵鵑渶瑕佺殑搴撴枃浠?br />

2.
indexer:  index source and header files opened  in editor
window -> preferences -> C/C++ -> indexer

OK緙栬瘧鐨勯敊璇В鍐充簡
榪愯鏃跺張鍑虹幇浜嗗涓嬬殑BUG錛?br />

鎵句笉鍒板搴旂殑鏂囦歡錛屾棤娉曡繘琛岃皟璇曪紝GOOGLE浜嗗崐澶╂墠鎵懼埌瑙e喅鐨勬柟娉曪細
If you're working under Windows, have you set the required mappings?
Maybe Eclipse couldn't find the Source because of the missing mapping to
the (cygwin-)drive where your projects/workspaces are.

When you start Cygwin, enter "mount" and look for the mapping you have:
They may look like this:


Admin@bs11-01xp ~
$ mount
D:\cygwin\bin on /usr/bin type system (binmode)
D:\cygwin\lib on /usr/lib type system (binmode)
D:\cygwin on / type system (binmode)
c: on /cygdrive/c type system (binmode,noumount)
d: on /cygdrive/d type system (binmode,noumount)
e: on /cygdrive/e type system (binmode,noumount)
j: on /cygdrive/j type system (binmode,noumount)
n: on /cygdrive/n type system (binmode,noumount)
u: on /cygdrive/u type system (binmode,noumount)
w: on /cygdrive/w type system (binmode,noumount)
x: on /cygdrive/x type system (binmode,noumount)
y: on /cygdrive/y type system (binmode,noumount)
z: on /cygdrive/z type system (binmode,noumount)



My Projects ara all under J:\Projects, so my mapping needs to be present
in Eclipse as:
/cygdrive/j j:/


Open Eclipse and then click
- Windows => Preferences => C/C++ => Debug =>Common Source Lookup
Path
- Add a new Path Mapping: click [Add] => Path Mapping => [OK]
- Select the new Mapping => [Edith] => change Name of Mapping "Project
Source" => [Add]
set "Compilation path" to the Source (Sample cygwin!) "/cygdrive/j"
(without the quotes!)
set"Local file system path" tho "J:\" (without the quotes!)
涓婇潰閰嶇疆瀵瑰簲浜?cygdrive/c  C:\
浣嗘槸鎴戝湪windows涓嬬殑宸ョ▼鐩綍閮芥槸鍦℅鐩橈紝鍚屾牱娣誨姞涓涓狦鐩樼殑瀵瑰簲鐩綍灝監K浜?br />




]]>
鍦╨inux緋葷粺涓嬬敤eclipse闆嗘垚鐜寮鍙慶ocos2d-x android欏圭洰錛岄泦鎴恓ava鍜宑++鐜(杞?http://m.shnenglu.com/wc250en007/archive/2012/10/24/193757.html椋庤交浜戞貳椋庤交浜戞貳Wed, 24 Oct 2012 01:29:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/10/24/193757.htmlhttp://m.shnenglu.com/wc250en007/comments/193757.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/10/24/193757.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/193757.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/193757.html闃呰鍏ㄦ枃

]]>
涓嬭澆瀹夎Cygwin(杞?http://m.shnenglu.com/wc250en007/archive/2012/10/23/193708.html椋庤交浜戞貳椋庤交浜戞貳Tue, 23 Oct 2012 01:54:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/10/23/193708.htmlhttp://m.shnenglu.com/wc250en007/comments/193708.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/10/23/193708.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/193708.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/193708.htmlhttp://www.programarts.com/cfree_ch/doc/help/UsingCF/CompilerSupport/Cygwin/Cygwin1.htm

鎴戜滑鍙互鍒癈ygwin鐨勫畼鏂圭綉绔欎笅杞紺ygwin鐨勫畨瑁呯▼搴忥紝鍦板潃鏄細

    http://www.cygwin.com/

鎴栬呯洿鎺ヤ嬌鐢ㄤ笅杞借繛鎺ユ潵涓嬭澆瀹夎紼嬪簭錛屼笅杞借繛鎺ユ槸錛?/p>

    http://www.cygwin.com/setup.exe

涓嬭澆瀹屾垚鍚庯紝榪愯setup.exe紼嬪簭錛屽嚭鐜板畨瑁呯敾闈€傜洿鎺ョ偣“涓嬩竴姝?#8221;錛屽嚭鐜板畨瑁呮ā寮忕殑瀵硅瘽妗嗭紝濡備笅鍥炬墍紺猴細

鎴戜滑鐪嬪埌鏈変笁縐嶅畨瑁呮ā寮忥細

  • Install from Internet錛岃繖縐嶆ā寮忕洿鎺ヤ粠Internet瀹夎錛岄傚悎緗戦熻緝蹇殑鎯呭喌錛?/li>
  • Download Without Installing錛岃繖縐嶆ā寮忓彧浠庣綉涓婁笅杞紺ygwin鐨勭粍浠跺寘錛屼絾涓嶅畨瑁咃紱
  • Install from Local Directory錛岃繖縐嶆ā寮忎笌涓婇潰絎簩縐嶆ā寮忓搴旓紝褰撲綘鐨凜ygwin緇勪歡鍖呭凡緇忎笅杞藉埌鏈湴錛屽垯鍙互浣跨敤姝ゆā寮忎粠鏈湴瀹夎Cygwin銆?/li>

浠庝笂榪頒笁縐嶆ā寮忎腑閫夋嫨閫傚悎浣犵殑瀹夎妯″紡錛岃繖閲屾垜浠夋嫨絎竴縐嶅畨瑁呮ā寮忥紝鐩存帴浠庣綉涓婂畨瑁咃紝褰撶劧鍦ㄤ笅杞界殑鍚屾椂錛孋ygwin緇勪歡涔熶繚瀛樺埌浜嗘湰鍦幫紝浠ヤ究浠ュ悗鑳藉鍐嶆瀹夎銆傞変腑鍚庯紝鐐瑰嚮“涓嬩竴姝?#8221;錛?/p>

榪欎竴姝ラ夋嫨Cygwin鐨勫畨瑁呯洰褰曪紝浠ュ強涓浜涘弬鏁扮殑璁劇疆銆傞粯璁ょ殑瀹夎浣嶇疆鏄疌:\cygwin\錛屼綘涔熷彲浠ラ夋嫨鑷繁鐨勫畨瑁呯洰褰曪紝鐒跺悗閫夋嫨“涓嬩竴姝?#8221;錛?/p>

榪欎竴姝ユ垜浠彲浠ラ夋嫨瀹夎榪囩▼涓粠緗戜笂涓嬭澆鐨凜ygwin緇勪歡鍖呯殑淇濆瓨浣嶇疆錛岄夋嫨瀹屼互鍚庯紝鐐瑰嚮“涓嬩竴姝?#8221;錛?/p>

榪欎竴姝ラ夋嫨榪炴帴鐨勬柟寮忥紝閫夋嫨浣犵殑榪炴帴鏂瑰紡錛岀劧鍚庣偣鍑諱笅涓姝ワ紝浼氬嚭鐜伴夋嫨涓嬭澆绔欑偣鐨勫璇濇錛屽涓嬪浘鎵紺猴紝

鍦ㄨ繖涓姝ワ紝闇瑕佹敞鎰忥紝涓轟簡鑾峰緱鏈蹇殑涓嬭澆閫熷害錛屾垜浠鍏堝湪鍒楄〃涓鎵綜ygwin涓浗闀滃儚鐨勫湴鍧錛歨ttp://www.cygwin.cn錛屽鏋滄壘鍒板氨閫変腑榪欎釜鍦板潃錛涘鏋滄壘涓嶅埌榪欎釜鍦板潃錛屽氨鍦ㄤ笅闈㈡墜鍔ㄨ緭鍏ヤ腑鍥介暅鍍忕殑鍦板潃錛歨ttp://www.cygwin.cn/pub/錛屽啀鐐瑰嚮“Add”錛岀劧鍚庡啀鍦ㄥ垪琛ㄤ腑閫変腑銆傞夋嫨瀹屾垚鍚庯紝鐐瑰嚮“涓嬩竴姝?#8221;錛?/p>

榪欎竴姝ワ紝鎴戜滑閫夋嫨闇瑕佷笅杞藉畨瑁呯殑緇勪歡鍖咃紝涓轟簡浣挎垜浠畨瑁呯殑Cygwin鑳藉緙栬瘧紼嬪簭錛屾垜浠渶瑕佸畨瑁単cc緙栬瘧鍣紝榛樿鎯呭喌涓嬶紝gcc騫朵笉浼氳瀹夎錛屾垜浠渶瑕侀変腑瀹冩潵瀹夎銆備負浜嗗畨瑁単cc錛屾垜浠敤榧犳爣鐐瑰紑緇勪歡鍒楄〃涓殑“Devel”鍒嗘敮錛屽湪璇ュ垎鏀笅錛屾湁寰堝緇勪歡錛屾垜浠繀欏葷殑鏄細

binutils 
gcc 
gcc-mingw 
gdb

榧犳爣鐐瑰嚮緇勪歡鍓嶉潰鐨勫驚鐜寜閽紝浼氬嚭鐜扮粍寤虹殑鐗堟湰鏃ユ湡錛屾垜浠夋嫨鏈鏂扮殑鐗堟湰瀹夎錛屼笅鍥炬槸閫変腑鍚庣殑鍥涚被緇勪歡鐨勬埅鍥撅細


binutils緇勪歡

gcc緇勪歡

gcc-mingw緇勪歡

gdb緇勪歡

閫夊畬浠ュ悗錛屾垜浠夋嫨涓嬩竴姝ワ紝榪涘叆瀹夎榪囩▼錛屽涓嬪浘鎵紺猴紝

瀹夎鐨勬椂闂翠緷鎹綘閫夋嫨鐨勭粍浠朵互鍙婄綉緇滄儏鍐佃屽畾銆傚畨瑁呭畬鎴愬悗錛屽畨瑁呯▼搴忎細鎻愮ず鏄惁鍦ㄦ闈笂鍒涘緩Cygwin鍥炬爣絳夛紝鐐瑰嚮瀹屾垚閫鍑哄畨瑁呯▼搴忋?/p>



]]>
cocos2d-x android娓告垙浣跨敤鑷繁鐨勫瓧浣?/title><link>http://m.shnenglu.com/wc250en007/archive/2012/10/15/193320.html</link><dc:creator>椋庤交浜戞貳</dc:creator><author>椋庤交浜戞貳</author><pubDate>Mon, 15 Oct 2012 08:58:00 GMT</pubDate><guid>http://m.shnenglu.com/wc250en007/archive/2012/10/15/193320.html</guid><wfw:comment>http://m.shnenglu.com/wc250en007/comments/193320.html</wfw:comment><comments>http://m.shnenglu.com/wc250en007/archive/2012/10/15/193320.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/wc250en007/comments/commentRss/193320.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/wc250en007/services/trackbacks/193320.html</trackback:ping><description><![CDATA[鍦ㄤ嬌鐢╟ocos2d-x鍙戝竷Android騫沖彴娓告垙鏃訛紝娓告垙涓彲鑳介渶瑕佹樉紺轟腑鏂囧瓧浣擄紝 鎴栬呮兂鏄劇ず婕備寒鐨勮嚜瀹氫箟瀛椾綋,榪欐庝箞鍔炲憿錛?br />cocos2d-x涓瓧浣撴爣絳炬彁渚涗簡CCLabelAtlas, CCLabelBMFont CCLabelTTF<br /><br />1.CCLabelAtlas閫熷害蹇紝鏀寔綆鍗曟湁闄愮殑鍑犱釜瀛楃鎴栨暟瀛楅泦鍚?br /><br />2.CCLabelBMFont <br />鎴戜滑鍙互鐢–CLabelBMFont鏉ュ姞杞藉瓧浣撶紪杈戝櫒鐢熸垚鐨?plist鏂囦歡錛屼絾鏄綋鏄劇ず鐨勬枃瀛楀緢澶氭椂錛岃繖縐嶅仛娉曞氨鏈夌偣璐規椂璐瑰姏浜?br />濡傦細鎴戜滑鎯蟲樉紺烘父鎴忎腑鍓ф儏浠嬬粛<br /><br />3.CCLabelTTF<br />鏀寔閫夋嫨涓縐嶅瓧浣撴潵鏄劇ず鏂囧瓧錛屼絾鏄彧鏀寔緋葷粺涓粯璁ゅ瓧浣?br /><div style="padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; width: 1307.3519287109375px; word-break: break-all; ">CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);</div><div></div><br /><strong>闂錛氭垜浠湪Android娓告垙涓兂鏄劇ず娓告垙鍓ф儏錛屾兂鐢ㄨ嚜宸辨寚瀹氱殑涓縐嶅瓧浣揼ril.ttf(闈炵郴緇熼粯璁ゅ瓧浣?,鎬庝箞鍔?/strong><br /><br />鍏跺疄cocos2d-x宸茬粡鎻愪緵浜嗗府鎴戜滑瀹炵幇浜?br />鏋勯燙CLabelTTF涓寚瀹氱殑瀛椾綋鍚嶄紶緇欎簡<span style="font-size: 13.333333969116211px; background-color: #eeeeee; ">CCTexture2D </span><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span> CCLabelTTF::updateTexture()<br />{<br />    CCTexture2D *tex;<br />    <span style="color: #0000FF; ">if</span> (m_tDimensions.width == 0 || m_tDimensions.height == 0)<br />    {<br />        tex = <span style="color: #0000FF; ">new</span> CCTexture2D();<br />        tex->initWithString(m_string.c_str(), <strong>m_pFontName</strong>->c_str(), m_fFontSize * CC_CONTENT_SCALE_FACTOR()) ;<br />    }<br />    <span style="color: #0000FF; ">else</span><br />    {<br />        tex = <span style="color: #0000FF; ">new</span> CCTexture2D();<br />        tex->initWithString(m_string.c_str(),<br />                            CC_SIZE_POINTS_TO_PIXELS(m_tDimensions), <br />                            m_hAlignment,<br />                            m_vAlignment,<br />                            m_pFontName->c_str(),<br />                            m_fFontSize * CC_CONTENT_SCALE_FACTOR());<br />    }<br /><br />   <img src="http://m.shnenglu.com/Images/dot.gif" alt="" />.<br />}</div>CCTexture2D鍙堝皢瀛椾綋鍚嶄紶緇欎簡CCImage<br />(PS:榪欓噷璋冪敤鐨勬槸android騫沖彴涓嬬殑CCImage綾?./platform/android/CCImage.h)<br />鑰屼笉鏄痺in32騫沖彴涓嬬殑CCImage綾?./platform/win32/CCImage.h) )<br /><br />android騫沖彴涓嬬殑CCImage<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">bool</span> CCImage::initWithString(<br />                               <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span> *    pText, <br />                               <span style="color: #0000FF; ">int</span>             nWidth<span style="color: #008000; ">/*</span><span style="color: #008000; "> = 0</span><span style="color: #008000; ">*/</span>, <br />                               <span style="color: #0000FF; ">int</span>             nHeight<span style="color: #008000; ">/*</span><span style="color: #008000; "> = 0</span><span style="color: #008000; ">*/</span>,<br />                               ETextAlign      eAlignMask<span style="color: #008000; ">/*</span><span style="color: #008000; "> = kAlignCenter</span><span style="color: #008000; ">*/</span>,<br />                               <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span> *    pFontName<span style="color: #008000; ">/*</span><span style="color: #008000; "> = nil</span><span style="color: #008000; ">*/</span>,<br />                               <span style="color: #0000FF; ">int</span>             nSize<span style="color: #008000; ">/*</span><span style="color: #008000; "> = 0</span><span style="color: #008000; ">*/</span>)<br />{<br />    <span style="color: #0000FF; ">bool</span> bRet = <span style="color: #0000FF; ">false</span>;<br /><br />    <span style="color: #0000FF; ">do</span> <br />    {<br />        CC_BREAK_IF(! pText);<br />        <br />        <strong>BitmapDC </strong>&dc = sharedBitmapDC();<br /><br />        CC_BREAK_IF(! dc.getBitmapFromJava(pText, nWidth, nHeight, eAlignMask, <strong>pFontName</strong>, nSize));<br /><br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> assign the dc.m_pData to m_pData in order to save time</span><span style="color: #008000; "><br /></span>        m_pData = dc.m_pData;<br />        CC_BREAK_IF(! m_pData);<br /><br />        m_nWidth    = (<span style="color: #0000FF; ">short</span>)dc.m_nWidth;<br />        m_nHeight   = (<span style="color: #0000FF; ">short</span>)dc.m_nHeight;<br />        m_bHasAlpha = <span style="color: #0000FF; ">true</span>;<br />        m_bPreMulti = <span style="color: #0000FF; ">true</span>;<br />        m_nBitsPerComponent = 8;<br /><br />        bRet = <span style="color: #0000FF; ">true</span>;<br />    } <span style="color: #0000FF; ">while</span> (0);<br /><br />    <span style="color: #0000FF; ">return</span> bRet;<br />}</div><br />鐒跺悗璋冪敤浜哸ndroid騫沖彴涓嬬殑BitmapDC<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    <span style="color: #0000FF; ">bool</span> getBitmapFromJava(<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span> *text, <span style="color: #0000FF; ">int</span> nWidth, <span style="color: #0000FF; ">int</span> nHeight, CCImage::ETextAlign eAlignMask, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span> * pFontName, <span style="color: #0000FF; ">float</span> fontSize)<br />    {<br />        JniMethodInfo methodInfo;<br />        <span style="color: #0000FF; ">if</span> (! JniHelper::getStaticMethodInfo(methodInfo, "<strong>org/cocos2dx/lib/Cocos2dxBitmap</strong>", "<strong>createTextBitmap</strong>", <br />            "(Ljava/lang/String;Ljava/lang/String;IIII)V"))<br />        {<br />            CCLOG("%s %d: error to get methodInfo", __FILE__, __LINE__);<br />            <span style="color: #0000FF; ">return</span> <span style="color: #0000FF; ">false</span>;<br />        }<br /><br />        <img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><br />}</div><br />榪欓噷鏄劇ず浜嗚皟鐢↗AVA浠g爜<strong style="font-size: 13.333333969116211px; ">Cocos2dxBitmap.java</strong>涓嬬殑<strong style="font-size: 13.333333969116211px; ">createTextBitmap</strong>鍑芥暟<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    <span style="color: #008000; ">/*</span><span style="color: #008000; "><br />     * @width: the width to draw, it can be 0<br />     * @height: the height to draw, it can be 0<br />     </span><span style="color: #008000; ">*/</span><br />    <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">void</span> createTextBitmap(String content, String fontName, <br />            <span style="color: #0000FF; ">int</span> fontSize, <span style="color: #0000FF; ">int</span> alignment, <span style="color: #0000FF; ">int</span> width, <span style="color: #0000FF; ">int</span> height){<br />        <br />        content = refactorString(content);       <br />        Paint paint = <strong>newPaint</strong>(<strong>fontName</strong>, fontSize, alignment);<br />        <br />        TextProperty textProperty = computeTextProperty(content, paint, width, height);          <br /><br />        <span style="color: #0000FF; ">int</span> bitmapTotalHeight = (height == 0 ? textProperty.totalHeight:height);<br /><br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> Draw text to bitmap</span><span style="color: #008000; "><br /></span>        Bitmap bitmap = Bitmap.createBitmap(textProperty.maxWidth, <br />                bitmapTotalHeight, Bitmap.Config.ARGB_8888);<br />        Canvas canvas = <span style="color: #0000FF; ">new</span> Canvas(bitmap);<br />        <br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> Draw string</span><span style="color: #008000; "><br /></span>        FontMetricsInt fm = paint.getFontMetricsInt();<br />        <span style="color: #0000FF; ">int</span> x = 0;<br />        <span style="color: #0000FF; ">int</span> y = computeY(fm, height, textProperty.totalHeight, alignment);<br />        String[] lines = textProperty.lines;<br />        <span style="color: #0000FF; ">for</span> (String line : lines){<br />            x = computeX(paint, line, textProperty.maxWidth, alignment);<br />            canvas.drawText(line, x, y, paint);<br />            y += textProperty.heightPerLine;<br />        }<br />        <br />        initNativeObject(bitmap);<br />    }</div><br />鍦?strong style="font-size: 13.333333969116211px; ">newPaint</strong>鍑芥暟涓皟鐢ㄤ簡瀛椾綋鍔犺澆<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">private</span> <span style="color: #0000FF; ">static</span> Paint newPaint(String fontName, <span style="color: #0000FF; ">int</span> fontSize, <span style="color: #0000FF; ">int</span> alignment){<br />        Paint paint = <span style="color: #0000FF; ">new</span> Paint();<br />        paint.setColor(Color.WHITE);<br />        paint.setTextSize(fontSize);      <br />        paint.setAntiAlias(<span style="color: #0000FF; ">true</span>);    <br />        <br />        <span style="color: #008000; ">/*</span><span style="color: #008000; "><br />         * Set type face for paint, now it support .ttf file.<br />         </span><span style="color: #008000; ">*/</span><br />        <span style="color: #0000FF; ">if</span> (fontName.endsWith(<span style="color: red; ">".ttf"</span>)){     <span style="color: red; "> //</span><span style="font-size: 14.44444465637207px; color: red; ">瀛椾綋闇瑕?ttf緇撴潫</span><br />             <span style="color: #0000FF; ">try</span> {<br />                <span style="color: #008000; ">//</span><span style="color: #008000; ">Typeface typeFace = Typeface.createFromAsset(context.getAssets(), fontName);</span><span style="color: #008000; "><br /></span>                 <strong>Typeface typeFace = Cocos2dxTypefaces.<span style="color: #0000FF; ">get</span>(context, fontName);</strong><br />                  <strong>paint.setTypeface(typeFace);</strong><br />             } <span style="color: #0000FF; ">catch</span> (Exception e){<br />                 Log.e("Cocos2dxBitmap", <br />                     "error to create ttf type face: " + fontName);<br />                 <br />                 <span style="color: #008000; ">/*</span><span style="color: #008000; "><br />                  * The file may not find, use system font<br />                  </span><span style="color: #008000; ">*/</span><br />                 paint.setTypeface(Typeface.create(fontName, Typeface.NORMAL));<br />             }<br />        }<br />        <span style="color: #0000FF; ">else</span> {<br />            paint.setTypeface(Typeface.create(fontName, Typeface.NORMAL));<br />        }<br />        <br />        .......<br />        <br />        <span style="color: #0000FF; ">return</span> paint;<br />    }</div><div>錛圥S:Typeface綾誨畾涔夊瓧浣撳拰瀛椾綋鍐呭湪鐨勭被鍨嬨傝繖涓被琚敤鍦ㄧ敾絎擯aint璁劇疆鐨勬椂鍊欙紝姣斿鐢╰extSize,textSkewX鍜宼extScale璁劇疆鏉ユ寚瀹歵ext鍦ㄧ敾鐨勬椂鍊欏浣曟潵鏄劇ず鍜屾祴閲忋?/div>android涓敤Typeface鏉ユ寚瀹氬瓧浣擄級<br /><br />鍙︿竴鐐歸渶瑕佹敞鎰忕殑鏄細瀛椾綋闇瑕?ttf緇撴潫<br /><br /><strong>浣跨敤鏂規硶</strong>錛?br />1.鍦╬roj.android\assets鏂囦歡澶逛腑娣誨姞<span style="color: red; ">girl.ttf</span><br />2.紼嬪簭涓皟鐢ㄥ搴旂殑瀛椾綋灝卞彲浠ヤ簡<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    CCSize size = CCDirector::sharedDirector()->getWinSize();<br />    CCLabelTTF* label = CCLabelTTF::create("灝戝コHelloWorld", "<span style="color: red; ">girl.ttf</span>", 24);<br />    label->setPosition(ccp(size.width/2, size.height/2));<br />    addChild(label);</div>3.濡傛灉浣犻渶瑕佹樉紺烘眽瀛楋紝鍒欓渶瑕佸皢鍖呭惈鏈夊瓧絎︿覆鐨勬枃浠?濡?cpp)杞崲涓篣TF-8鏍煎紡緙栫爜錛屽惁鍒欎細鏄劇ず涔辯爜<br /><br />IOS鍜寃in32騫沖彴娌℃湁嫻嬭瘯錛岀浉淇$殑宸笉澶?br /><br />闄勪笂嫻嬭瘯鍥劇墖錛?br /><img src="http://m.shnenglu.com/images/cppblog_com/wc250en007/cocos2d-x/Screenshot_2012-10-15-16-55-33.png" alt="" /><br /><br /><br /><br />鍝堝搱 鍙互鍦ㄦ父鎴忎腑鎵撳寘鑷繁鎯寵鐨勫瓧浣撳暒<br /><br /><br /><br /><br /><br /><br /><img src ="http://m.shnenglu.com/wc250en007/aggbug/193320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/wc250en007/" target="_blank">椋庤交浜戞貳</a> 2012-10-15 16:58 <a href="http://m.shnenglu.com/wc250en007/archive/2012/10/15/193320.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>VC 鐢熸垚鍚庝簨浠?Post-Build Eventhttp://m.shnenglu.com/wc250en007/archive/2012/09/07/189795.html椋庤交浜戞貳椋庤交浜戞貳Fri, 07 Sep 2012 04:15:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/09/07/189795.htmlhttp://m.shnenglu.com/wc250en007/comments/189795.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/09/07/189795.html#Feedback1http://m.shnenglu.com/wc250en007/comments/commentRss/189795.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/189795.html
visual studio->鍙抽敭宸ョ▼->properties->Build Events->Post-Build Event->Command Line涓?br />
xcopy $(OutDir)$(TargetFileName) $(ProjectDir)..\Resources\ /Y

榪欎釜鍛戒護寮忓姛鑳芥槸灝嗙敓鎴愮洰褰曚笅鐨別xe鏂囦歡鎷瘋礉鍒板伐紼嬬洰褰曚笂涓綰х洰褰曚笅鐨凴esources鏂囦歡澶逛笅

娉ㄦ剰鐐癸細

1.$(OutDir)絳夊畯璺緞涓凡緇忛檮甯︿簡'\'
2.鐢熸垚鍚庝簨浠秞copy鍏跺疄灝辨槸榪愯涓涓帶鍒跺彴鍛戒護錛屾墍浠?strong>鍛戒護涓嶆敮鎸?#8216;/'

鍍忎箣鍓嶅啓鐨勪竴涓敊璇懡浠?br />
xcopy $(OutDir)$(TargetFileName) $(ProjectDir)../Resources\ /Y
榪愯浼氭彁紺洪敊璇?br />
3.“/Y"鏄弬鏁幫紝琛ㄧず鏈夌浉鍚屾枃浠跺瓨鍦ㄥ垯鏇挎崲

褰撶劧涔熷彲浠ユ嫹璐濇暣涓枃浠跺す
xcopy "$(ProjectDir)controls" "$(TargetDir)..\app1\controls" /y /i /e /exclude:CodeFilesToExclude.txt

鍏蜂綋鍙傛暟灝辮鍙傝冨埌CMD鎺у埗鍙頒笅鏌ョ湅xcopy鐨勫叿浣撳姛鑳戒簡...

]]>C++瀛︿範絎旇05 鐢辯被鍚嶅垱寤哄璞?/title><link>http://m.shnenglu.com/wc250en007/archive/2012/08/30/188728.html</link><dc:creator>椋庤交浜戞貳</dc:creator><author>椋庤交浜戞貳</author><pubDate>Thu, 30 Aug 2012 04:15:00 GMT</pubDate><guid>http://m.shnenglu.com/wc250en007/archive/2012/08/30/188728.html</guid><wfw:comment>http://m.shnenglu.com/wc250en007/comments/188728.html</wfw:comment><comments>http://m.shnenglu.com/wc250en007/archive/2012/08/30/188728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/wc250en007/comments/commentRss/188728.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/wc250en007/services/trackbacks/188728.html</trackback:ping><description><![CDATA[<div>1.搴旂敤錛?br /><strong>涔熻闇瑕佷竴涓剼鏈紝鑴氭湰涓湁涓涓弬鏁頒紶閫掔被鍚嶏紝浣犻渶瑕侀氳繃綾誨悕鏉ュ姩鎬佺殑鍒涘緩榪欎釜瀵硅薄錛岃繖鏃跺欏氨闇瑕佸姩鎬佸垱寤轟簡</strong><br /><br /> 2.鍘熺悊錛?br />C++涓嶆槸鍔ㄦ佽璦錛屾墍浠ユ病娉曚粠璇█鏈哄埗涓婂疄鐜扮被鐨勫姩鎬佸垱寤猴紝浣嗚繖鏍風殑闇姹傚嵈鏈夊彲鑳藉瓨鍦紝涓涓被浼肩殑渚嬪瓙渚挎槸MFC涓瑿Wnd綾葷殑Create鏂規硶錛屽叾絎竴涓弬鏁頒負Window Class鐨勫悕瀛楋紝榪欏氨鍏佽鐢ㄦ埛閫氳繃class鐨勫悕瀛楁潵鍒涘緩鐩稿簲鐨勭獥鍙c?/div><div> 瑕佹兂瀹炵幇榪欎竴鐐癸紝<span style="color: red; ">蹇呴』鏈変竴涓?#8220;綆$悊涓績”錛岀敤浜庣櫥璁扮被鐨勫悕瀛楋紝騫朵笖閫氳繃鍚嶅瓧鑳藉璋冪敤瀵瑰簲鐨勫垱寤烘柟娉曟潵鍒涘緩鐩稿簲鐨勫疄渚?/span>銆傜粨鍚堢被宸ュ巶鐨勮璁℃濇兂錛岃繖閲屾垜浠涓濂楃戶鎵夸綋緋諱腑鐨勫熀綾諱綔涓?#8220;綆$悊涓績”錛岀敱瀹冩潵緇存姢鎵鏈夋淳鐢熺被鐨勫繀瑕佷俊鎭紝鍖呮嫭綾誨悕鍜屽伐鍘傚嚱鏁幫紝榪欎簩鑰呭繀欏誨緩绔嬭搗鏄犲皠鍏崇郴錛宮ap鏄笉閿欑殑閫夋嫨銆傚畾涔変簡涓涓淳鐢熺被鍚庯紝瀹冨氨鑷姩鍚戝熀綾昏繘琛屾敞鍐?br /><br />3.瀹炵幇:<br />鍙互鐢ㄥ畯鏉ヤ唬鏇匡細<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">* <br />    瀹炵幇鍘熺悊:<br />    鍩虹被閲岄潰鐢╩ap綆$悊鎵鏈夐渶瑕佸姩鎬佸垱寤?nbsp;銆愮被鍚?鍒涘緩瀵硅薄鐨勫嚱鏁版寚閽堛?br />    鍩虹被澹版槑涓渶瑕佹坊鍔?nbsp;DECLEAR_DYNCRT_BASE 瀹?cpp瀹炵幇涓娣誨姞 IMPLEMENT_DYNCRT_BASE 瀹?br />    媧劇敓綾誨0鏄庝腑闇瑕佹坊鍔?nbsp;DECLEAR_DYNCRT_CLASS 瀹忥紝cpp瀹炵幇涓娣誨姞 IMPLEMENT_DYNCRT_CLASS 瀹?br />    媧劇敓綾誨畯涓垱寤轟簡涓涓叏灞瀵硅薄鍚戝熀綾籱ap涓敞鍐屻愮被鍚?鍒涘緩瀵硅薄鐨勫嚱鏁版寚閽堛?br />    </span><span style="color: #008000; ">*/</span><br />#include <map><br /><br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 澹版槑鍏鋒湁鍔ㄦ佸垱寤虹殑鍩虹被</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> DECLEAR_DYNCRT_BASE(base) \<br /><span style="color: #0000FF; ">public</span>: \<br />typedef <span style="color: #0000FF; ">base</span>* (*ClassGen)(); \<br /><span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">void</span> _register(<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* class_name, ClassGen class_gen) \<br />{ \<br />    class_set.insert(std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, ClassGen>::value_type(class_name, class_gen)); \<br />} \<br /><span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">base</span>* create(<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* class_name) \<br />{ \<br />    std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, ClassGen>::iterator it = class_set.find(class_name);   \<br />    <span style="color: #0000FF; ">if</span> (it != class_set.end()) \<br />        <span style="color: #0000FF; ">return</span> (it->second)(); \<br />    <span style="color: #0000FF; ">return</span> NULL; \<br />} \<br /><span style="color: #0000FF; ">protected</span>: \<br /><span style="color: #0000FF; ">static</span> std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, ClassGen> class_set;<br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄤ簬瀹炵幇鍩虹被</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> IMPLEMENT_DYNCRT_BASE(base) \<br />std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, <span style="color: #0000FF; ">base</span>::ClassGen> <span style="color: #0000FF; ">base</span>::class_set;<br /><br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄤ簬澹版槑涓涓兘澶熻鍔ㄦ佸垱寤虹殑綾?鐢ㄤ竴涓叏灞瀵硅薄榪涜娉ㄥ唽)</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> DECLEAR_DYNCRT_CLASS(derived, base) \<br /><span style="color: #0000FF; ">public</span>: \<br />    <span style="color: #0000FF; ">struct</span> derived##register \<br />    { \<br />        derived##register() \<br />        { \<br />            <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">bool</span> bRegister = <span style="color: #0000FF; ">false</span>; \<br />            <span style="color: #0000FF; ">if</span> (!bRegister) \<br />            { \<br />                <span style="color: #0000FF; ">base</span>::_register(#derived, _CreateObjectByName); \<br />                bRegister = <span style="color: #0000FF; ">true</span>; \<br />            } \<br />        } \<br />    }; \<br />    <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">base</span>* _CreateObjectByName() \<br />    { \<br />        <span style="color: #0000FF; ">return</span> <span style="color: #0000FF; ">new</span> derived; \<br />    }<br /><br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄤ簬瀹炵幇涓涓兘琚姩鎬佸垱寤虹殑綾?/span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> IMPLEMENT_DYNCRT_CLASS(derived) \<br />    <span style="color: #0000FF; ">static</span> derived::derived##register _##derived##global_object;</div><br />鎴戜滑闇瑕佸仛鐨勫氨鏄槸鍝﹂偅涓繖鍥涗釜瀹?br />闄勫姞涓婃祴璇曚唬鐮侊細<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; "> 嫻嬭瘯瀹炰緥:</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">class</span> Base<br />{<br />    DECLEAR_DYNCRT_BASE(Base)<br />    DECLEAR_DYNCRT_CLASS(Base, Base)<br /><span style="color: #0000FF; ">public</span>:<br />    <span style="color: #0000FF; ">virtual</span> <span style="color: #0000FF; ">void</span> Print()<br />    {<br />        std::cout << "This is base!" << std::endl;<br />    }<br />};<br /><br />IMPLEMENT_DYNCRT_BASE(Base)<br />IMPLEMENT_DYNCRT_CLASS(Base)<br /><br /><br /><span style="color: #0000FF; ">class</span> Derived : <span style="color: #0000FF; ">public</span> Base<br />{<br />    DECLEAR_DYNCRT_CLASS(Derived, Base)<br /><span style="color: #0000FF; ">public</span>:<br />    <span style="color: #0000FF; ">virtual</span> <span style="color: #0000FF; ">void</span> Print()<br />    {<br />        cout << "This is derived!" << endl;<br />    }<br />};<br />IMPLEMENT_DYNCRT_CLASS(Derived)<br /><br /><br /><span style="color: #0000FF; ">int</span> main()<br />{<br />    Base* <span style="color: #0000FF; ">base</span> = Base::create("Base");<br />    <span style="color: #0000FF; ">if</span> (<span style="color: #0000FF; ">base</span>)<br />        <span style="color: #0000FF; ">base</span>->Print();<br /><br />    system("pause");<br />    <span style="color: #0000FF; ">return</span> 0;<br />}</div><br /><br />鍙傝冨湴鍧錛?a >http://blog.csdn.net/freefalcon/article/details/109275</a> <br /><br /><br /></div><img src ="http://m.shnenglu.com/wc250en007/aggbug/188728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/wc250en007/" target="_blank">椋庤交浜戞貳</a> 2012-08-30 12:15 <a href="http://m.shnenglu.com/wc250en007/archive/2012/08/30/188728.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>cocos2d-x UI涔嬫妧鑳藉喎鍗存寜閽?/title><link>http://m.shnenglu.com/wc250en007/archive/2012/08/28/188511.html</link><dc:creator>椋庤交浜戞貳</dc:creator><author>椋庤交浜戞貳</author><pubDate>Tue, 28 Aug 2012 03:33:00 GMT</pubDate><guid>http://m.shnenglu.com/wc250en007/archive/2012/08/28/188511.html</guid><wfw:comment>http://m.shnenglu.com/wc250en007/comments/188511.html</wfw:comment><comments>http://m.shnenglu.com/wc250en007/archive/2012/08/28/188511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/wc250en007/comments/commentRss/188511.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/wc250en007/services/trackbacks/188511.html</trackback:ping><description><![CDATA[<div><div>鎶鑳藉喎鍗寸殑鏁堟灉璺熼瓟鍏戒笘鐣屼腑鐨勬妧鑳藉喎鍗寸被浼鹼紝鍔熻兘濡備笅:</div><div></div><div>鎶鑳藉浘鏍囩偣鍑繪椂浼氭湁鎸変笅鏁堟灉錛屾姮璧峰悗寮濮嬪喎鍗磋鏃訛紝鍐峰嵈璁℃椂鎶鏈悗璇ュ浘鏍囨墠鍙互鍐嶆榪涜鐐瑰嚮銆?/div><br />瀵瑰簲鐨勫浘鐗囪祫婧愶細</div><div><span style="color: red; ">    <strong>娉ㄦ剰</strong>:娣誨姞child鏃惰娉ㄦ剰涓婁笅灞?/span></div><div><span style="color: red; ">    鏈涓嬫柟鏄疌CMenuItemImage 鎸夐挳鍥劇墖</span></div><div><span style="color: red; ">    鍏舵鏄ā鐗堝浘鐗?鍗婇忔槑妯$増鍥劇墖</span></div><div><span style="color: red; ">    鏈涓婃柟鏄疌CProgressTimer 鍥劇墖鏄渶涓嬪浘涓緝澶х殑閭d釜鐩劇墝鍥劇墖</span></div><div>榪欐槸浣跨敤鐨勫浘鐗囪祫婧?/div><div>  <img src="http://m.shnenglu.com/images/cppblog_com/wc250en007/cocos2d-x/normal.png" border="0" alt="" width="64" height="64" /> <img src="http://m.shnenglu.com/images/cppblog_com/wc250en007/cocos2d-x/click.png" border="0" alt="" width="64" height="64" /> <img src="http://m.shnenglu.com/images/cppblog_com/wc250en007/cocos2d-x/stencil.png" border="0" alt="" width="64" height="64" /></div><div></div><div><strong>鍔ㄧ敾鍘熺悊</strong>錛?/div><div>闈炲喎鍗寸姸鎬佹椂鍙樉紺篊CMenuItemImage錛屽綋鍐峰嵈寮濮嬭鏃舵椂錛屽皢鎸夐挳璁句負涓嶅彲鐐瑰嚮鐘舵侊紝鍚屽皢鍗婇忔槑妯℃澘鍜岃繘搴︽潯綺劇伒璁劇疆涓哄彲瑙佺姸鎬侊紝騫朵笖榪涘害鏉$簿鐏靛紑濮嬭繘琛屾棆杞姩浣滐紝鏃嬭漿緇撴潫鍚庡湪鍥炶皟鍑芥暟涓皢鍗婇忔槑妯℃澘鍜岃繘搴︽潯綺劇伒璁句負涓嶅彲瑙侊紝鎸夐挳閲嶆柊璁劇疆涓哄彲鐐瑰嚮鐘舵併?br /><br /><strong>浣跨敤鏂規硶</strong>錛?br /><div>鍒涘緩涓涓猄killButton鎸囬拡錛屼慨鏀瑰喎鍗存椂闂達紝鍔ㄧ敾琛ㄧ幇(濡傝挋鏉夸粠鏃嬭漿鏀逛負绔栫洿鏂瑰悜)錛屽茍灝哠killButton娣誨姞鍒發ayer涓婂嵆鍙?br /><br />浼犱釜鏁堟灉鍥?br /><img src="http://m.shnenglu.com/images/cppblog_com/wc250en007/cocos2d-x/SkillButton.png" border="0" alt="" width="636" height="238" /><br /><br /><br /><div>SkillButton.h</div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">* <br />    瀹炵幇鎶鑳藉喎鍗存晥鏋?nbsp;<br /><br />    Notice:娣誨姞child鏃惰娉ㄦ剰涓婁笅灞傚叧緋?br />    鏈涓嬫柟鏄寜閽?nbsp;鍏舵鏄崐閫忔槑鐨勬ā鐗堝浘鐗?nbsp;鏈涓婃柟鏄疌CProgressTimer榪涘害鏉$簿鐏?br /></span><span style="color: #008000; ">*/</span><br />#ifndef _SKILLBUTTON_H_<br /><span style="color: #0000FF; ">#define</span> _SKILLBUTTON_H_<br />#include <cocos2d.h><br /><br /><span style="color: #0000FF; ">class</span> SkillButton : <span style="color: #0000FF; ">public</span> cocos2d::CCNode<br />{<br /><span style="color: #0000FF; ">public</span>:<br />    SkillButton();<br />    <span style="color: #0000FF; ">virtual</span> ~SkillButton();<br /><br />    <span style="color: #008000; ">/*</span><span style="color: #008000; ">* 鍒涘緩涓涓猄killButton瀵硅薄<br />        </span><span style="color: #008000; ">*/</span><br />    <span style="color: #0000FF; ">static</span> SkillButton* createSkillButton(<span style="color: #0000FF; ">float</span> cdTime,<br />                                        <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* stencil_file_name, <br />                                        <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_normal_name, <br />                                        <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_click_name);<br /><br />    <span style="color: #008000; ">/*</span><span style="color: #008000; ">* CD鏃墮棿璁劇疆<br />        </span><span style="color: #008000; ">*/</span><br />    <span style="color: #0000FF; ">void</span>    setCDTime(<span style="color: #0000FF; ">float</span> time) { mCDTime = time; }<br />    <span style="color: #0000FF; ">float</span>   getCDTime() <span style="color: #0000FF; ">const</span> { <span style="color: #0000FF; ">return</span> mCDTime; }<br /><br />    <span style="color: #008000; ">/*</span><span style="color: #008000; ">* 鎶鑳芥寜閽偣鍑誨洖璋?nbsp;</span><span style="color: #008000; ">*/</span><br />    <span style="color: #0000FF; ">void</span>    skillClickCallBack(cocos2d::CCObject* obj);<br /><br />    <span style="color: #008000; ">/*</span><span style="color: #008000; ">* 鎶鑳藉喎鍗村畬姣曞洖璋?/span><span style="color: #008000; ">*/</span><br />    <span style="color: #0000FF; ">void</span>    skillCoolDownCallBack(cocos2d::CCNode* node);<br /><br /><span style="color: #0000FF; ">private</span>:<br /><br />    <span style="color: #008000; ">/*</span><span style="color: #008000; ">* 鍒濆鍖?nbsp;</span><span style="color: #008000; ">*/</span><br />    <span style="color: #0000FF; ">bool</span>    init(<span style="color: #0000FF; ">float</span> cdTime, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* stencil_file_name, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_normal_name, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_click_name);<br /><br /><span style="color: #0000FF; ">private</span>:<br />    cocos2d::CCMenuItemImage*   mItemSkill;     <span style="color: #008000; ">//</span><span style="color: #008000; "> 鎶鑳芥寜閽?/span><span style="color: #008000; "><br /></span>    cocos2d::CCMenu*            mMenuSkill;     <span style="color: #008000; ">//</span><span style="color: #008000; "> 鎶鑳芥寜閽墍鍦╩enu</span><span style="color: #008000; "><br /></span>    cocos2d::CCSprite*          mStencil;       <span style="color: #008000; ">//</span><span style="color: #008000; "> 钂欐澘綺劇伒,榛戣壊鍗婇忔槑(榪欎釜鏄負浜嗘樉紺轟竴涓喎鍗磋鏃舵晥鏋?</span><span style="color: #008000; "><br /></span>    cocos2d::CCProgressTimer*   mProgressTimer; <span style="color: #008000; ">//</span><span style="color: #008000; "> 鏃墮棿榪涘害鏉$簿鐏?360搴︽棆杞?</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">float</span>                       mCDTime;          <span style="color: #008000; ">//</span><span style="color: #008000; "> CD鏃墮棿</span><span style="color: #008000; "><br /></span>};<br /><br /><br /><span style="color: #0000FF; ">#endif</span></div><br /><br />SkillButton.cpp<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include "SkillButton.h"<br /><br /><br />USING_NS_CC;<br /><br />SkillButton::SkillButton():<br />    mItemSkill(NULL),<br />    mMenuSkill(NULL),<br />    mStencil(NULL),<br />    mProgressTimer(NULL),<br />    mCDTime(1.f)<br />{<br /><br />}<br /><br />SkillButton::~SkillButton()<br />{<br /><br />}<br /><br />SkillButton* SkillButton::createSkillButton(<span style="color: #0000FF; ">float</span> cdTime, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* stencil_file_name, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_normal_name, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_click_name)<br />{<br />    SkillButton* skillButton = <span style="color: #0000FF; ">new</span> SkillButton();<br />    <span style="color: #0000FF; ">if</span> (skillButton && skillButton->init(cdTime, stencil_file_name, button_normal_name, button_click_name))<br />    {<br />        skillButton->autorelease();<br />        <span style="color: #0000FF; ">return</span> skillButton;<br />    }<br />    <span style="color: #0000FF; ">else</span><br />    {<br />        delete skillButton;<br />        skillButton = NULL;<br />    }<br /><br />    <span style="color: #0000FF; ">return</span> NULL;<br />}<br /><br /><span style="color: #0000FF; ">bool</span> SkillButton::init(<span style="color: #0000FF; ">float</span> cdTime, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* stencil_file_name, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_normal_name, <span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* button_click_name)<br />{<br />    CCAssert(stencil_file_name, "SkillButton::init stencil_file_name != NULL");<br />    CCAssert(button_normal_name, "SkillButton::init button_normal_name != NULL");<br />    CCAssert(button_click_name, "SkillButton::init button_click_name != NULL");<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> Notice:娣誨姞child鏃惰娉ㄦ剰涓婁笅灞?br />    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 鏈涓嬫柟鏄疌CMenuItemImage 鍏舵鏄ā鐗堝浘鐗?nbsp;鏈涓婃柟鏄疌CProgressTimer<br /><br />    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 娣誨姞鎶鑳芥寜閽?/span><span style="color: #008000; "><br /></span>    mItemSkill = CCMenuItemImage::create(button_normal_name, button_click_name, <span style="color: #0000FF; ">this</span>, menu_selector(SkillButton::skillClickCallBack));<br />    mItemSkill->setPosition(CCPointZero);<br /><br />    mMenuSkill = CCMenu::create(mItemSkill, NULL);<br />    mMenuSkill->setPosition(CCPointZero);<br />    addChild(mMenuSkill, -100);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 娣誨姞闃村獎妯$増</span><span style="color: #008000; "><br /></span>    mStencil = CCSprite::create(stencil_file_name);<br />    mStencil->setPosition(CCPointZero);<br />    mStencil->setVisible(<span style="color: #0000FF; ">false</span>);<br />    addChild(mStencil);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 娣誨姞鏃嬭漿榪涘害鏉$簿鐏?/span><span style="color: #008000; "><br /></span>    CCSprite* progressSprite = CCSprite::create(button_normal_name);<br />    mProgressTimer = CCProgressTimer::create(progressSprite);<br />    mProgressTimer->setPosition(CCPointZero);<br />    mProgressTimer->setVisible(<span style="color: #0000FF; ">false</span>);<br />    addChild(mProgressTimer, 100);<br /><br />    mCDTime = cdTime;<br />    <span style="color: #0000FF; ">return</span> <span style="color: #0000FF; ">true</span>;<br />}<br /><br /><span style="color: #008000; ">/*</span><span style="color: #008000; ">* 鎶鑳芥寜閽偣鍑誨洖璋?nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #0000FF; ">void</span> SkillButton::skillClickCallBack(cocos2d::CCObject* obj)<br />{<br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 鍐峰嵈璁℃椂錛屽嵆鏃剁姸鎬佹妧鑳芥寜閽笉鍙偣鍑?/span><span style="color: #008000; "><br /></span>    mItemSkill->setEnabled(<span style="color: #0000FF; ">false</span>);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 妯$増鍙</span><span style="color: #008000; "><br /></span>    mStencil->setVisible(<span style="color: #0000FF; ">true</span>);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 璁劇疆綺劇伒榪涘害鏉′負欏烘椂閽?/span><span style="color: #008000; "><br /></span>    mProgressTimer->setVisible(<span style="color: #0000FF; ">true</span>);<br />    mProgressTimer->setType(kCCProgressTimerTypeRadial);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; ">鍑嗗涓涓?縐掓棆杞?60搴︾殑鍔ㄧ敾(閫愭笎瑕嗙洊鍗婇忔ā鏉垮艦鎴愬喎鍗存晥鏋?榪欓噷榪涜璁℃椂鍐峰嵈鍔ㄧ敾鐨勫疄鐜板拰鏃墮棿鎺у埗)</span><span style="color: #008000; "><br /></span>    CCActionInterval* action_progress_to = CCProgressTo::create(mCDTime, 100);<br />    CCCallFunc* action_callback = CCCallFuncN::create(<span style="color: #0000FF; ">this</span>, callfuncN_selector(SkillButton::skillCoolDownCallBack));<br />    mProgressTimer->runAction(CCSequence::create(action_progress_to, action_callback, NULL));<br />}<br /><br /><span style="color: #008000; ">/*</span><span style="color: #008000; ">* 鎶鑳藉喎鍗村畬鎴愬洖璋?nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #0000FF; ">void</span> SkillButton::skillCoolDownCallBack(CCNode* node)<br />{<br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 璁劇疆钂欐澘涓嶅彲瑙?/span><span style="color: #008000; "><br /></span>    mStencil->setVisible(<span style="color: #0000FF; ">false</span>);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 榪涘害鏉℃妧鑳戒笉鍙</span><span style="color: #008000; "><br /></span>    mProgressTimer->setVisible(<span style="color: #0000FF; ">false</span>);<br /><br />    <span style="color: #008000; ">//</span><span style="color: #008000; "> 鎸夐挳緗負鍙敤</span><span style="color: #008000; "><br /></span>    mItemSkill->setEnabled(<span style="color: #0000FF; ">true</span>);<br />}</div><br />嫻嬭瘯浠g爜錛?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    mSkillButton = SkillButton::createSkillButton(2.f, "stencil.png", "normal.png", "click.png");<br />    mSkillButton->setPosition(ccp(s.width/2, s.height/2));<br />    addChild(mSkillButton);</div><br /><a title="浠g爜涓嬭澆" href="/Files/wc250en007/cocos2d-x/SkillButton.rar">浠g爜涓嬭澆</a><br /><br />鍙傝冨湴鍧錛?br /><a >http://blog.sina.com.cn/s/blog_732784f70100umuj.html</a> <br /><a >http://www.cocos2dev.com/?p=64</a> <br /><br /></div></div><img src ="http://m.shnenglu.com/wc250en007/aggbug/188511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/wc250en007/" target="_blank">椋庤交浜戞貳</a> 2012-08-28 11:33 <a href="http://m.shnenglu.com/wc250en007/archive/2012/08/28/188511.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>cocos2d-x 緇橲prite娣誨姞Mask錛堥伄緗?http://m.shnenglu.com/wc250en007/archive/2012/08/26/188362.html椋庤交浜戞貳椋庤交浜戞貳Sun, 26 Aug 2012 15:06:00 GMThttp://m.shnenglu.com/wc250en007/archive/2012/08/26/188362.htmlhttp://m.shnenglu.com/wc250en007/comments/188362.htmlhttp://m.shnenglu.com/wc250en007/archive/2012/08/26/188362.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/188362.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/188362.html闃呰鍏ㄦ枃

]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              免费在线亚洲| 激情综合网址| 99精品福利视频| 欧美交受高潮1| 夜夜嗨一区二区三区| 亚洲日本乱码在线观看| 欧美激情亚洲一区| 亚洲自拍都市欧美小说| 久久婷婷国产综合尤物精品| 影音先锋中文字幕一区二区| 欧美三级不卡| 性欧美大战久久久久久久免费观看 | 欧美精品一区二区三| 欧美sm视频| 一区二区三区日韩欧美精品| 国产三级精品三级| 久久久精品国产免大香伊| 99精品欧美一区二区三区| 久久成人综合网| 亚洲图片欧洲图片av| 亚洲高清激情| 影音先锋日韩精品| 国模精品一区二区三区| 欧美日韩国产综合一区二区| 亚洲欧美一级二级三级| 日韩视频在线你懂得| 嫩草国产精品入口| 欧美一区二区大片| 亚洲精品久久嫩草网站秘色 | 欧美aa在线视频| 99精品国产高清一区二区 | 国产日韩欧美在线播放不卡| 美女诱惑黄网站一区| 中国成人黄色视屏| 亚洲欧洲日产国产综合网| 午夜影院日韩| 欧美中文字幕视频| 久久久水蜜桃| 亚洲高清不卡av| 欧美成人免费在线视频| 欧美成人免费在线观看| 开心色5月久久精品| 久久久免费av| 亚洲国产高清视频| 亚洲国产欧美日韩| 亚洲网址在线| 久久9热精品视频| 久久综合九色综合网站| 老司机aⅴ在线精品导航| 欧美成人a视频| 国产精品啊啊啊| 好吊妞这里只有精品| 亚洲国产一区二区三区在线播| 亚洲国产专区| 亚洲私拍自拍| 欧美成人免费在线视频| 欧美国产日韩xxxxx| 亚洲黄色在线看| 亚洲欧美日韩第一区| 久久www成人_看片免费不卡| 欧美国产一区二区| 国产精品久久久久久模特| 国产一区二区高清| 亚洲视频第一页| 久久综合伊人77777麻豆| 亚洲视频一区在线| 久久综合精品国产一区二区三区| 欧美视频日韩视频在线观看| 亚洲国产成人精品视频| 欧美天堂亚洲电影院在线观看| 欧美jjzz| 国产自产v一区二区三区c| 一区二区三区欧美在线观看| 欧美一区视频| 亚洲国产日韩欧美综合久久| 在线午夜精品自拍| 欧美日韩在线直播| 亚洲激情电影在线| 久久久久国产精品一区三寸 | 欧美精品激情在线| 娇妻被交换粗又大又硬视频欧美| 中文av字幕一区| 夜久久久久久| 欧美日韩伊人| 亚洲神马久久| 午夜欧美电影在线观看| 国产精品久久久久久久久搜平片 | 国产精品狼人久久影院观看方式| 亚洲欧洲视频| 最新日韩在线视频| 欧美精品一区在线| 亚洲欧美日本精品| 亚洲一区国产一区| 国内一区二区三区在线视频| 欧美成人免费全部| 欧美日韩www| 午夜精品久久久久久久| 欧美一区二区精品在线| 在线观看91精品国产麻豆| 亚洲国产欧洲综合997久久| 欧美激情精品久久久六区热门 | 亚洲自拍另类| 鲁大师成人一区二区三区| 久久久综合网站| 亚洲激情影院| 亚洲免费av电影| 欧美小视频在线观看| 午夜在线不卡| 久久香蕉国产线看观看av| 一区二区三区日韩| 午夜精品久久久久久久白皮肤 | 久久久久久久久蜜桃| 99视频国产精品免费观看| 欧美一区二区三区四区夜夜大片 | 亚洲视频高清| 久久免费视频在线观看| 亚洲专区在线| 久久久噜久噜久久综合| 亚洲综合成人在线| 欧美日韩不卡| 亚洲福利一区| 亚洲国产精品电影在线观看| 香蕉久久精品日日躁夜夜躁| 一本色道婷婷久久欧美| 久久综合图片| 久久婷婷激情| 国产亚洲va综合人人澡精品| 先锋影音网一区二区| 亚洲在线观看视频| 男人的天堂亚洲在线| 开心色5月久久精品| 国产一区视频观看| 香蕉久久夜色| 欧美77777| 亚洲韩日在线| 免费在线亚洲欧美| 亚洲精品1区| 一区二区三区日韩欧美精品| 免费在线成人| 日韩午夜电影av| 欧美诱惑福利视频| 欧美日韩一区免费| 亚洲一区免费看| 久久国产精品99久久久久久老狼| 国产精品男人爽免费视频1| 午夜视频久久久久久| 欧美视频一区二区在线观看 | 欧美福利在线| 国产欧美日韩在线视频| 久久精品国产清高在天天线| 久久久夜色精品亚洲| 国产综合视频| 免费成人高清| 欧美伊人影院| 亚洲精品影院| 蜜桃伊人久久| 亚洲一区二区三区免费观看| 国产精品vvv| 玖玖国产精品视频| 在线视频你懂得一区二区三区| 老司机一区二区| 日韩午夜三级在线| 欧美吻胸吃奶大尺度电影| 性欧美大战久久久久久久久| 亚洲激情在线观看| 欧美一区二区三区久久精品| 亚洲精品一区二区在线| 好吊色欧美一区二区三区四区| 欧美成人情趣视频| 欧美一区二区三区在线视频| 99re成人精品视频| 99国产精品久久久久久久成人热| 久久精品免费电影| 香蕉久久国产| 亚洲资源在线观看| 99精品国产99久久久久久福利| 国产一区在线免费观看| 国产精品欧美久久| 国产精品极品美女粉嫩高清在线| 欧美高清视频一区二区| 性欧美8khd高清极品| 亚洲欧美色一区| 亚洲嫩草精品久久| 午夜精品久久久久久久99水蜜桃| 亚洲天堂久久| 亚洲一区综合| 亚洲欧美国产另类| 性8sex亚洲区入口| 久久aⅴ乱码一区二区三区| 亚洲欧美另类久久久精品2019| 亚洲免费视频成人| 欧美一级视频一区二区| 亚洲欧美日韩区| 久久久伊人欧美| 欧美成人午夜影院| 国产精品视频精品| 亚洲国产成人午夜在线一区| 一区二区三区精品| 久久精品国产精品亚洲精品| 欧美激情2020午夜免费观看|