锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩国产亚洲一区,美女成人午夜,亚洲综合电影http://m.shnenglu.com/robinchow/zh-cnSun, 16 Nov 2025 18:54:43 GMTSun, 16 Nov 2025 18:54:43 GMT60[瀵煎叆]Effective C++璇諱功絎旇http://m.shnenglu.com/robinchow/archive/2007/10/23/35016.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35016.htmlhttp://m.shnenglu.com/robinchow/comments/35016.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35016.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35016.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35016.html1.涓烘柟渚胯皟璇曪紝鏈濂戒嬌鐢ㄥ父閲忋?br />娉ㄦ剰錛氬父閲忓畾涔変竴鑸斁鍦ㄥご鏂囦歡涓紝鍙皢鎸囬拡鍜屾寚閽堟墍鎸囩殑綾誨瀷閮藉畾涔夋垚const錛屽const char * const authorName = 鈥淪cott Meyers鈥?
綾諱腑甯擱噺閫氬父瀹氫箟涓洪潤鎬佹垚鍛橈紝 鑰屼笖闇瑕佸厛澹版槑鍚庡畾涔夈傚彲浠ュ湪澹版槑鏃舵垨瀹氫箟鏃惰祴鍊鹼紝涔熷彲浣跨敤鍊熺敤enum鐨勬柟娉曘傚enum{Num = 5};
2.#define璇彞閫犳垚鐨勯棶棰樸?br />濡?define max(a, b) ((a) > (b) ? (a) : (b))
鍦ㄤ笅闈㈡儏鍐典笅錛?br />Int a= 5, b = 0;
max(++ a, b);
max(++ a, b + 10);
max鍐呴儴鍙戠敓浜涗粈涔堝彇鍐充簬瀹冩瘮杈冪殑鏄粈涔堝箋傝В鍐蟲柟娉曟槸浣跨敤inline鍑芥暟錛屽彲浠ヤ嬌鐢╰emplate鏉ヤ駭鐢熶竴涓嚱鏁伴泦銆?br />
鏉℃2錛氬敖閲忕敤鑰屼笉鐢?br />鐢?gt;> 鍜?lt;<浣垮緱緙栬瘧鍣ㄨ嚜宸卞彲浠ユ牴鎹笉鍚岀殑鍙橀噺綾誨瀷閫夋嫨鎿嶄綔絎︾殑涓嶅悓褰㈠紡錛岃岄噰鍙栫殑璇硶褰㈠紡鐩稿悓銆?br />
鏉℃3錛氬敖閲忕敤new鍜宒elete鑰屼笉鐢╩alloc鍜宖ree
浣跨敤malloc鍜宖ree鐨勬椂鍊欎笉浼氳嚜宸辮皟鐢ㄦ瀯閫犲嚱鏁板拰鏋愭瀯鍑芥暟錛屽洜姝ゅ鏋滃璞¤嚜宸卞垎閰嶄簡鍐呭瓨鐨勮瘽錛岄偅涔堣繖浜涘唴瀛樹細鍏ㄩ儴涓㈠け銆傚彟澶栵紝灝唍ew鍜宮alloc娣風敤浼氬鑷翠笉鍙嫻嬬殑鍚庢灉銆?br />
鏉℃4錛氬敖閲忎嬌鐢–++椋庢牸鐨勬敞閲?br />C++鐨勬敞閲婂彲浠ュ湪娉ㄩ噴閲岃繕鏈夋敞閲婏紝鎵浠ユ敞閲婃帀涓涓唬鐮佸潡涓嶇敤鍒犻櫎榪欐浠g爜鐨勬敞閲娿侰鍒欎笉琛屻?br />
鏉℃5錛氬搴旂殑new鍜宒elete瑕侀噰鐢ㄧ浉鍚岀殑褰㈠紡
璋?鐢╪ew鏃剁敤浜哰]錛岃皟鐢╠elete鏃朵篃瑕佺敤 []銆傚鏋滆皟鐢╪ew鏃舵病鏈夌敤[]錛岄偅璋冪敤delete鏃朵篃涓嶈鐢╗]銆傚浜巘ypedef鏉ヨ錛岀敤new鍒涘緩浜嗕竴涓猼ypedef瀹氫箟鐨勭被鍨嬬殑瀵硅薄鍚庯紝 delete鏃跺繀欏繪牴鎹畉ypedef瀹氫箟鐨勭被鍨嬫潵鍒犻櫎銆傚洜姝わ紝涓轟簡閬垮厤娣蜂貢錛屾渶濂芥潨緇濇暟緇勭被鍨嬬敤typedef銆?br />
鏉℃6錛氭瀽鏋勫嚱鏁伴噷瀵規寚閽堟垚鍛樿皟鐢╠elete
鍒犻櫎絀烘寚閽堟槸瀹夊叏鐨勶紝鍥犳鍦ㄦ瀽鏋勫嚱鏁伴噷鍙互綆鍗曠殑delete綾葷殑鎸囬拡鎴愬憳錛岃屼笉鐢ㄦ媴蹇冧粬浠槸鍚﹁new榪囥?br />
鏉℃7錛氶鍏堝噯澶囧ソ鍐呭瓨涓嶈凍鐨勬儏鍐?br />1.鐢╰ry-cache鏉ユ崟鑾鋒姏鍑虹殑寮傚父銆?br />2. 褰撳唴瀛樺垎閰嶈姹備笉鑳芥弧瓚蟲椂錛岃皟鐢ㄩ鍏堟寚瀹氱殑涓涓嚭閿欏鐞嗗嚱鏁般傝繖涓柟娉曞熀浜庝竴涓父瑙勶紝鍗沖綋operator new涓嶈兘婊¤凍璇鋒眰鏃訛紝浼氬湪鎶涘嚭寮傚父涔嬪墠璋冪敤瀹㈡埛鎸囧畾鐨勪竴涓嚭閿欏鐞嗗嚱鏁扳斾竴鑸О涔嬩負new-handler鍑芥暟銆傝繕鍙互鍒涘緩涓涓販鍚堥鏍肩殑鍩虹被鈥旇繖縐嶅熀 綾誨厑璁稿瓙綾葷戶鎵垮畠鏌愪竴鐗瑰畾鐨勫姛鑳斤紙鍗沖嚱鏁幫級銆?br />
鏉℃8錛氬啓operator new鍜宱perator delete鏃惰閬靛驚甯歌
鍐呭瓨鍒嗛厤紼嬪簭鏀寔new-handler鍑芥暟騫舵紜湴澶勭悊浜嗛浂鍐呭瓨璇鋒眰錛屽茍涓斿唴瀛橀噴鏀劇▼搴忓鐞嗕簡絀烘寚閽堛傛澶栬繕蹇呴』瑕佹湁姝g‘鐨勮繑鍥炲箋?br />
鏉℃9錛氶伩鍏嶉殣钘忔爣鍑嗗艦寮忕殑new
鍦?綾婚噷瀹氫箟浜嗕竴涓О涓衡渙perator new鈥濈殑鍑芥暟鍚庯紝浼氫笉緇忔剰鍦伴樆姝簡瀵規爣鍑唍ew鐨勮闂紙鍒板簳濡備綍闅愯棌鐨勶紵錛燂紵錛夈備竴涓姙娉曟槸鍦ㄧ被閲屽啓涓涓敮鎸佹爣鍑唍ew璋冪敤鏂瑰紡鐨刼perator new錛屽畠鍜屾爣鍑唍ew鍋氬悓鏍風殑浜嬶紝榪欏彲浠ョ敤涓涓珮鏁堢殑鍐呰仈鍑芥暟鏉ュ皝瑁呭疄鐜般傚彟涓縐嶆柟娉曟槸涓烘瘡涓涓鍔犲埌operator new鐨勫弬鏁版彁渚涚己鐪佸箋?br />
鏉℃10錛氬鏋滃啓浜唎perator new灝辮鍚屾椂鍐檕perator delete
operator new鍜宱perator delete闇瑕佸悓鏃跺伐浣滐紝濡傛灉鍐欎簡operator new錛屽氨涓瀹氳鍐檕perator delete銆傚浜庝負澶ч噺鐨勫皬瀵硅薄鍒嗛厤鍐呭瓨鐨勬儏鍐碉紝鍙互鑰冭檻浣跨敤鍐呭瓨姹狅紝浠ョ壓鐗茬伒媧繪ф潵鎹㈠彇楂樻晥鐜囥?br />
鏉℃11錛氫負闇瑕佸姩鎬佸垎閰嶅唴瀛樼殑綾誨0鏄庝竴涓嫹璐濇瀯閫犲嚱鏁板拰涓涓祴鍊兼搷浣滅
濡傛灉娌℃湁鑷畾宸叉嫹璐濇瀯閫犲嚱鏁板拰璧嬪兼搷浣滅錛孋++浼氱敓鎴愬茍璋冪敤緙虹渷鐨勬嫹璐濇瀯閫犲嚱鏁板拰璧嬪兼搷浣滅錛屽畠浠瀵硅薄閲岀殑鎸囬拡榪涜閫愪綅鎷瘋礉錛岃繖浼氬鑷村唴瀛樻硠婕忓拰鎸囬拡閲嶅鍒犻櫎銆傚洜姝わ紝鍙綾婚噷鏈夋寚閽堟椂錛屽氨瑕佸啓鑷繁鐗堟湰鐨勬嫹璐濇瀯閫犲嚱鏁板拰璧嬪艱繍綆楃鍑芥暟銆?br />
鏉℃12錛氬敖閲忎嬌鐢ㄥ垵濮嬪寲鑰屼笉瑕佸湪鏋勯犲嚱鏁伴噷璧嬪?br />灝介噺浣跨敤鎴愬憳鍒濆鍖栧垪琛紝涓鏂歸潰瀵逛簬鎴愬憳鏉ヨ鍙渶鎵挎媴涓嬈℃嫹璐濇瀯閫犲嚱鏁扮殑浠d環錛岃岄潪鏋勯犲嚱鏁伴噷璧嬪兼椂鐨勪竴嬈★紙緙虹渷錛夋瀯閫犲嚱鏁板拰涓嬈¤祴鍊煎嚱鏁扮殑浠d環錛涘彟涓鏂歸潰const鍜屽紩鐢ㄦ垚鍛樺彧鑳借鍒濆鍖栬屼笉鑳借璧嬪箋?br />
鏉℃13錛氬垵濮嬪寲鍒楄〃涓殑鎴愬憳鍒楀嚭鐨勯『搴忓拰瀹冧滑鍦ㄧ被涓0鏄庣殑欏哄簭鐩稿悓
綾葷殑鎴愬憳鏄寜鐓у畠浠湪綾婚噷琚0鏄庣殑欏哄簭榪涜鍒濆鍖栫殑錛屽拰瀹冧滑鍦ㄦ垚鍛樺垵濮嬪寲鍒楄〃涓垪鍑虹殑欏哄簭娌℃湁鍏崇郴銆?br />
鏉℃14錛氱‘瀹氬熀綾繪湁铏氭瀽鏋勫嚱鏁?br />閫氳繃鍩虹被鐨勬寚閽堝幓鍒犻櫎媧劇敓綾葷殑瀵硅薄錛岃屽熀綾繪湁娌℃湁铏氭瀽鏋勫嚱鏁版椂錛岀粨鏋滃皢鏄笉鍙‘瀹氱殑銆傚洜姝ゅ繀欏誨皢鍩虹被鐨勬瀽鏋勫嚱鏁板0鏄庝負virtual銆備絾鏄紝鏃犳晠鐨勫0鏄庤櫄鏋愭瀯鍑芥暟鍜屾案榪滀笉鍘誨0鏄庝竴鏍鋒槸閿欒鐨勶紝澹版槑铏氬嚱鏁板皢褰卞搷鏁堢巼銆?br />
鏉℃15錛氳operator=榪斿洖*this鐨勫紩鐢?br />褰?瀹氫箟鑷繁鐨勮祴鍊艱繍綆楃鏃訛紝蹇呴』榪斿洖璧嬪艱繍綆楃宸﹁竟鍙傛暟鐨勫紩鐢紝*this銆傚鏋滀笉榪欐牱鍋氾紝灝變細瀵艱嚧涓嶈兘榪炵畫璧嬪鹼紝鎴栧鑷磋皟鐢ㄦ椂鐨勯殣寮忕被鍨嬭漿鎹笉鑳借繘琛岋紙闅?寮忕被鍨嬭漿鎹㈡椂瑕佺敤鍒頒復鏃跺璞★紝鑰屼復鏃跺璞℃槸const鐨勶級錛屾垨涓ょ鎯呭喌鍚屾椂鍙戠敓銆傚浜庢病鏈夊0鏄庣浉搴斿弬鏁頒負const鐨勫嚱鏁版潵璇達紝浼犻掍竴涓猚onst瀵硅薄鏄?闈炴硶鐨勩?br />
鏉℃16錛氬湪operator=涓鎵鏈夋暟鎹垚鍛樿祴鍊?br />褰撶被閲屽鍔犳柊鐨勬暟鎹垚鍛樻椂錛岃璁頒綇鏇存柊璧嬪艱繍綆楃鍑芥暟銆傚鍩虹被鐨勭鏈夋垚鍛樿祴鍊兼椂錛屽彲浠ユ樉紺鴻皟鐢ㄥ熀綾葷殑operator=鍑芥暟銆傛淳鐢熺被鐨勬嫹璐濇瀯閫犲嚱鏁頒腑蹇呴』璋冪敤鍩虹被鐨勬嫹璐濇瀯閫犲嚱鏁拌屼笉鏄己鐪佹瀯閫犲嚱鏁幫紝鍚﹀垯鍩虹被鐨勬暟鎹垚鍛樺皢涓嶈兘鍒濆鍖栥?br />
鏉℃17錛氬湪operator=涓鏌ョ粰鑷繁璧嬪肩殑鎯呭喌
鏄?紺虹殑鑷繁緇欒嚜宸辮祴鍊間笉甯歌錛屼絾鏄▼搴忎腑鍙兘瀛樺湪闅愬紡鐨勮嚜鎴戣祴鍊鹼細涓涓璞$殑涓や釜涓嶅悓鍚嶅瓧錛堝紩鐢級浜掔浉璧嬪箋傞鍏堬紝濡傛灉媯鏌ュ埌鑷繁緇欒嚜宸辮祴鍊煎氨绔嬪嵆榪斿洖錛屽彲 浠ヨ妭鐪佸ぇ閲忕殑宸ヤ綔錛涘叾嬈★紝涓涓祴鍊艱繍綆楃蹇呴』棣栧厛閲婃斁鎺変竴涓璞$殑璧勬簮錛岀劧鍚庢牴鎹柊鍊煎垎閰嶆柊鐨勮祫婧愶紝鍦ㄨ嚜宸辯粰鑷繁鐨勬儏鍐典笅錛岄噴鏀炬棫鐨勮祫婧愬皢鏄伨闅炬х殑銆?br />
鏉℃18錛氫簤鍙栦嬌綾葷殑鎺ュ彛瀹屾暣騫朵笖鏈灝?br />蹇呰鐨勫嚱鏁版槸鎷瘋礉鏋勯犲嚱鏁幫紝璧嬪艱繍綆楃鍑芥暟錛岀劧鍚庡湪姝ゅ熀紜涓婇夋嫨蹇呰鐨勩佹柟渚跨殑鍑芥暟鍔熻兘榪涜娣誨姞銆?br />
鏉℃19錛氬垎娓呮垚鍛樺嚱鏁幫紝闈炴垚鍛樺嚱鏁板拰鍙嬪厓鍑芥暟
鈻犺櫄鍑芥暟蹇呴』鏄垚鍛樺嚱鏁般傚鏋渇蹇呴』鏄櫄鍑芥暟錛屽氨璁╁畠縐頒負綾籧鐨勬垚鍛樺嚱鏁般?br />鈻爄oerator>>鍜宱perator<<鍐充笉鑳芥槸鎴愬憳鍑芥暟銆傚鏋渇鏄痮perator>>鎴杘perator<<錛岃f縐頒負闈炴垚鍛樺嚱鏁般傚鏋渇榪橀渶瑕?璁塊棶c鐨勯潪鍏湁鎴愬憳錛岃f縐頒負c鐨勫弸鍏冦?br />鈻犲叾瀹冩儏鍐典笅閮藉0鏄庝負鎴愬憳鍑芥暟銆傚鏋滀互涓婃儏鍐甸兘涓嶆槸錛岃f縐頒負c鐨勬垚鍛樺嚱鏁般?br />Result = onehalf * 2;鑳介氳繃緙栬瘧鐨勫師鍥狅細璋冪敤閲嶈澆*鎿嶄綔絎︾殑鎴愬憳鍑芥暟錛屽鍙傛暟2榪涜闅愬紡綾誨瀷杞崲銆?br />Result = 2 * onehalf;涓嶈兘閫氳繃緙栬瘧鐨勫師鍥狅細涓嶈兘瀵規垚鍛樺嚱鏁版墍鍦ㄥ璞★紙鍗蟲垚鍛樺嚱鏁頒腑this鎸囬拡鎸囧悜鐨勫璞★級榪涜杞崲銆?br />
鏉℃20錛氶伩鍏峱ublic鎺ュ彛鍑虹幇鏁版嵁鎴愬憳
璁塊棶涓鑷存э紝public鎺ュ彛閲岄兘鏄嚱鏁般?br />綺劇‘鐨勮闂帶鍒訛紝鍙互綺劇‘璁劇疆鏁版嵁鎴愬憳鐨勮鍐欐潈闄愩?br />鍔熻兘鍒嗙錛屽彲浠ョ敤涓孌佃綆楁潵鍙栦唬涓涓暟鎹垚鍛樸備婦渚嬶細璁$畻姹借濺琛岄┒鐨勫鉤鍧囬熷害銆?br />
鏉℃21錛氬敖閲忎嬌鐢╟onst
濡傛灉const鍑虹幇鍦?鍙峰乏杈癸紝鎸囬拡鎸囧悜鐨勬暟鎹負甯擱噺錛涘鏋渃onst鍑虹幇鍦?鍙峰彸杈癸紝鍒欐寚閽堟湰韜負甯擱噺錛涘鏋渃onst鍦ㄤ袱杈歸兘鍑虹幇錛屼簩鑰呴兘鏄父閲忋?br />灝唎perator鐨勮繑鍥炵粨鏋滃0鏄庝負const錛屼互闃叉瀵硅繑鍥炵粨鏋滆祴鍊鹼紝榪欐牱涓嶅悎甯歌銆?br />c+ +涓殑const錛氭垚鍛樺嚱鏁頒笉淇敼瀵硅薄涓殑浠諱綍鏁版嵁鎴愬憳鏃訛紝鍗充笉淇敼瀵硅薄涓殑浠諱綍涓涓瘮鐗規椂錛岃繖涓垚鍛樺嚱鏁版墠鏄痗onst鐨勩傞犳垚鐨勯棶棰樻槸鍙互淇敼鎸囬拡鎸?鍚戠殑鍊鹼紝鑰屼笖涓嶈兘淇敼瀵硅薄涓殑涓浜涘繀瑕佷慨鏀圭殑鍊箋傝В鍐蟲柟妗堟槸灝嗗繀瑕佷慨鏀圭殑鎴愬憳榪愮敤mutable鍏抽敭瀛椼傚彟涓縐嶆柟娉曟槸浣跨敤const_cast鍒濆鍖栦竴涓?灞閮ㄥ彉閲忔寚閽堬紝浣夸箣鎸囧悜this鎵鎸囩殑鍚屼竴涓璞℃潵闂存帴瀹炵幇銆傝繕鏈変竴縐嶆湁鐢ㄥ張瀹夊叏鐨勬柟娉曪細鍦ㄧ煡閬撳弬鏁頒笉浼氬湪鍑芥暟鍐呴儴琚慨鏀圭殑鎯呭喌涓嬶紝灝嗕竴涓猚onst瀵硅薄 浼犻掑埌涓涓彇闈瀋onst鍙傛暟鐨勫嚱鏁頒腑銆?br />
鏉℃22錛氬敖閲忕敤鈥滀紶寮曠敤鈥濊屼笉鐢ㄢ滀紶鍊尖?br />浼犲煎皢瀵艱嚧鏄傝吹鐨勫璞″紑閿錛岃屼紶寮曠敤鍒欓潪甯擱珮鏁堛?br />浼犲紩鐢ㄩ伩鍏嶄簡鈥滃垏鍓查棶棰樷濓紝鍗沖綋涓涓淳鐢熺被鐨勫璞′綔涓哄熀綾誨璞¤浼犻掓槸錛屾淳鐢熺被鐨勫璞$殑浣滀負媧劇敓綾繪墍鍏鋒湁鐨勬墍鏈夎涓虹壒鎬т細琚滃垏鍓測濇帀錛屼粠鑰屽彉鎴愪簡涓涓畝鍗曠殑鍩虹被瀵硅薄銆?br />
鏉℃23錛氬繀欏昏繑鍥炰竴涓璞℃椂涓嶈璇曞浘榪斿洖涓涓紩鐢ㄧ緝鍐?br />鍏稿瀷鎯呭喌錛氭搷浣滅閲嶈澆銆?br />甯歌鐨勯敊璇細
榪斿洖寮曠敤錛岃繑鍥炵殑鏄眬閮ㄥ璞$殑寮曠敤銆?br />鍫嗕腑鏋勯狅紝浣跨敤new鍒嗛厤鍐呭瓨錛屼絾鏄棤浜鴻礋璐elete鐨勮皟鐢紝浠庤岄犳垚鍐呭瓨娉勬紡銆?br />榪斿洖闈欐佸璞★紝瀵艱嚧璋冪敤鍚屼竴鍑芥暟姣旇緝鏃舵繪槸鐩哥瓑銆?br />姝g‘鐨勬柟娉曟槸鐩存帴鍦ㄥ爢鏍堜腑鍒涘緩瀵硅薄騫惰繑鍥炪?br />
鏉℃24錛氬湪鍑芥暟閲嶈澆鍜岃瀹氬弬鏁扮己鐪佸奸棿鎱庨噸閫夋嫨
濡傛灉鍙互閫夋嫨涓涓悎閫傜殑緙虹渷鍙傛暟錛屽惁鍒欏氨浣跨敤鍑芥暟閲嶈澆銆?br />鏈変竴浜涙儏鍐靛繀欏諱嬌鐢ㄩ噸杞斤細鍑芥暟鐨勭粨鏋滃彇鍐充簬浼犲叆鍙傛暟鐨勪釜鏁幫紱闇瑕佸畬鎴愪竴欏圭壒孌婄殑浠誨姟銆?br />
鏉℃25錛氶伩鍏嶅鎸囬拡鍜屾暟瀛楃被鍨嬮噸杞?br />瀵逛簬f(0)錛?浠h〃int榪樻槸null銆傜紪璇戝櫒璁や負鏄痠nt錛岃繖鍜屼漢浠殑鎯寵薄涓嶄竴鏍楓傝В鍐沖姙娉曟槸浣跨敤鎴愬憳妯℃澘錛屾瀯閫犱竴涓彲浠ヤ駭鐢焠ull鎸囬拡瀵硅薄鐨勭被銆傛渶閲嶈鐨勬槸錛屽彧瑕佹湁鍙兘錛屽氨瑕侀伩鍏嶅涓涓暟瀛楀拰涓涓寚閽堢被鍨嬮噸杞姐?br />
鏉℃26錛氬綋蹇冩綔鍦ㄤ簩涔夋?br />鎯呭艦1錛氬彲浠ラ氳繃鏋勯犲嚱鏁板拰杞崲榪愮畻絎︿駭鐢熷彟涓涓被鐨勫璞★紝榪欐椂緙栬瘧鍣ㄥ皢鎷掔粷瀵瑰叾涓殑涓縐嶆柟娉曡繘琛岄夋嫨銆?br />鎯呭艦2錛歠(int);f(char);瀵逛簬f(double)鏃朵駭鐢熶簩涔夈?br />鎯呭艦3錛氬緇ф壙鏃訛紝涓や釜鍩虹被鏈夊悓鍚嶇殑鎴愬憳銆傛鏃跺繀欏繪寚瀹氬熀綾繪柟鍙皟鐢紝鑰屼笉鑰冭檻璁塊棶鎺у埗鏉冮檺鍜岃繑鍥炲箋?br />
鏉℃27錛氬鏋滀笉鎯充嬌鐢ㄩ殣寮忕敓鎴愮殑鍑芥暟灝辮鏄懼紡鍦扮姝㈠畠
鏂規硶鏄0鏄庤鍑芥暟錛屽茍浣夸箣涓簆rivate銆傛樉寮忓湴澹版槑涓涓垚鍛樺嚱鏁幫紝灝遍槻姝簡緙栬瘧鍣ㄥ幓鑷姩鐢熸垚瀹冪殑鐗堟湰錛涗嬌鍑芥暟涓簆rivate錛屽氨闃叉浜嗗埆浜哄幓璋冪敤瀹冦備負浜嗛槻姝㈡垚鍛樺嚱鏁板拰鍙嬪厓鍑芥暟鐨勮皟鐢紝鍙0鏄庤屼笉瀹氫箟榪欎釜鍑芥暟銆?br />
鏉℃28錛氬垝鍒嗗叏灞鍚嶅瓧絀洪棿
浣跨敤鍚嶅瓧絀洪棿錛屼互闃叉涓嶅悓搴撶殑鍚嶅瓧鍐茬獊銆傚浜庝笉鏀寔鍚嶅瓧絀洪棿鐨勭紪璇戝櫒錛屽彲浠ヤ嬌鐢╯truct鏉ユā鎷熷悕瀛楃┖闂達紝浣嗘槸姝ゆ椂榪愮畻絎﹀彧鑳介氳繃鍑芥暟璋冪敤鏉ヤ嬌鐢ㄣ?br />
鏉℃29錛氶伩鍏嶈繑鍥炲唴閮ㄦ暟鎹殑鍙ユ焺
瀵逛簬const鎴愬憳鍑芥暟鏉ヨ錛岃繑鍥炲彞鏌勫彲鑳戒細鐮村潖鏁版嵁鎶借薄銆傚鏋滆繑鍥炵殑涓嶆槸鎸囧悜const鏁版嵁鐨勫彞鏌勶紝鏁版嵁鍙兘琚慨鏀廣傚闈瀋onst鎴愬憳鍑芥暟鏉ヨ錛岃繑鍥炲彞鏌勪細甯︽潵楹葷儲錛岀壒鍒槸娑夊強鍒頒復鏃跺璞℃椂銆傚彞鏌勫氨璞℃寚閽堜竴鏍鳳紝鍙互鏄偓嫻殑銆?br />
鏉℃30錛氶伩鍏嶈繖鏍風殑鎴愬憳鍑芥暟錛氬叾榪斿洖鍊兼槸鎸囧悜鎴愬憳鐨勯潪const鎸囬拡鎴栧紩鐢紝浣嗘垚鍛樼殑璁塊棶綰ф瘮榪欎釜鍑芥暟瑕佷綆
濡傛灉鑾峰緱浜嗙鏈夋垨淇濇姢鎴愬憳錛堝寘鎷垚鍛樺嚱鏁幫級鐨勫湴鍧錛堟寚閽堟垨寮曠敤錛夛紝閭d箞灝卞彲浠ヨ薄瀵瑰緟鍏湁鎴愬憳涓鏍瘋繘琛岃闂傚鏋滀笉寰椾笉榪斿洖鍏跺紩鐢ㄦ垨鎸囬拡錛屽彲浠ラ氳繃榪斿洖鎸囧悜const瀵硅薄鐨勬寚閽堟垨寮曠敤鏉ヨ揪鍒頒袱鍏ㄥ叾緹庣殑鏁堟灉銆?br />
鏉℃31錛氬崈涓囦笉瑕佽繑鍥炲眬閮ㄥ璞$殑寮曠敤錛屼篃涓嶈榪斿洖鍑芥暟鍐呴儴鐢╪ew鍒濆鍖栫殑鎸囬拡鐨勫紩鐢?br />濡?鏋滆繑鍥炲眬閮ㄥ璞$殑寮曠敤錛岄偅涓眬閮ㄥ璞″叾瀹炲凡緇忓湪鍑芥暟璋冪敤鑰呬嬌鐢ㄥ畠涔嬪墠灝辮閿姣佷簡銆傝岃繑鍥炲簾寮冩寚閽堢殑闂鏄繀欏昏鏈変漢璐熻矗璋冪敤delete錛岃屼笖瀵逛簬 product=one*two*three*four;鐨勬儏鍐碉紝灝嗕駭鐢熷唴瀛樻硠婕忋傚洜姝わ紝鍐欎竴涓繑鍥炲簾寮冩寚閽堢殑鍑芥暟鏃犲紓浜庡潗絳夊唴瀛樻硠婕忕殑鏉ヤ復銆?br />
鏉℃32錛氬敖鍙兘鍦版帹榪熷彉閲忕殑瀹氫箟
涓?浠呰寮哄彉閲忕殑瀹氫箟鎺ㄨ繜鍒板繀欏諱嬌鐢ㄥ畠鐨勬椂鍊欙紝榪樿灝介噺鎺ㄨ繜鍒板彲浠ヤ負瀹冩彁渚涗竴涓垵濮嬪寲鍙傛暟浣嶇疆銆傝繖鏍峰仛錛屼笉浠呭彲浠ラ伩鍏嶅涓嶅繀瑕佺殑瀵硅薄榪涜鏋勯犲拰鏋愭瀯錛岃繕鍙互閬?鍏嶆棤鎰忎箟鐨勫緙虹渷鏋勯犲嚱鏁扮殑璋冪敤銆傝屼笖錛屽湪瀵瑰彉閲忓垵濮嬪寲鐨勫満鍚堜笅錛屽彉閲忔湰韜殑鐢ㄩ斾笉璦鑷槑錛屽湪榪欓噷瀹氫箟鍙橀噺鏈夌泭浜庤〃鏄庡彉閲忕殑鍚箟銆?br />
鏉℃33錛氭槑鏅轟嬌鐢ㄥ唴鑱?br />鍐呰仈鍑芥暟鐨勬湰璐ㄦ槸灝嗘瘡涓嚱鏁拌皟鐢ㄤ互瀹冪殑浠g爜浣撴潵鏇挎崲銆?br />澶у鏁扮紪璇戝櫒鎷掔粷鈥滃鏉傗濈殑鍐呰仈鍑芥暟錛堜緥濡傦紝鍖呭惈寰幆鍜岄掑綊鐨勫嚱鏁幫級錛涜繕鏈夛紝鍗充嬌鏄渶綆鍗曠殑铏氬嚱鏁拌皟鐢紝緙栬瘧鍣ㄧ殑鍐呰仈澶勭悊紼嬪簭瀵瑰畠涔熺埍鑾兘鍔┿?br />鑻ョ紪璇戝櫒涓嶈繘琛屽唴鑱旓紝鍒欏皢鍐呰仈鍑芥暟褰撲綔涓鑸殑鈥滃鑱斺濆嚱鏁版潵澶勭悊銆傝繖縐頒負鈥滆澶栬仈鐨勫唴鑱斺濄?br />鎵懼嚭閲嶈鐨勫嚱鏁幫紝灝嗗畠鍐呰仈銆傚悓鏃惰娉ㄦ剰浠g爜鑶ㄨ儉甯︽潵鐨勯棶棰橈紝騫剁洃瑙嗙紪璇戝櫒鐨勮鍛婁俊鎭紝鐪嬬湅鏄惁鏈夊唴鑱斿嚱鏁版病鏈夎緙栬瘧鍣ㄥ唴鑱斻?br />
鏉℃34錛氬皢鏂囦歡闂寸殑緙栬瘧渚濊禆鎬ч檷鑷蟲渶浣?br />鈻犲鏋滃彲浠ヤ嬌鐢ㄥ璞$殑寮曠敤鍜屾寚閽堬紝灝辮閬垮厤浣跨敤瀵硅薄鏈韓銆傚畾涔夋煇涓被鍨嬬殑寮曠敤鍜屾寚閽堝彧浼氭秹鍙婂埌榪欎釜綾誨瀷鐨勫0鏄庯紝瀹氫箟姝ょ被鍨嬬殑瀵硅薄鍒欓渶瑕佺被鍨嬪畾涔夌殑鍙備笌銆?br />鈻犲敖鍙兘浣跨敤綾葷殑澹版槑錛岃屼笉浣跨敤綾葷殑瀹氫箟銆傚洜涓哄湪澹版槑涓涓嚱鏁版椂錛屽鏋滅敤鍒版煇涓被錛屾槸緇濆涓嶉渶瑕佽繖涓被鐨勫畾涔夌殑錛屽嵆浣垮嚱鏁版槸閫氳繃浼犲兼潵浼犻掑拰榪斿洖榪欎釜綾匯?br />鈻犱笉瑕佸湪澶存枃浠朵腑鍐嶅寘鍚叾瀹冨ご鏂囦歡錛岄櫎闈炵己灝戜簡瀹冧滑灝變笉鑳界紪璇戙傜浉鍙嶏紝瑕佷竴涓竴涓湴澹版槑鎵闇瑕佺殑綾伙紝璁╀嬌鐢ㄨ繖涓ご鏂囦歡鐨勭敤鎴瘋嚜宸卞幓鍖呭惈鍏跺畠鐨勫ご鏂囦歡銆?br />鈻犳渶鍚庝竴鐐癸紝鍙ユ焺綾誨拰鍗忚綾婚兘涓嶅ぇ浼氫嬌鐢ㄧ被鑱斿嚱鏁般備嬌鐢ㄤ換浣曞唴鑱斿嚱鏁版椂閮借璁塊棶瀹炵幇緇嗚妭錛岃岃璁″彞鏌勭被鍜屽崗璁被鐨勫垵琛鋒鏄負浜嗛伩鍏嶈繖縐嶆儏鍐點?br />
鏉℃35錛氫嬌鍏湁緇ф壙浣撶幇鈥滄槸涓涓濈殑鍚箟
濡傛灉綾籇浠庣被B鍏湁緇ф壙鏃訛紝綾誨瀷D鐨勬瘡涓涓璞′篃鏄被鍨婤鐨勪竴涓璞★紝浣嗗弽涔嬩笉鎴愮珛銆備換浣曞彲浠ヤ嬌鐢ㄧ被鍨婤鐨勫璞$殑鍦版柟錛岀被鍨婦鐨勫璞′篃鍙互浣跨敤銆?br />鐗瑰埆娉ㄦ剰涓鑸悊瑙d腑鐨勨滄槸涓涓濓紝姣斿浼侀箙鏄笩錛屽茍涓嶄弗瀵嗐傚鏋滄秹鍙婂埌椋炶繖涓姩浣滐紝浜岃呬箣闂翠笉閫傚悎浣跨敤鍏湁緇ф壙銆?br />
鏉℃36錛氬尯鍒嗘帴鍙g戶鎵胯瀹炵幇緇ф壙
瀹氫箟綰櫄鍑芥暟鐨勭洰鐨勫湪浜庯紝浣挎淳鐢熺被浠呬粎鍙槸緇ф壙鍑芥暟鐨勬帴鍙c備篃鍙互涓虹函铏氬嚱鏁版彁渚涗竴縐嶇己鐪佸疄鐜般?br />澹版槑綆鍗曡櫄鍑芥暟鐨勭洰鐨勫湪浜庯紝浣挎淳鐢熺被緇ф壙鍑芥暟鐨勬帴鍙e拰緙虹渷瀹炵幇銆?br />澹版槑闈炶櫄鍑芥暟鐨勭洰鐨勫湪浜庯紝浣挎淳鐢熺被緇ф壙鍑芥暟鐨勬帴鍙e拰寮哄埗鎬у疄鐜般?br />
鏉℃37錛氱粷涓嶈閲嶆柊瀹氫箟緇ф壙鑰屾潵鐨勯潪铏氬嚱鏁?br />濡傛灉閲嶆柊瀹氫箟緇ф壙鑰屾潵鐨勯潪铏氬嚱鏁幫紝灝嗗鑷村璞″鍑芥暟鐨勮皟鐢ㄧ粨鏋滅敱鎸囧悜鍏剁殑鎸囬拡鍐沖畾錛岃屼笉鏄敱瀵硅薄鏈韓鐨勭被鍨嬫潵鍐沖畾銆傚彟澶栵紝涔熸槸綾葷殑璁捐浜х敓鐭涚浘錛屽洜涓哄叕鏈夌戶鎵跨殑鍚箟鏄滄槸涓涓濓紝鏀瑰彉緇ф壙鑰屾潵鐨勬柟娉曟樉鐒舵槸涓嶅悎鐞嗙殑銆?br />
鏉℃38錛氱粷涓嶈閲嶆柊瀹氫箟緇ф壙鑰屾潵鐨勭己鐪佸弬鏁板?br />铏氬嚱鏁板姩鎬佺粦瀹氾紝鑰岀己鐪佸弬鏁版槸闈欐佺粦瀹氥傚洜姝ら噸鏂板畾涔夌戶鎵胯屾潵鐨勭己鐪佸弬鏁板煎彲鑳介犳垚璋冪敤鐨勬槸瀹氫箟鍦ㄦ淳鐢熺被錛屼絾浣跨敤浜嗗熀綾諱腑緙虹渷鍙傛暟鍊肩殑铏氬嚱鏁般?br />
鏉℃39錛氶伩鍏嶁滃悜涓嬭漿鎹⑩濈戶鎵垮眰嬈?br />閲囩敤鍚戜笅杞崲鏃訛紝灝嗕笉鍒╀簬瀵逛唬鐮佽繘琛岀淮鎶わ紝鍙互閲囩敤铏氬嚱鏁扮殑鏂規硶鏉ヨВ鍐熾?br />涓嶅緱涓嶈繘琛屽悜涓嬭漿鎹㈡椂錛岄噰鐢ㄥ畨鍏ㄧ殑鍚戜笅杞崲錛歞ynamic_cast榪愮畻絎︺俤ynamic_cast榪愮畻絎﹀厛灝濊瘯杞崲錛岃嫢杞崲鎴愬姛灝辮繑鍥炴柊綾誨瀷鐨勫悎娉曟寚閽堬紝鑻ュけ璐ュ垯榪斿洖絀烘寚閽堛?br />
鏉℃40錛氶氳繃鍒嗗眰鏉ヤ綋鐜扳滄湁涓涓濇垨鈥滅敤...鏉ュ疄鐜扳?br />鍏湁緇ф壙鐨勫惈涔夋槸鈥滄槸涓涓濄傚搴斿湴錛屽垎灞傜殑鍚箟鏄滄湁涓涓濇垨鈥滅敤...鏉ュ疄鐜扳濄備緥濡傦紝瑕佸疄鐜皊et綾伙紝鍥犱負list涓彲浠ュ寘鍚噸澶嶅厓绱狅紝鍥犳set涓嶆槸涓涓猯ist銆俿et鍙互鐢╨ist鏉ュ疄鐜幫紝鍗沖湪set涓寘鍚竴涓猯ist銆?br />
鏉℃41錛氬尯鍒嗙戶鎵垮拰妯℃澘
褰撳璞$殑綾誨瀷涓嶅獎鍝嶇被涓嚱鏁扮殑琛屼負鏃訛紝灝辮浣跨敤妯℃澘鏉ョ敓鎴愯繖鏍蜂竴緇勭被銆?br />褰撳璞$殑綾誨瀷褰卞搷綾諱腑鍑芥暟鐨勮涓烘椂錛屽氨瑕佷嬌鐢ㄧ戶鎵挎潵寰楀埌榪欐牱涓緇勭被銆?br />
鏉℃42錛氭槑鏅哄湴浣跨敤縐佹湁緇ф壙
鍏充簬縐佹湁緇ф壙鐨勪袱涓鍒欙細鍜屽叕鏈夌戶鎵跨浉鍙嶏紝濡傛灉涓や釜綾諱箣闂寸殑緇ф壙鍏崇郴涓虹鏈夛紝緙栬瘧鍣ㄤ竴鑸?涓嶄細灝嗘淳鐢熺被瀵硅薄杞崲涓哄熀綾誨璞★紱浠庣鏈夊熀綾葷戶鎵胯屾潵鐨勬垚鍛橀兘縐頒負浜嗘淳鐢熺被鐨勭鏈夋垚鍛橈紝鍗充嬌瀹冧滑鍦ㄥ熀綾諱腑鏄繚鎶ゆ垨鍏湁鎴愬憳銆?br />縐佹湁緇ф壙鎰忓懗榪欌滅敤...鈥濇潵瀹炵幇錛屼絾鏄簲灝藉彲鑳戒嬌鐢ㄥ垎灞傦紝蹇呴』鏃舵墠浣跨敤縐佹湁緇ф壙銆?br />鏉℃43錛氭槑鏅哄湴浣跨敤澶氱戶鎵?br />澶?緇ф壙鍚庢灉錛氫簩涔夋э紝濡傛灉涓涓淳鐢熺被浠庡涓熀綾葷戶鎵夸簡涓涓垚鍛樺悕錛屾墍鏈夊榪欎釜鍚嶅瓧鐨勮闂兘鏄簩涔夌殑錛屼綘蹇呴』鏄庣‘璇村嚭浣犳墍鎸囩殑鏄摢涓垚鍛樸傝繖鍙兘瀵艱嚧铏氬嚱鏁扮殑 澶辨晥錛屽茍涓斾笉鑳藉澶氱戶鎵胯屾潵鐨勫嚑涓浉鍚屽悕縐拌櫄鍑芥暟鍚屾椂榪涜閲嶅畾涔夈傞捇鐭沖瀷緇ф壙錛屾鏃跺悜铏氬熀綾諱紶閫掓瀯閫犲嚱鏁板弬鏁版椂瑕佸湪緇ф壙緇撴瀯涓渶搴曞眰媧劇敓綾葷殑鎴愬憳鍒濆鍖栧垪 琛ㄤ腑鎸囧畾銆傚悓鏃惰繕瑕佷粩緇嗘兂鎯寵櫄鍑芥暟鐨勪紭鍏堝害銆?br />鐒惰屽湪閫傚綋鏃跺欒繕鏄彲浠ヤ嬌鐢ㄥ緇ф壙錛屼緥濡傚皢鎺ュ彛鐨勫叕鏈夌戶鎵垮拰瀹炵幇鐨勭鏈夌戶鎵跨粨鍚堣搗鏉ョ殑鎯呭喌銆?br />浠ュ鍔犱腑闂寸被鐨勪唬浠鋒潵娑堥櫎澶氱戶鎵挎湁鏃朵警鏄煎緱鐨勩備竴鑸簲璇ラ伩鍏嶄嬌鐢ㄥ緇ф壙浠ュ噺灝戠戶鎵跨粨鏋勭殑澶嶆潅鎬с?br />
鏉℃44錛氳浣犳兂璇寸殑錛岀悊瑙d綘鎵璇寸殑
鐞嗚В涓嶅悓鐨勯潰鍚戝璞℃瀯浠跺湪C++涓殑鍚箟錛?br />路 鍏卞悓鐨勫熀綾繪剰鍛崇潃鍏卞悓鐨勭壒鎬с?br />路 鍏湁緇ф壙鎰忓懗鐫 "鏄竴涓?銆?br />路 縐佹湁緇ф壙鎰忓懗鐫 "鐢?..鏉ュ疄鐜?銆?br />路 鍒嗗眰鎰忓懗鐫 "鏈変竴涓? 鎴?"鐢?..鏉ュ疄鐜?銆?br />涓嬮潰鐨勫搴斿叧緋誨彧閫傜敤浜庡叕鏈夌戶鎵跨殑鎯呭喌錛?br />路 綰櫄鍑芥暟鎰忓懗鐫浠呬粎緇ф壙鍑芥暟鐨勬帴鍙c?br />路 綆鍗曡櫄鍑芥暟鎰忓懗鐫緇ф壙鍑芥暟鐨勬帴鍙e姞涓婁竴涓己鐪佸疄鐜般?br />路 闈炶櫄鍑芥暟鎰忓懗鐫緇ф壙鍑芥暟鐨勬帴鍙e姞涓婁竴涓己鍒跺疄鐜般?br />
鏉℃45錛氬紕娓匔++鍦ㄥ箷鍚庝負浣犳墍鍐欍佹墍璋冪敤鐨勫嚱鏁?br />濡?鏋滄病鏈夊0鏄庝笅鍒楀嚱鏁幫紝緙栬瘧鍣ㄤ細澹版槑瀹冭嚜宸辯殑鐗堟湰錛氫竴涓嫹璐濇瀯閫犲嚱鏁幫紝涓涓祴鍊艱繍綆楃錛屼竴涓瀽鏋勫嚱鏁幫紝涓瀵瑰彇鍧榪愮畻絎﹀拰涓涓己鐪佹瀯閫犲嚱鏁般傚浜庢嫹璐濇瀯閫犲嚱鏁?鍜岃祴鍊艱繍綆楃錛屽畼鏂圭殑瑙勫垯鏄細緙虹渷鎷瘋礉鏋勯犲嚱鏁幫紙璧嬪艱繍綆楃錛夊綾葷殑闈為潤鎬佹暟鎹垚鍛樿繘琛屸滀互鎴愬憳涓哄崟浣嶇殑鈥濋愪竴鎷瘋礉鏋勯狅紙璧嬪鹼級銆?br />鐗瑰埆瑕佹敞鎰忕敱浜庣紪璇戝櫒鑷姩鐢熸垚鐨勫嚱鏁伴犳垚鐨勭紪璇戦敊璇?br />
鏉℃46錛氬畞鍙紪璇戝拰閾炬帴鏄嚭閿欙紝涔熶笉瑕佽繍琛屾椂鍑洪敊
閫氬父錛屽璁捐鍋氫竴鐐瑰皬灝忕殑鏀瑰姩錛屽氨鍙互鍦ㄧ紪璇戞湡闂存秷闄ゅ彲鑳戒駭鐢熺殑榪愯鏃墮敊璇傝繖甯稿父娑夊強鍒板湪紼嬪簭涓鍔犳柊鐨勬暟鎹被鍨嬨備緥濡傚浜庨渶瑕佺被鍨嬫鏌ョ殑Month錛屽彲浠ュ皢鍏惰涓轟竴涓狹onth綾伙細鏋勯犲嚱鏁扮鏈夛紝浜х敓瀵硅薄浣跨敤闈欐佹垚鍛樺嚱鏁幫紝姣忎釜Month瀵硅薄涓篶onst銆?br />
鏉℃47錛氱‘淇濋潪灞閮ㄩ潤鎬佸璞″湪浣跨敤鍓嶈鍒濆鍖?br />濡傛灉鍦ㄦ煇涓緙栬瘧鍗曞厓涓紝涓涓璞$殑鍒濆鍖栬渚濊禆浜庡彟涓涓緙栬瘧鍗曞厓涓殑鍙︿竴涓璞$殑鍊鹼紝騫朵笖榪欑浜屼釜瀵硅薄鏈韓涔熼渶瑕佸垵濮嬪寲錛屽氨鏈夊彲鑳介犳垚娣蜂貢銆?br />铏?鐒跺叧浜?"闈炲眬閮? 闈欐佸璞′粈涔堟椂鍊欒鍒濆鍖栵紝C++鍑犱箮娌℃湁鍋氳繃璇存槑錛涗絾瀵逛簬鍑芥暟涓殑闈欐佸璞★紙鍗籌紝"灞閮? 闈欐佸璞★級浠涔堟椂鍊欒鍒濆鍖栵紝C++鍗存槑紜寚鍑猴細瀹冧滑鍦ㄥ嚱鏁拌皟鐢ㄨ繃紼嬩腑鍒濇紕板埌瀵硅薄鐨勫畾涔夋椂琚垵濮嬪寲銆傚鏋滀笉瀵歸潪灞閮ㄩ潤鎬佸璞$洿鎺ヨ闂紝鑰岀敤榪斿洖灞閮ㄩ潤鎬?瀵硅薄寮曠敤鐨勫嚱鏁拌皟鐢ㄦ潵浠f浛錛屽氨鑳戒繚璇佷粠鍑芥暟寰楀埌鐨勫紩鐢ㄦ寚鍚戠殑鏄鍒濆鍖栦簡鐨勫璞°?br />
鏉℃48錛氶噸瑙嗙紪璇戝櫒璀﹀憡
閲嶈緙栬瘧鍣ㄤ駭鐢熺殑姣忎竴鏉¤鍛婁俊鎭傚湪蹇界暐涓涓鍛婁箣鍓嶏紝涓瀹氳鍑嗙‘鐞嗚В瀹冩兂鍛婅瘔浣犵殑鍚箟銆?br />
鏉℃49錛氱啛鎮夋爣鍑嗗簱
瀵?浜嶤錛嬶紜澶存枃浠訛紝鏈澶х殑鎸戞垬鏄妸瀛楃涓插ご鏂囦歡鐞嗘竻妤氾細鏄棫鐨凜澶存枃浠訛紝瀵瑰簲鐨勬槸鍩轟簬char*鐨勫瓧絎︿覆澶勭悊鍑芥暟錛?鏄寘瑁呬簡std鐨凜++澶存枃浠訛紝瀵瑰簲鐨勬槸鏂扮殑string綾伙紙鐪嬩笅鏂囷級錛涙槸瀵瑰簲浜庢棫C澶存枃浠?鐨剆td鐗堟湰銆傚鏋滆兘鎺屾彙榪欎簺錛屽叾浣欑殑涔熷氨瀹規槗浜嗐?br />搴撲腑鐨勪竴鍒囬兘鏄ā鏉褲?br />
鏉℃50錛氭彁楂樺C錛嬶紜鐨勮璇?br />C錛嬶紜鐨勮璁$洰鏍囷細鍜孋鍏煎錛屾晥鐜囷紝鍜屼紶緇熷紑鍙戝伐鍏峰強鐜鐨勫吋瀹規э紝瑙e喅鐪熷疄闂鐨勫彲搴旂敤鎬с?br />鍙傝僀++鏍囧噯錛岀悊瑙錛嬶紜鐨勮璁¤繃紼嬨?br>鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/ofzrlddyftbhlvscqmkjicnypymamyhaehrq/

]]>
[瀵煎叆]鐞嗚ВLinux閰嶇疆鏂囦歡http://m.shnenglu.com/robinchow/archive/2007/10/23/35017.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35017.htmlhttp://m.shnenglu.com/robinchow/comments/35017.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35017.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35017.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35017.htmlSubodh Soni錛坰ubodh@in.ibm.com錛?br />IBM 杞歡宸ョ▼甯?br />2001 騫?12 鏈?br />
鏈? 鏂囪鏄庝簡 Linux 緋葷粺鐨勯厤緗枃浠訛紝鍦ㄥ鐢ㄦ埛銆佸浠誨姟鐜涓紝閰嶇疆鏂囦歡鎺у埗鐢ㄦ埛鏉冮檺銆佺郴緇熷簲鐢ㄧ▼搴忋佸畧鎶よ繘紼嬨佹湇鍔″拰鍏跺畠綆$悊浠誨姟銆傝繖浜涗換鍔″寘鎷鐞嗙敤鎴峰笎鍙楓佸垎閰嶇鐩橀厤 棰濄佺鐞嗙數瀛愰偖浠跺拰鏂伴椈緇勶紝浠ュ強閰嶇疆鍐呮牳鍙傛暟銆傛湰鏂囪繕鏍規嵁閰嶇疆鏂囦歡鐨勪嬌鐢ㄥ拰鍏舵墍褰卞搷鐨勬湇鍔$殑鎯呭喌瀵圭洰鍓?Red Hat Linux 緋葷粺涓殑閰嶇疆鏂囦歡榪涜浜嗗垎綾匯?br />浠嬬粛
姣忎釜 Linux 紼嬪簭閮芥槸涓涓彲鎵ц鏂囦歡錛屽畠鍚湁鎿嶄綔鐮佸垪琛紝CPU 灝嗘墽琛岃繖浜涙搷浣滅爜鏉ュ畬鎴愮壒瀹氱殑鎿嶄綔銆備緥濡傦紝ls 鍛戒護鏄敱 /bin/ls 鏂囦歡鎻愪緵鐨勶紝璇ユ枃浠跺惈鏈夋満鍣ㄦ寚浠ょ殑鍒楄〃錛屽湪灞忓箷涓婃樉紺哄綋鍓嶇洰褰曚腑鏂囦歡鐨勫垪琛ㄦ椂闇瑕佷嬌鐢ㄨ繖浜涙満鍣ㄦ寚浠ゃ傚嚑涔庢瘡涓▼搴忕殑琛屼負閮藉彲浠ラ氳繃淇敼鍏墮厤緗枃浠舵潵鎸夌収鎮? 鐨勫亸濂芥垨闇瑕佸幓瀹氬埗銆?br />
Linux 涓湁娌℃湁涓涓爣鍑嗙殑閰嶇疆鏂囦歡鏍煎紡錛?br />涓鍙ヨ瘽錛屾病鏈夈備笉鐔熸倝 Linux 鐨勭敤鎴鳳紙涓瀹氾級浼氭劅鍒版伯涓э紝鍥犱負姣忎釜閰嶇疆鏂囦歡鐪嬭搗鏉ラ兘璞℃槸涓涓榪庢帴鐨勬柊鎸戞垬銆傚湪 Linux 涓紝姣忎釜紼嬪簭鍛橀兘鍙互鑷敱閫夋嫨浠栨垨濂瑰枩嬈㈢殑閰嶇疆鏂囦歡鏍煎紡銆傚彲浠ラ夋嫨鐨勬牸寮忓緢澶氾紝浠?/etc/shells 鏂囦歡錛堝畠鍖呭惈琚竴涓崲琛岀鍒嗗紑鐨? shell 鐨勫垪琛級錛屽埌 Apache 鐨勫鏉傜殑 /etc/httpd.conf 鏂囦歡銆?br />
浠涔堟槸緋葷粺閰嶇疆鏂囦歡錛?br />鍐呮牳鏈韓涔熷彲 浠ョ湅鎴愭槸涓涓滅▼搴忊濄備負浠涔堝唴鏍擱渶瑕侀厤緗枃浠訛紵鍐呮牳闇瑕佷簡瑙g郴緇熶腑鐢ㄦ埛鍜岀粍鐨勫垪琛紝榪涜岀鐞嗘枃浠舵潈闄愶紙鍗蟲牴鎹潈闄愬垽瀹氱壒瀹氱敤鎴鳳紙UNIX_USERS錛? 鏄惁鍙互鎵撳紑鏌愪釜鏂囦歡錛夈傛敞鎰忥紝榪欎簺鏂囦歡涓嶆槸鏄庣‘鍦扮敱紼嬪簭璇誨彇鐨勶紝鑰屾槸鐢辯郴緇熷簱鎵鎻愪緵鐨勪竴涓嚱鏁拌鍙栵紝騫惰鍐呮牳浣跨敤銆備緥濡傦紝紼嬪簭闇瑕佹煇涓敤鎴風殑錛堝姞瀵嗚繃 鐨勶級瀵嗙爜鏃朵笉搴旇鎵撳紑 /etc/passwd 鏂囦歡銆傜浉鍙嶏紝紼嬪簭搴旇璋冪敤緋葷粺搴撶殑 getpw() 鍑芥暟銆傝繖縐嶅嚱鏁頒篃琚О涓虹郴緇熻皟鐢ㄣ傛墦寮 /etc/passwd 鏂囦歡鍜屼箣鍚庢煡鎵鵑偅涓璇鋒眰鐨勭敤鎴風殑瀵嗙爜閮芥槸鐢卞唴鏍革紙閫氳繃緋葷粺搴擄級鍐沖畾鐨勩?br />
闄ら潪鍙﹁鎸囧畾錛孯ed Hat Linux 緋葷粺涓ぇ澶氭暟閰嶇疆鏂囦歡閮藉湪 /etc 鐩綍涓傞厤緗枃浠跺彲浠ュぇ鑷村垎涓轟笅闈㈠嚑綾伙細

璁塊棶鏂囦歡
/etc/host.conf 鍛婅瘔緗戠粶鍩熷悕鏈嶅姟鍣ㄥ浣曟煡鎵句富鏈哄悕銆傦紙閫氬父鏄?/etc/hosts錛岀劧鍚庡氨鏄悕縐版湇鍔″櫒錛涘彲閫氳繃 netconf 瀵瑰叾榪涜鏇存敼錛?
/etc/hosts 鍖呭惈錛堟湰鍦扮綉緇滀腑錛夊凡鐭ヤ富鏈虹殑涓涓垪琛ㄣ傚鏋滅郴緇熺殑 IP 涓嶆槸鍔ㄦ佺敓鎴愶紝灝卞彲浠ヤ嬌鐢ㄥ畠銆傚浜庣畝鍗曠殑涓繪満鍚嶈В鏋愶紙鐐瑰垎琛ㄧず娉曪級錛屽湪璇鋒眰 DNS 鎴?NIS 緗戠粶鍚嶇О鏈嶅姟鍣ㄤ箣鍓嶏紝/etc/hosts.conf 閫氬父浼氬憡璇夎В鏋愮▼搴忓厛鏌ョ湅榪欓噷銆?
/etc/hosts.allow 璇峰弬闃?hosts_access 鐨勮仈鏈哄府鍔╅〉銆傝嚦灝戠敱 tcpd 璇誨彇銆?
/etc/hosts.deny 璇峰弬闃?hosts_access 鐨勮仈鏈哄府鍔╅〉銆傝嚦灝戠敱 tcpd 璇誨彇銆?


寮曞鍜岀櫥褰曪紡娉ㄩ攢
/etc/issue & /etc/issue.net 榪欎簺鏂囦歡鐢?mingetty錛堝拰綾諱技鐨勭▼搴忥級璇誨彇錛岀敤鏉ュ悜浠庣粓绔紙issue錛夋垨閫氳繃 telnet 浼氳瘽錛坕ssue.net錛夎繛鎺ョ殑鐢ㄦ埛鏄劇ず涓涓渨elcome鈥濆瓧絎︿覆銆傚畠浠寘鎷嚑琛屽0鏄?Red Hat 鐗堟湰鍙楓佸悕縐板拰鍐呮牳 ID 鐨勪俊鎭傚畠浠敱 rc.local 浣跨敤銆?
/etc/redhat-release 鍖呮嫭涓琛屽0鏄?Red Hat 鐗堟湰鍙峰拰鍚嶇О鐨勪俊鎭傜敱 rc.local 浣跨敤銆?
/etc/rc.d/rc 閫氬父鍦ㄦ墍鏈夎繍琛岀駭鍒繍琛岋紝綰у埆浣滀負鍙傛暟浼犻併備緥濡傦紝瑕佷互鍥懼艦錛圙raphics錛夋ā寮忥紙X-Server錛夊紩瀵兼満鍣紝璇峰湪鍛戒護琛岃繍琛屼笅闈㈢殑鍛戒護錛歩nit 5銆傝繍琛岀駭鍒?5 琛ㄧず浠ュ浘褰㈡ā寮忓紩瀵肩郴緇熴?
/etc/rc.d/rc.local 闈炴寮忕殑銆傚彲浠ヤ粠 rc銆乺c.sysinit 鎴?/etc/inittab 璋冪敤銆?
/etc/rc.d/rc.sysinit 閫氬父鏄墍鏈夎繍琛岀駭鍒殑絎竴涓剼鏈?
/etc/rc.d/rc/rcX.d 浠?rc 榪愯鐨勮剼鏈紙X 琛ㄧず 1 鍒?5 涔嬮棿鐨勪換鎰忔暟瀛楋級銆傝繖浜涚洰褰曟槸鐗瑰畾鈥滆繍琛岀駭鍒濈殑鐩綍銆傚綋緋葷粺鍚姩鏃訛紝瀹冧細璇嗗埆瑕佸惎鍔ㄧ殑榪愯綰у埆錛岀劧鍚庤皟鐢ㄨ榪愯綰у埆鐨勭壒瀹氱洰褰曚腑瀛樺湪鐨勬墍鏈夊惎鍔ㄨ剼鏈備緥 濡傦紝緋葷粺鍚姩鏃墮氬父浼氬湪寮曞娑堟伅涔嬪悗鏄劇ず鈥渆ntering run-level 3鈥濈殑娑堟伅錛涜繖鎰忓懗鐫 /etc/rc.d/rc3.d/ 鐩綍涓殑鎵鏈夊垵濮嬪寲鑴氭湰閮藉皢琚皟鐢ㄣ?


鏂囦歡緋葷粺
鍐呮牳鎻愪緵浜嗕竴涓帴鍙o紝鐢ㄦ潵鏄劇ず涓浜涘畠鐨勬暟鎹粨鏋勶紝榪欎簺鏁版嵁緇撴瀯瀵逛簬鍐沖畾 璇稿浣跨敤鐨勪腑鏂佸垵濮嬪寲鐨勮澶囧拰鍐呭瓨緇熻淇℃伅涔嬬被鐨勭郴緇熷弬鏁板彲鑳藉緢鏈夌敤銆傝繖涓帴鍙f槸浣滀負涓涓嫭绔嬩絾铏氭嫙鐨勬枃浠剁郴緇熸彁渚涚殑錛岀О涓?/proc 鏂囦歡緋葷粺銆傚緢澶氱郴緇熷疄鐢ㄧ▼搴忛兘浣跨敤榪欎釜鏂囦歡緋葷粺涓瓨鍦ㄧ殑鍊兼潵鏄劇ず緋葷粺緇熻淇℃伅銆備緥濡傦紝/proc/modules 鏂囦歡鍒椾婦緋葷粺涓綋鍓嶅姞杞界殑妯″潡銆俵smod 鍛戒護璇誨彇姝や俊鎭紝鐒跺悗灝嗗叾浠ヤ漢浠彲浠ョ湅鎳傜殑鏍煎紡鏄劇ず鍑烘潵銆備笅闈㈣〃鏍間腑鎸囧畾鐨?mtab 鏂囦歡浠ュ悓鏍風殑鏂瑰紡璇誨彇鍖呭惈褰撳墠瀹夎鐨勬枃浠剁郴緇熺殑 /proc/mount 鏂囦歡銆?/etc/mtab 榪欏皢闅忕潃 /proc/mount 鏂囦歡鐨勬敼鍙樿屼笉鏂敼鍙樸傛崲鍙ヨ瘽璇達紝鏂囦歡緋葷粺琚畨瑁呭拰鍗歌澆鏃訛紝鏀瑰彉浼氱珛鍗沖弽鏄犲埌姝ゆ枃浠朵腑銆?
/etc/fstab 鍒椾婦璁$畻鏈哄綋鍓嶁滃彲浠ュ畨瑁呪濈殑鏂囦歡緋葷粺銆傝繖闈炲父閲嶈錛屽洜涓鴻綆楁満寮曞鏃跺皢榪愯 mount -a 鍛戒護錛岃鍛戒護璐熻矗瀹夎 fstab 鐨勫掓暟絎簩鍒椾腑甯︽湁鈥?鈥濇爣璁扮殑姣忎竴涓枃浠剁郴緇熴?
/etc/mtools.conf DOS 綾誨瀷鐨勬枃浠剁郴緇熶笂鎵鏈夋搷浣滐紙鍒涘緩鐩綍銆佸鍒躲佹牸寮忓寲絳夌瓑錛夌殑閰嶇疆銆?


緋葷粺綆$悊
/etc/group 鍖呭惈鏈夋晥鐨勭粍鍚嶇О鍜屾寚瀹氱粍涓寘鎷殑鐢ㄦ埛銆傚崟涓鐢ㄦ埛濡傛灉鎵ц澶氫釜浠誨姟錛屽彲浠ュ瓨鍦ㄤ簬澶氫釜緇勪腑銆備緥濡傦紝濡傛灉涓涓滅敤鎴封濇槸鈥減roject 1鈥濆伐紼嬬粍鐨勬垚鍛橈紝鍚屾椂涔熸槸綆$悊鍛橈紝閭d箞鍦?group 鏂囦歡涓粬鐨勬潯鐩湅璧鋒潵灝變細鏄繖鏍風殑錛歶ser: * : group-id : project1
/etc/nologin 濡傛灉鏈?/etc/nologin 鏂囦歡瀛樺湪錛宭ogin(1) 灝嗗彧鍏佽 root 鐢ㄦ埛榪涜璁塊棶銆傚畠灝嗗鍏跺畠鐢ㄦ埛鏄劇ず姝ゆ枃浠剁殑鍐呭騫舵嫆緇濆叾鐧誨綍銆?
etc/passwd 璇峰弬闃呪渕an passwd鈥濄傚畠鍖呭惈涓浜涚敤鎴峰笎鍙蜂俊鎭紝鍖呮嫭瀵嗙爜錛堝鏋滄湭琚?shadow 紼嬪簭鍔犲瘑榪囷級銆?
/etc/rpmrc rpm 鍛戒護閰嶇疆銆傛墍鏈夌殑 rpm 鍛戒護琛岄夐」閮藉彲浠ュ湪榪欎釜鏂囦歡涓竴璧瘋緗紝榪欐牱錛屽綋浠諱綍 rpm 鍛戒護鍦ㄨ緋葷粺涓繍琛屾椂錛屾墍鏈夌殑閫夐」閮戒細鍏ㄥ眬閫傜敤銆?
/etc/securetty 鍖呭惈璁懼鍚嶇О錛岀敱 tty 琛岀粍鎴愶紙姣忚涓涓悕縐幫紝涓嶅寘鎷墠闈㈢殑 /dev/錛夛紝root 鐢ㄦ埛鍦ㄨ繖閲岃鍏佽鐧誨綍銆?
/etc/usertty
/etc/shadow 鍖呭惈鍔犲瘑鍚庣殑鐢ㄦ埛甯愬彿瀵嗙爜淇℃伅錛岃繕鍙互鍖呮嫭瀵嗙爜鏃舵晥淇℃伅銆傚寘鎷殑瀛楁鏈夛細
鐧誨綍鍚?
鍔犲瘑鍚庣殑瀵嗙爜
浠?1970 騫?1 鏈?1 鏃ュ埌瀵嗙爜鏈鍚庝竴嬈¤鏇存敼鐨勫ぉ鏁?
璺濆瘑鐮佸彲浠ユ洿鏀逛箣鍓嶇殑澶╂暟
璺濆瘑鐮佸繀欏繪洿鏀逛箣鍓嶇殑澶╂暟
瀵嗙爜鍒版湡鍓嶇敤鎴瘋璀﹀憡鐨勫ぉ鏁?
瀵嗙爜鍒版湡鍚庡笎鎴瘋紱佺敤鐨勫ぉ鏁?
浠?1970 騫?1 鏈?1 鏃ュ埌甯愬彿琚鐢ㄧ殑澶╂暟

/etc/shells 鍖呭惈緋葷粺鍙敤鐨勫彲鑳界殑鈥渟hell鈥濈殑鍒楄〃銆?
/etc/motd 姣忔棩娑堟伅錛涘湪綆$悊鍛樺笇鏈涘悜 Linux 鏈嶅姟鍣ㄧ殑鎵鏈夌敤鎴蜂紶杈炬煇涓秷鎭椂浣跨敤銆?


鑱旂綉
/etc/gated.conf gated 鐨勯厤緗傚彧鑳借 gated 瀹堟姢榪涚▼鎵浣跨敤銆?
/etc/gated.version 鍖呭惈 gated 瀹堟姢榪涚▼鐨勭増鏈彿銆?
/etc/gateway 鐢?routed 瀹堟姢榪涚▼鍙夊湴浣跨敤銆?
/etc/networks 鍒椾婦浠庢満鍣ㄦ墍榪炴帴鐨勭綉緇滃彲浠ヨ闂殑緗戠粶鍚嶅拰緗戠粶鍦板潃銆傞氳繃璺敱鍛戒護浣跨敤銆傚厑璁鎬嬌鐢ㄧ綉緇滃悕縐般?
/etc/protocols 鍒椾婦褰撳墠鍙敤鐨勫崗璁傝鍙傞槄 NAG錛堢綉緇滅鐞嗗憳鎸囧崡錛孨etwork Administrators Guide錛夊拰鑱旀満甯姪欏點?
C 鎺ュ彛鏄?getprotoent銆傜粷涓嶈兘鏇存敼銆?
/etc/resolv.conf 鍦ㄧ▼搴忚姹傗滆В鏋愨濅竴涓?IP 鍦板潃鏃跺憡璇夊唴鏍稿簲璇ユ煡璇㈠摢涓悕縐版湇鍔″櫒銆?
/etc/rpc 鍖呭惈 RPC 鎸囦護錛忚鍒欙紝榪欎簺鎸囦護錛忚鍒欏彲浠ュ湪 NFS 璋冪敤銆佽繙紼嬫枃浠剁郴緇熷畨瑁呯瓑涓嬌鐢ㄣ?
/etc/exports 瑕佸鍑虹殑鏂囦歡緋葷粺錛圢FS錛夊拰瀵瑰畠鐨勬潈闄愩?
/etc/services 灝嗙綉緇滄湇鍔″悕杞崲涓虹鍙e彿錛忓崗璁傜敱 inetd銆乼elnet銆乼cpdump 鍜屼竴浜涘叾瀹冪▼搴忚鍙栥傛湁涓浜?C 璁塊棶渚嬬▼銆?
/etc/inetd.conf inetd 鐨勯厤緗枃浠躲傝鍙傞槄 inetd 鑱旀満甯姪欏點傚寘鍚瘡涓綉緇滄湇鍔$殑鏉$洰錛宨netd 蹇呴』涓鴻繖浜涚綉緇滄湇鍔℃帶鍒跺畧鎶よ繘紼嬫垨鍏跺畠鏈嶅姟銆傛敞鎰忥紝鏈嶅姟灝嗕細榪愯錛屼絾鍦?/etc/services 涓皢瀹冧滑娉ㄩ噴鎺変簡錛岃繖鏍峰嵆浣胯繖浜涙湇鍔″湪榪愯涔熷皢涓嶅彲鐢ㄣ傛牸寮忎負錛?
/etc/sendmail.cf 閭歡紼嬪簭 sendmail 鐨勯厤緗枃浠躲傛瘮杈冮殣鏅︼紝寰堥毦鐞嗚В銆?
/etc/sysconfig/network 鎸囧嚭 NETWORKING=yes 鎴?no銆傝嚦灝戠敱 rc.sysinit 璇誨彇銆?
/etc/sysconfig/network-scripts/if* Red Hat 緗戠粶閰嶇疆鑴氭湰銆?


緋葷粺鍛戒護
緋? 緇熷懡浠よ鐙崰鍦版帶鍒剁郴緇燂紝騫惰涓鍒囨甯稿伐浣溿傛墍鏈夊 login錛堝畬鎴愭帶鍒跺彴鐢ㄦ埛韜喚楠岃瘉闃舵錛夋垨 bash錛堟彁渚涚敤鎴峰拰璁$畻鏈轟箣闂翠氦浜掞級涔嬬被鐨勭▼搴忛兘鏄郴緇熷懡浠ゃ傚洜姝わ紝鍜屽畠浠湁鍏崇殑鏂囦歡涔熺壒鍒噸瑕併傝繖涓綾誨埆涓湁涓嬪垪浠ょ敤鎴峰拰綆$悊鍛樻劅鍏磋叮鐨勬枃浠躲? /etc/lilo.conf 鍖呭惈緋葷粺鐨勭己鐪佸紩瀵煎懡浠よ鍙傛暟錛岃繕鏈夊惎鍔ㄦ椂浣跨敤鐨勪笉鍚屾槧璞°傛偍鍦?LILO 寮曞鎻愮ず鐨勬椂鍊欐寜 Tab 閿氨鍙互鐪嬪埌榪欎釜鍒楄〃銆?
/etc/logrotate.conf 緇存姢 /var/log 鐩綍涓殑鏃ュ織鏂囦歡銆?
/etc/identd.conf identd 鏄竴涓湇鍔″櫒錛屽畠鎸夌収 RFC 1413 鏂囨。涓寚瀹氱殑鏂瑰紡瀹炵幇 TCP/IP 鎻愯鐨勬爣鍑?IDENT 鐢ㄦ埛韜喚璇嗗埆鍗忚銆俰dentd 鐨勬搷浣滃師鐞嗘槸鏌ユ壘鐗瑰畾 TCP/IP 榪炴帴騫惰繑鍥炴嫢鏈夋榪炴帴鐨勮繘紼嬬殑鐢ㄦ埛鍚嶃備綔涓洪夋嫨錛屽畠涔熷彲浠ヨ繑鍥炲叾瀹冧俊鎭紝鑰屼笉鏄敤鎴峰悕銆傝鍙傞槄 identd 鑱旀満甯姪欏點?
/etc/ld.so.conf 鈥滃姩鎬侀摼鎺ョ▼搴忊濓紙Dynamic Linker錛夌殑閰嶇疆銆?
/etc/inittab 鎸夊勾浠f潵璁詫紝榪欐槸 UNIX 涓涓涓厤緗枃浠躲傚湪涓鍙?UNIX 鏈哄櫒鎵撳紑涔嬪悗鍚姩鐨勭涓涓▼搴忔槸 init錛屽畠鐭ラ亾璇ュ惎鍔ㄤ粈涔堬紝榪欐槸鐢變簬 inittab 鐨勫瓨鍦ㄣ傚湪榪愯綰у埆鏀瑰彉鏃訛紝init 璇誨彇 inittab錛岀劧鍚庢帶鍒朵富榪涚▼鐨勫惎鍔ㄣ?
/etc/termcap 涓涓暟鎹簱錛屽寘鍚墍鏈夊彲鑳界殑緇堢綾誨瀷浠ュ強榪欎簺緇堢鐨勬ц兘銆?


瀹堟姢榪涚▼
瀹? 鎶よ繘紼嬫槸涓縐嶈繍琛屽湪闈炰氦浜掓ā寮忎笅鐨勭▼搴忋備竴鑸潵璇達紝瀹堟姢榪涚▼浠誨姟鏄拰鑱旂綉鍖哄煙鏈夊叧鐨勶細瀹冧滑絳夊緟榪炴帴錛屼互渚塊氳繃榪炴帴鎻愪緵鏈嶅姟銆侺inux 鍙互浣跨敤浠? Web 鏈嶅姟鍣ㄥ埌 ftp 鏈嶅姟鍣ㄧ殑寰堝瀹堟姢榪涚▼銆?/etc/syslogd.conf syslogd 瀹堟姢榪涚▼鐨勯厤緗枃浠躲俿yslogd 鏄竴縐嶅畧鎶よ繘紼嬶紝瀹冭礋璐h褰曪紙鍐欏埌紓佺洏錛変粠鍏跺畠紼嬪簭鍙戦佸埌緋葷粺鐨勬秷鎭傝繖涓湇鍔″挨鍏跺父琚煇浜涘畧鎶よ繘紼嬫墍浣跨敤錛岃繖浜涘畧鎶よ繘紼嬩笉浼氭湁鍙﹀鐨勬柟娉曟潵鍙戝嚭鍙兘鏈夐棶 棰樺瓨鍦ㄧ殑淇″彿鎴栧悜鐢ㄦ埛鍙戦佹秷鎭?

/etc/httpd.conf Web 鏈嶅姟鍣?Apache 鐨勯厤緗枃浠躲傝繖涓枃浠朵竴鑸笉鍦? /etc 涓傚畠鍙兘鍦?/usr/local/httpd/conf/ 鎴?/etc/httpd/conf/ 涓紝浣嗘槸瑕佺‘瀹氬畠鐨勪綅緗紝鎮ㄨ繕闇瑕佹鏌ョ壒瀹氱殑 Apache 瀹夎淇℃伅銆?
/etc/conf.modules or /etc/modules.conf kerneld 鐨勯厤緗枃浠躲傛湁鎰忔濈殑鏄紝kerneld 騫朵笉鏄滀綔涓哄畧鎶よ繘紼嬬殑鈥濆唴鏍搞傚畠鍏跺疄鏄竴縐嶅湪闇瑕佹椂璐熻矗鈥滃揩閫熲濆姞杞介檮鍔犲唴鏍告ā鍧楃殑瀹堟姢榪涚▼銆?


鐢ㄦ埛紼嬪簭
鍦? Linux錛堝拰涓鑸殑 UNIX錛変腑錛屾湁鏃犳暟鐨勨滅敤鎴封濈▼搴忋傛渶甯歌鐨勪竴縐嶇敤鎴風▼搴忛厤緗枃浠舵槸 /etc/lynx.cfg銆傝繖鏄憲鍚嶇殑鏂囨湰嫻忚鍣? lynx 鐨勯厤緗枃浠躲傞氳繃榪欎釜鏂囦歡錛屾偍鍙互瀹氫箟浠g悊鏈嶅姟鍣ㄣ佽浣跨敤鐨勫瓧絎﹂泦絳夌瓑銆備笅闈㈢殑浠g爜鏍鋒湰灞曠ず浜?lynx.cfg 鏂囦歡鐨勪竴閮ㄥ垎錛屼慨鏀硅繖閮ㄥ垎浠g爜鍙互鏀瑰彉 Linux 緋葷粺鐨勪唬鐞嗘湇鍔″櫒璁劇疆銆傜己鐪佹儏鍐典笅錛岃繖浜涜緗傜敤浜庡湪鍚勮嚜鐨?shell 涓繍琛?lynx 鐨勬墍鏈夌敤鎴鳳紝闄ら潪鏌愪釜鐢ㄦ埛閫氳繃鎸囧畾 --cfg = "mylynx.cfg" 閲嶈浜嗙己鐪佺殑閰嶇疆鏂囦歡銆?br />
/etc/lynx.cfg 涓殑浠g悊鏈嶅姟鍣ㄨ緗?br />.h1 proxy
.h2 HTTP_PROXY
.h2 HTTPS_PROXY
.h2 FTP_PROXY
.h2 GOPHER_PROXY
.h2 NEWS_PROXY
.h2 NNTP_PROXY
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers. They are preferable to the older
# gateway servers. Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have
# not set them externally, you can set them at run time via this configuration file.
# They will not override external settings. The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below). Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
.ex 15
http_proxy:http://proxy3.in.ibm.com:80/
ftp_proxy:http://proxy3.in.ibm.com:80/
#http_proxy:http://penguin.in.ibm.com:8080
#ftp_proxy:http://penguin.in.ibm.com:8080/

.h2 NO_PROXY
# The no_proxy variable can be a comma-separated list of strings defining
# no-proxy zones in the DNS domain name space. If a tail substring of the
# domain-path for a host matches one of these strings, transactions with that
# node will not be proxied.
.ex
no_proxy:demiurge.in.ibm.com, demiurge





鏇存敼閰嶇疆鏂囦歡
鍦ㄦ洿鏀歸厤緗枃浠舵椂錛屽鏋滅▼搴忎笉鏄敱緋葷粺綆$悊鍛樻垨鍐呮牳鎺у埗鐨勶紝灝辮紜繚閲嶆柊鍚姩榪囦嬌鐢ㄨ閰嶇疆鐨勭▼搴忋傛櫘閫氱敤鎴烽氬父娌℃湁鍚姩鎴栧仠姝㈢郴緇熺▼搴忓拰錛忔垨瀹堟姢榪涚▼鐨勬潈闄愩?br />
鍐呮牳
鏇? 鏀瑰唴鏍鎬腑鐨勯厤緗枃浠朵細绔嬪嵆褰卞搷鍒扮郴緇熴備緥濡傦紝鏇存敼 passwd 鏂囦歡浠ュ鍔犵敤鎴峰皢绔嬪嵆浣胯鐢ㄦ埛鍙樹負鍙敤銆傝屼笖浠諱綍 Linux 緋葷粺鐨? /proc/sys 鐩綍涓兘鏈変竴浜涘唴鏍稿彲璋冨弬鏁般傚彧鏈夎秴綰х敤鎴峰彲浠ュ緱鍒板鎵鏈夎繖浜涙枃浠剁殑鍐欒闂潈鍔涳紱鍏跺畠鐢ㄦ埛鍙湁鍙璁塊棶鏉冨姏銆傛鐩綍涓枃浠剁殑鍒嗙被鐨勬柟寮忓拰 Linux 鍐呮牳婧愪唬鐮佺殑鍒嗙被鏂瑰紡涓鏍楓傛鐩綍涓殑姣忎釜鏂囦歡閮戒唬琛ㄤ竴涓唴鏍告暟鎹粨鏋勶紝榪欎簺鏁版嵁緇撴瀯鍙互琚姩鎬佸湴淇敼錛屼粠鑰屾敼鍙樼郴緇熸ц兘銆?br />
娉ㄦ剰錛氬湪鏇存敼鍏朵腑浠諱綍鏂囦歡鐨勪換浣曞間箣鍓嶏紝鎮ㄥ簲璇ョ‘淇濊嚜宸卞叏闈簡瑙h鏂囦歡錛屼互閬垮厤瀵圭郴緇熼犳垚涓嶅彲淇鐨勬崯瀹熾?br />/proc/sys/kernel/ 鐩綍涓殑鏂囦歡 鏂囦歡鍚?鎻忚堪
threads-max 鍐呮牳鍙繍琛岀殑鏈澶т換鍔℃暟銆?
ctrl-alt-del 濡傛灉鍊間負 1錛岄偅涔堥『搴忔寜涓嬭繖鍑犱釜閿皢鈥滃交搴曞湴鈥濋噸鏂板紩瀵肩郴緇熴?
sysrq 濡傛灉鍊間負 1錛孉lt-SysRq 鍒欎負嬋媧葷姸鎬併?
osrelease 鏄劇ず鎿嶄綔緋葷粺鐨勫彂琛岀増鐗堟湰鍙?
ostype 鏄劇ず鎿嶄綔緋葷粺鐨勭被鍨嬨?
hostname 緋葷粺鐨勪富鏈哄悕銆?
domainname 緗戠粶鍩燂紝緋葷粺鏄緗戠粶鍩熺殑涓閮ㄥ垎銆?
modprobe 鎸囧畾 modprobe 鏄惁搴旇鍦ㄥ惎鍔ㄦ椂鑷姩榪愯騫跺姞杞藉繀闇鐨勬ā鍧椼?


瀹堟姢榪涚▼鍜岀郴緇熺▼搴?br />瀹? 鎶よ繘紼嬫槸姘歌繙榪愯鍦ㄥ悗鍙扮殑紼嬪簭錛屽畠榛橀粯鍦版墽琛岃嚜宸辯殑浠誨姟銆傚父瑙佺殑瀹堟姢榪涚▼鏈?in.ftpd錛坒tp 鏈嶅姟鍣ㄥ畧鎶よ繘紼嬶級銆乮n.telnetd錛坱elnet 鏈嶅姟鍣ㄥ畧鎶よ繘紼嬶級鍜? syslogd錛堢郴緇熸棩蹇楄褰曞畧鎶よ繘紼嬶級銆傛湁浜涘畧鎶よ繘紼嬪湪榪愯鏃朵細涓ュ瘑鐩戣閰嶇疆鏂囦歡錛屽湪閰嶇疆鏂囦歡鏀瑰彉鏃跺氨浼氳嚜鍔ㄩ噸鏂板姞杞藉畠銆備絾鏄ぇ澶氭暟瀹堟姢榪涚▼騫朵笉浼氳嚜鍔? 閲嶆柊鍔犺澆閰嶇疆鏂囦歡銆傛垜浠渶瑕佷互鏌愮鏂瑰紡鈥滃憡璇夆濊繖浜涘畧鎶よ繘紼嬮厤緗枃浠跺凡緇忚鍙戠敓浜嗘敼鍙樺茍搴旇閲嶆柊鍔犺澆銆傚彲浠ラ氳繃浣跨敤鏈嶅姟鍛戒護閲嶆柊鍚姩鏈嶅姟鏉ヨ揪鍒拌繖涓洰鐨? 錛堝湪 Red Hat Linux 緋葷粺涓婏級銆?br />
渚嬪錛屽鏋滄垜浠洿鏀逛簡緗戠粶閰嶇疆錛屽氨闇瑕佸彂鍑猴細
service network restart銆?br />
娉ㄦ剰錛氳繖浜涙湇鍔℃渶甯歌鐨勬槸 /etc/rc.d/init.d/* 鐩綍涓瓨鍦ㄧ殑鑴氭湰錛屽湪緋葷粺琚紩瀵兼椂鐢?init 鍚姩銆傛墍浠ワ紝鎮ㄤ篃鍙互鎵ц濡備笅鎿嶄綔鏉ラ噸鏂板惎鍔ㄦ湇鍔★細
/etc/rc.d/init.d/ start | stop | status
start銆乻top 鍜?status 鏄繖浜涜剼鏈帴鍙楃殑杈撳叆鍊鹼紝鐢ㄦ潵鎵ц鎿嶄綔銆?

鐢ㄦ埛紼嬪簭
鐢? 鎴鋒垨緋葷粺紼嬪簭鍦ㄦ瘡嬈″惎鍔ㄦ椂閮戒細璇誨彇鍏墮厤緗枃浠躲傚敖綆″姝わ紝璇瘋浣忥紝鏈変簺緋葷粺紼嬪簭鍦ㄨ綆楁満鎵撳紑鏃舵儏鍐典笉涓鏍鳳紝瀹冧滑鐨勮涓轟緷璧栦簬鍦?/etc/ 涓殑閰嶇疆鏂囦歡涓鍒扮殑鍐呭銆傛墍浠ワ紝鐢ㄦ埛紼嬪簭絎竴嬈″惎鍔ㄦ椂灝嗕粠 /etc/ 鐩綍涓瓨鍦ㄧ殑鏂囦歡璇誨彇緙虹渷閰嶇疆銆傜劧鍚庯紝鐢ㄦ埛鍙互閫氳繃浣跨敤 rc 鍜? .錛堢偣錛夋枃浠舵潵瀹氬埗紼嬪簭錛屾濡備笅闈竴鑺傛墍紺恒?

鐢ㄦ埛閰嶇疆鏂囦歡錛?錛堢偣錛夋枃浠跺拰 rc 鏂囦歡
鎴戜滑宸茬粡鐪嬪埌鎬庢牱瀹規槗鍦伴厤緗▼搴忋備絾 鏄鏋滄湁鐨勪漢涓嶅枩嬈㈠湪 /etc/ 涓厤緗▼搴忕殑鏂瑰紡璇ユ庝箞鍔炲憿錛熲滄櫘閫氣濈敤鎴蜂笉鑳界畝鍗曞湴榪涘叆 /etc 鐒跺悗鏇存敼閰嶇疆鏂囦歡錛涗粠鏂囦歡緋葷粺鐨勮搴︽潵鐪嬶紝閰嶇疆鏂囦歡鐨勬墍鏈夎呮槸 root 鐢ㄦ埛錛佽繖灝辨槸澶у鏁扮敤鎴風▼搴忛兘瀹氫箟涓や釜閰嶇疆鏂囦歡鐨勫師鍥狅細絎竴涓槸鈥滅郴緇熲濈駭鍒殑錛屼綅浜? /etc/錛涘彟涓涓睘浜庣敤鎴封滀笓鐢ㄢ濓紝鍙互鍦ㄤ粬鎴栧ス鐨勪富鐩綍涓壘鍒般?br />
渚嬪錛屾垜鍦ㄦ垜鐨勭郴緇熶腑瀹夎浜嗛潪甯告湁鐢ㄧ殑 wget 瀹炵敤紼嬪簭銆?etc/ 涓湁涓涓?/etc/wgetrc 鏂囦歡銆傚湪鎴戠殑涓葷洰褰曚腑錛屾湁涓涓悕涓?.wgetrc 鐨勬枃浠訛紝瀹冩弿榪頒簡鎴戝畾鍒剁殑閰嶇疆錛堝彧鏈夊湪鎴戯紝涔熷氨鏄敤鎴瘋繍琛?wget 鍛戒護鏃訛紝鎵嶄細鍔犺澆榪欎釜閰嶇疆鏂囦歡錛夈傚叾瀹冪敤鎴峰湪浠栦滑鑷繁鐨勪富鐩綍錛?home/other錛変腑涔熷彲浠ユ湁 .wgetrc 鏂囦歡錛涘綋鐒訛紝鍙湁榪欎簺鐢ㄦ埛榪愯 wget 鍛戒護鏃訛紝鎵嶄細璇誨彇榪欎釜鏂囦歡銆傛崲鍙ヨ瘽璇達紝/etc/wgetrc 鏂囦歡涓?wget 鎻愪緵浜嗏滅己鐪佲濆鹼紝鑰? /home/xxx/.wgetrc 鏂囦歡鍒椾婦浜嗘煇涓敤鎴風殑鈥滃畾鍒墮」鈥濄傞噸瑕佺殑鏄繖鍙槸鈥滀竴鑸鍒欌濓紝騫墮潪鎵鏈夋儏鍐甸兘濡傛銆備緥濡傦紝涓涓薄 pine 涓鏍風殑紼嬪簭錛屽湪 /etc/ 涓茍娌℃湁浠諱綍鏂囦歡錛屽畠鍙湪鐢ㄦ埛涓葷洰褰曚腑鏈変竴涓畾鍒墮厤緗枃浠訛紝鍚嶄負 .pinerc銆傚叾瀹冪▼搴忓彲鑳藉彧鏈?/etc/ 涓殑緙虹渷閰嶇疆鏂囦歡錛岃屼笖鍙兘涓嶅厑璁哥敤鎴封滃畾鍒垛濊繖浜涢厤緗枃浠訛紙/etc 鐩綍涓彧鏈夊皯鏁?config. 鏂囦歡鏄繖縐嶆儏鍐碉級銆?br />
閫氬父浣跨敤鐨?rc 鍜?.錛堢偣錛夋枃浠?
鏂囦歡鍚?鎻忚堪
~/.bash_login 璇峰弬鑰冣渕an bash鈥濄傚鏋?~/.bash_profile 涓嶅瓨鍦紝bash 鍒欏皢 ~/.bash_login 浣滀負 ~/.bash_profile 澶勭悊銆?
~/.bash_logout 璇峰弬鑰冣渕an bash鈥濄傚湪閫鍑烘椂鐢?bash 鐧誨綍 shell 寮曠敤銆?
~/.bash_profile 鐢?bash 鐧誨綍 shell 寮曠敤 /etc/profile 涔嬪悗寮曠敤銆?
~/.bash_history 鍏堝墠鎵ц鐨勫懡浠ょ殑鍒楄〃銆?
~/.bashrc 璇峰弬鑰冣渕an bash鈥濄傜敱 bash 闈炵櫥褰曚氦浜掑紡 shell 寮曠敤錛堟病鏈夊叾瀹冩枃浠訛級銆傞櫎闈炶緗簡 BASH_ENV 鎴?ENV錛岄潪浜や簰寮?shell 涓嶅紩鐢ㄤ換浣曟枃浠躲?
~/.emacs 鍚姩鏃剁敱 emac 璇誨彇銆?
~/.forward
濡傛灉榪欓噷鍖呭惈涓涓數瀛愰偖浠跺湴鍧錛岄偅涔堟墍鏈夊彂寰 ~ 鐨勬墍鏈夎呯殑閭歡閮戒細琚漿鍙戝埌榪欎釜鐢靛瓙閭歡鍦板潃銆?
~/.fvwmrc ~/.fvwm2rc fvwm 鍜?fvwm2錛堝熀鏈殑 X Window 綆$悊鍣級鐨勯厤緗枃浠躲?
~/.hushlogin 璇峰弬鑰冣渕an login鈥濄傚紩璧封滄棤鎻愮ず鈥濈櫥褰曪紙娌℃湁閭歡閫氱煡銆佷笂嬈$櫥褰曚俊鎭垨鑰?MOD 淇℃伅錛夈?
~/.mail.rc 閭歡紼嬪簭鐨勭敤鎴峰垵濮嬪寲鏂囦歡銆?
~/.ncftp/ ncftp 紼嬪簭鐨勭洰褰曪紱鍖呭惈涔︾銆佹棩蹇椼佸畯銆侀閫夐」鍜岃窡韙俊鎭傝鍙傞槄 man ncftp銆俷cftp 鐨勭洰鐨勬槸涓哄洜鐗圭綉鏍囧噯鏂囦歡浼犺緭鍗忚錛圛nternet standard File Transfer Protocol錛夋彁渚涗竴涓己澶ц岀伒媧葷殑鎺ュ彛銆傚畠鏃ㄥ湪鏇挎崲緋葷粺鎵浣跨敤鐨勬爣鍑嗙殑 ftp 紼嬪簭銆?
~/.profile 璇峰弬鑰冣渕an bash鈥濄傚鏋?~/.bash_profile 鍜?~/.bash_login 鏂囦歡涓嶅瓨鍦紝bash 鍒欏皢 ~/.profile 浣滀負 ~/.bash_profile 澶勭悊錛屽茍琚叾瀹冪戶鎵?Bourn 鐨?shell 浣跨敤銆?
~/.pinerc Pine 閰嶇疆
~/.muttrc Mutt 閰嶇疆
~/.exrc 榪欎釜鏂囦歡鍙互鎺у埗 vi 鐨勯厤緗?
紺轟緥錛歴et ai sm ruler
鍦ㄦ鏂囦歡涓啓鍏ヤ笂闈竴琛屼細璁?vi 璁劇疆鑷姩緙╄繘銆佸尮閰嶆嫭鍙楓佹樉紺鴻鍙峰拰琛?鍒楄繖鍑犱釜閫夐」銆?
~/.vimrc 緙虹渷鐨勨淰im鈥濋厤緗枃浠躲傚拰 .exrc 涓鏍楓?
~/.gtkrc GNOME 宸ュ叿鍖咃紙GNOME Toolkit錛夈?
~/.kderc KDE 閰嶇疆銆?
~/.netrc ftp 緙虹渷鐧誨綍鍚嶅拰瀵嗙爜銆?
~/.rhosts 鐢?r- 宸ュ叿錛堝 rsh銆乺login 絳夌瓑錛変嬌鐢ㄣ傚洜涓哄啋鍏呬富鏈哄緢瀹規槗錛屾墍浠ュ畨鍏ㄦч潪甯鎬綆銆?
蹇呴』鐢辯敤鎴鳳紙~/ 鐨勬墍鏈夎咃級鎴栬秴綰х敤鎴鋒嫢鏈夈?
鍒楀嚭涓浜涗富鏈猴紝鐢ㄦ埛鍙互浠庤繖浜涗富鏈鴻闂甯愬彿銆?
濡傛灉鏄鍙烽摼鎺ュ垯琚拷鐣ャ?

~/.rpmrc 璇峰弬闃呪渕an rpm鈥濄傚鏋?/etc/rpmrc 涓嶅瓨鍦ㄥ垯鐢?rpm 璇誨彇銆?
~/.signature 娑堟伅鏂囨湰錛屽皢鑷姩闄勫姞鍦ㄤ粠姝ゅ笎鍙峰彂鍑虹殑閭歡鏈熬銆?
~/.twmrc twm錛圱he Window Manager錛夌殑閰嶇疆鏂囦歡銆?
~/.xinitrc 鍚姩鏃剁敱 X 璇誨彇錛堣屼笉鏄敱 xinit 鑴氭湰璇誨彇錛夈傞氬父浼氬惎鍔ㄤ竴浜涚▼搴忋?
紺轟緥錛歟xec /usr/sbin/startkde
濡傛灉璇ユ枃浠朵腑瀛樺湪涓婇潰榪欒鍐呭錛岄偅涔堝湪浠庤繖涓笎鍙峰彂鍑?startx 鍛戒護鏃訛紝榪欎竴琛屽氨浼氬惎鍔ㄢ淜DE 瑙嗙獥綆$悊鍣ㄢ濓紙KDE Window Manager錛夈?
~/.xmodmaprc 姝ゆ枃浠惰浼犻佸埌 xmodmap 紼嬪簭錛岃屼笖鍙互琚懡鍚嶄負浠諱綍鏂囦歡錛堜緥濡?~/.Xmodmap 鍜?~/.keymap.km錛夈?
~/.xserverrc 濡傛灉 xinit 鍙互鎵懼埌瑕佹墽琛岀殑 X錛寈init 灝變細灝嗚鏂囦歡浣滀負 X 鏈嶅姟鍣ㄨ繍琛屻?
~/News/Sent-Message-IDs gnus 鐨勭己鐪侀偖浠跺巻鍙叉枃浠躲?
~/.Xauthority 鐢?xdm 紼嬪簭璇誨拰鍐欙紝浠ュ鐞嗘潈闄愩傝鍙傞槄 X銆亁dm 鍜?xauth 鑱旀満甯姪欏點?
~/.Xdefaults,
~/.Xdefaults-hostname 鍦ㄤ富鏈?hostname 鐨勫惎鍔ㄨ繃紼嬩腑鐢?X 搴旂敤紼嬪簭璇誨彇銆傚鏋滄壘涓嶅埌 -hostname 鏂囦歡錛屽垯鏌ユ壘 .Xdefaults 鏂囦歡銆?
~/.Xmodmap 鎸囧悜 .xmodmaprc錛汻ed Hat 鏈変嬌鐢ㄨ繖涓悕縐扮殑 .xinitrc 鏂囦歡銆?
~/.Xresources 閫氬父鏄紶閫佸埌 xrdb 浠ュ姞杞?X 璧勬簮鏁版嵁搴撶殑鏂囦歡鐨勫悕縐幫紝鏃ㄥ湪閬垮厤搴旂敤紼嬪簭闇瑕佽鍙栦竴涓緢闀跨殑 .Xdefaults 鏂囦歡榪欐牱鐨勬儏鍐點傦紙鏈変簺鎯呭喌鏇劇粡浣跨敤浜?~/.Xres銆傦級

~/mbox
鐢ㄦ埛鐨勬棫閭歡銆?


鍙傝冭祫鏂?

瑕佷簡瑙f洿澶氫俊鎭紝璇烽槄璇?Jack Wallen, Jr. 鐨?Linux configuration files銆?br />

鍦?developerWorks 涓婅繕鏈夛細
Technical FAQ for Linux users
What good is a Linux client?
Using the xinetd program for system administration


嫻佽 developerWorks 涓婄殑鏇村 Linux 鍙傝冭祫鏂欍?br />

嫻佽 developerWorks 涓婄殑鏇村寮鏀炬簮浠g爜鍙傝冭祫鏂欍?nbsp;

鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/fbucnsfniuesfiidxfmikaeigzppejtjlomy/

]]>
[瀵煎叆]璺熸垜涓璧峰啓 Makefilehttp://m.shnenglu.com/robinchow/archive/2007/10/23/35018.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35018.htmlhttp://m.shnenglu.com/robinchow/comments/35018.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35018.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35018.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35018.html姒傝堪
鈥斺?/strong>

浠 涔堟槸makefile錛熸垨璁稿緢澶歐inodws鐨勭▼搴忓憳閮戒笉鐭ラ亾榪欎釜涓滆タ錛屽洜涓洪偅浜沇indows鐨処DE閮戒負浣犲仛浜嗚繖涓伐浣滐紝浣嗘垜瑙夊緱瑕佷綔涓涓ソ鐨勫拰 professional鐨勭▼搴忓憳錛宮akefile榪樻槸瑕佹噦銆傝繖灝卞ソ鍍忕幇鍦ㄦ湁榪欎箞澶氱殑HTML鐨勭紪杈戝櫒錛屼絾濡傛灉浣犳兂鎴愪負涓涓笓涓氫漢澹紝浣犺繕鏄浜嗚В HTML鐨勬爣璇嗙殑鍚箟銆傜壒鍒湪Unix涓嬬殑杞歡緙栬瘧錛屼綘灝變笉鑳戒笉鑷繁鍐檓akefile浜嗭紝浼氫笉浼氬啓makefile錛屼粠涓涓晶闈㈣鏄庝簡涓涓漢鏄惁鍏峰瀹?鎴愬ぇ鍨嬪伐紼嬬殑鑳藉姏銆?/font>

鍥犱負錛宮akefile鍏崇郴鍒頒簡鏁翠釜宸ョ▼鐨勭紪璇戣 鍒欍備竴涓伐紼嬩腑鐨勬簮鏂囦歡涓嶈鏁幫紝鍏舵寜綾誨瀷銆佸姛鑳姐佹ā鍧楀垎鍒斁鍦ㄨ嫢騫蹭釜鐩綍涓紝makefile瀹氫箟浜嗕竴緋誨垪鐨勮鍒欐潵鎸囧畾錛屽摢浜涙枃浠墮渶瑕佸厛緙栬瘧錛屽摢浜涙枃浠墮渶 瑕佸悗緙栬瘧錛屽摢浜涙枃浠墮渶瑕侀噸鏂扮紪璇戯紝鐢氳嚦浜庤繘琛屾洿澶嶆潅鐨勫姛鑳芥搷浣滐紝鍥犱負makefile灝卞儚涓涓猄hell鑴氭湰涓鏍鳳紝鍏朵腑涔熷彲浠ユ墽琛屾搷浣滅郴緇熺殑鍛戒護銆?/font>

makefile 甯︽潵鐨勫ソ澶勫氨鏄斺斺滆嚜鍔ㄥ寲緙栬瘧鈥濓紝涓鏃﹀啓濂斤紝鍙渶瑕佷竴涓猰ake鍛戒護錛屾暣涓伐紼嬪畬鍏ㄨ嚜鍔ㄧ紪璇戯紝鏋佸ぇ鐨勬彁楂樹簡杞歡寮鍙戠殑鏁堢巼銆俶ake鏄竴涓懡浠ゅ伐鍏鳳紝鏄?涓涓В閲妋akefile涓寚浠ょ殑鍛戒護宸ュ叿錛屼竴鑸潵璇達紝澶у鏁扮殑IDE閮芥湁榪欎釜鍛戒護錛屾瘮濡傦細Delphi鐨刴ake錛孷isual C++鐨刵make錛孡inux涓婫NU鐨刴ake銆傚彲瑙侊紝makefile閮芥垚涓轟簡涓縐嶅湪宸ョ▼鏂歸潰鐨勭紪璇戞柟娉曘?/font>

鐜?鍦ㄨ榪板浣曞啓makefile鐨勬枃绔犳瘮杈冨皯錛岃繖鏄垜鎯沖啓榪欑瘒鏂囩珷鐨勫師鍥犮傚綋鐒訛紝涓嶅悓浜у晢鐨刴ake鍚勪笉鐩稿悓錛屼篃鏈変笉鍚岀殑璇硶錛屼絾鍏舵湰璐ㄩ兘鏄湪鈥滄枃浠朵緷璧?鎬р濅笂鍋氭枃绔狅紝榪欓噷錛屾垜浠呭GNU鐨刴ake榪涜璁茶堪錛屾垜鐨勭幆澧冩槸RedHat Linux 8.0錛宮ake鐨勭増鏈槸3.80銆傚繀绔燂紝榪欎釜make鏄簲鐢ㄦ渶涓哄箍娉涚殑錛屼篃鏄敤寰楁渶澶氱殑銆傝屼笖鍏惰繕鏄渶閬靛驚浜嶪EEE 1003.2-1992 鏍囧噯鐨勶紙POSIX.2錛夈?/font>

鍦ㄨ繖綃囨枃妗d腑錛屽皢浠/C++鐨勬簮鐮佷綔涓烘垜浠熀紜錛屾墍浠ュ繀鐒舵秹鍙婁竴浜涘叧浜嶤/C++鐨勭紪璇戠殑鐭ヨ瘑錛岀浉鍏充簬榪欐柟闈㈢殑鍐呭錛岃繕璇峰悇浣嶆煡鐪嬬浉鍏崇殑緙栬瘧鍣ㄧ殑鏂囨。銆傝繖閲屾墍榛樿鐨勭紪璇戝櫒鏄疷NIX涓嬬殑GCC鍜孋C銆?/font>

 

鍏充簬紼嬪簭鐨勭紪璇戝拰閾炬帴
鈥斺斺斺斺斺斺斺斺斺?/strong>

鍦?姝わ紝鎴戞兂澶氳鍏充簬紼嬪簭緙栬瘧鐨勪竴浜涜鑼冨拰鏂規硶錛屼竴鑸潵璇達紝鏃犺鏄疌銆丆++銆佽繕鏄痯as錛岄鍏堣鎶婃簮鏂囦歡緙栬瘧鎴愪腑闂翠唬鐮佹枃浠訛紝鍦╓indows涓嬩篃灝辨槸 .obj 鏂囦歡錛孶NIX涓嬫槸 .o 鏂囦歡錛屽嵆 Object File錛岃繖涓姩浣滃彨鍋氱紪璇戯紙compile錛夈傜劧鍚庡啀鎶婂ぇ閲忕殑Object File鍚堟垚鎵ц鏂囦歡錛岃繖涓姩浣滃彨浣滈摼鎺ワ紙link錛夈?/font>

緙栬瘧鏃訛紝緙栬瘧鍣?闇瑕佺殑鏄娉曠殑姝g‘錛屽嚱鏁頒笌鍙橀噺鐨勫0鏄庣殑姝g‘銆傚浜庡悗鑰咃紝閫氬父鏄綘闇瑕佸憡璇夌紪璇戝櫒澶存枃浠剁殑鎵鍦ㄤ綅緗紙澶存枃浠朵腑搴旇鍙槸澹版槑錛岃屽畾涔夊簲璇ユ斁鍦–/C++鏂囦歡 涓級錛屽彧瑕佹墍鏈夌殑璇硶姝g‘錛岀紪璇戝櫒灝卞彲浠ョ紪璇戝嚭涓棿鐩爣鏂囦歡銆備竴鑸潵璇達紝姣忎釜婧愭枃浠墮兘搴旇瀵瑰簲浜庝竴涓腑闂寸洰鏍囨枃浠訛紙O鏂囦歡鎴栨槸OBJ鏂囦歡錛夈?/font>

閾?鎺ユ椂錛屼富瑕佹槸閾炬帴鍑芥暟鍜屽叏灞鍙橀噺錛屾墍浠ワ紝鎴戜滑鍙互浣跨敤榪欎簺涓棿鐩爣鏂囦歡錛圤鏂囦歡鎴栨槸OBJ鏂囦歡錛夋潵閾炬帴鎴戜滑鐨勫簲鐢ㄧ▼搴忋傞摼鎺ュ櫒騫朵笉綆″嚱鏁版墍鍦ㄧ殑婧愭枃浠訛紝鍙?綆″嚱鏁扮殑涓棿鐩爣鏂囦歡錛圤bject File錛夛紝鍦ㄥぇ澶氭暟鏃跺欙紝鐢變簬婧愭枃浠跺お澶氾紝緙栬瘧鐢熸垚鐨勪腑闂寸洰鏍囨枃浠跺お澶氾紝鑰屽湪閾炬帴鏃墮渶瑕佹槑鏄懼湴鎸囧嚭涓棿鐩爣鏂囦歡鍚嶏紝榪欏浜庣紪璇戝緢涓嶆柟渚匡紝鎵浠ワ紝鎴戜滑瑕佺粰 涓棿鐩爣鏂囦歡鎵撲釜鍖咃紝鍦╓indows涓嬭繖縐嶅寘鍙滃簱鏂囦歡鈥濓紙Library File)錛屼篃灝辨槸 .lib 鏂囦歡錛屽湪UNIX涓嬶紝鏄疉rchive File錛屼篃灝辨槸 .a 鏂囦歡銆?/font>

鎬葷粨涓涓嬶紝婧愭枃浠墮鍏堜細鐢熸垚涓棿鐩爣鏂?浠訛紝鍐嶇敱涓棿鐩爣鏂囦歡鐢熸垚鎵ц鏂囦歡銆傚湪緙栬瘧鏃訛紝緙栬瘧鍣ㄥ彧媯嫻嬬▼搴忚娉曪紝鍜屽嚱鏁般佸彉閲忔槸鍚﹁澹版槑銆傚鏋滃嚱鏁版湭琚0鏄庯紝緙栬瘧鍣ㄤ細緇欏嚭涓涓鍛婏紝浣嗗彲浠ョ敓鎴?Object File銆傝屽湪閾炬帴紼嬪簭鏃訛紝閾炬帴鍣ㄤ細鍦ㄦ墍鏈夌殑Object File涓壘瀵誨嚱鏁扮殑瀹炵幇錛屽鏋滄壘涓嶅埌錛岄偅鍒板氨浼氭姤閾炬帴閿欒鐮侊紙Linker Error錛夛紝鍦╒C涓嬶紝榪欑閿欒涓鑸槸錛歀ink 2001閿欒錛屾剰鎬濊鏄錛岄摼鎺ュ櫒鏈兘鎵懼埌鍑芥暟鐨勫疄鐜般備綘闇瑕佹寚瀹氬嚱鏁扮殑Object File.

濂斤紝璦褰掓浼狅紝GNU鐨刴ake鏈夎澶氱殑鍐呭錛岄棽璦灝戝彊錛岃繕鏄鎴戜滑寮濮嬪惂銆?/font>

 

Makefile 浠嬬粛
鈥斺斺斺斺斺斺?/strong>

make鍛戒護鎵ц鏃訛紝闇瑕佷竴涓?Makefile 鏂囦歡錛屼互鍛婅瘔make鍛戒護闇瑕佹庝箞鏍風殑鍘葷紪璇戝拰閾炬帴紼嬪簭銆?/font>

棣栧厛錛屾垜浠敤涓涓ず渚嬫潵璇存槑Makefile鐨勪功鍐欒鍒欍備互渚跨粰澶у涓涓劅鍏磋璇嗐傝繖涓ず渚嬫潵婧愪簬GNU鐨刴ake浣跨敤鎵嬪唽錛屽湪榪欎釜紺轟緥涓紝鎴戜滑鐨勫伐紼嬫湁8涓狢鏂囦歡錛屽拰3涓ご鏂囦歡錛屾垜浠鍐欎竴涓狹akefile鏉ュ憡璇塵ake鍛戒護濡備綍緙栬瘧鍜岄摼鎺ヨ繖鍑犱釜鏂囦歡銆傛垜浠殑瑙勫垯鏄細
    1錛夊鏋滆繖涓伐紼嬫病鏈夌紪璇戣繃錛岄偅涔堟垜浠殑鎵鏈塁鏂囦歡閮借緙栬瘧騫惰閾炬帴銆?br />    2錛夊鏋滆繖涓伐紼嬬殑鏌愬嚑涓狢鏂囦歡琚慨鏀癸紝閭d箞鎴戜滑鍙紪璇戣淇敼鐨凜鏂囦歡錛屽茍閾炬帴鐩爣紼嬪簭銆?br />    3錛夊鏋滆繖涓伐紼嬬殑澶存枃浠惰鏀瑰彉浜嗭紝閭d箞鎴戜滑闇瑕佺紪璇戝紩鐢ㄤ簡榪欏嚑涓ご鏂囦歡鐨凜鏂囦歡錛屽茍閾炬帴鐩爣紼嬪簭銆?/font>

鍙鎴戜滑鐨凪akefile鍐欏緱澶熷ソ錛屾墍鏈夌殑榪欎竴鍒囷紝鎴戜滑鍙敤涓涓猰ake鍛戒護灝卞彲浠ュ畬鎴愶紝make鍛戒護浼氳嚜鍔ㄦ櫤鑳藉湴鏍規嵁褰撳墠鐨勬枃浠朵慨鏀圭殑鎯呭喌鏉ョ‘瀹氬摢浜涙枃浠墮渶瑕侀噸緙栬瘧錛屼粠鑰岃嚜宸辯紪璇戞墍闇瑕佺殑鏂囦歡鍜岄摼鎺ョ洰鏍囩▼搴忋?/font>


涓銆丮akefile鐨勮鍒?/strong>

鍦ㄨ榪拌繖涓狹akefile涔嬪墠錛岃繕鏄鎴戜滑鍏堟潵綺楃暐鍦扮湅涓鐪婱akefile鐨勮鍒欍?/font>

    target ... : prerequisites ...
            command
            ...
            ...

    target涔熷氨鏄竴涓洰鏍囨枃浠訛紝鍙互鏄疧bject File錛屼篃鍙互鏄墽琛屾枃浠躲傝繕鍙互鏄竴涓爣絳撅紙Label錛夛紝瀵逛簬鏍囩榪欑鐗規э紝鍦ㄥ悗緇殑鈥滀吉鐩爣鈥濈珷鑺備腑浼氭湁鍙欒堪銆?/font>

    prerequisites灝辨槸錛岃鐢熸垚閭d釜target鎵闇瑕佺殑鏂囦歡鎴栨槸鐩爣銆?/font>

    command涔熷氨鏄痬ake闇瑕佹墽琛岀殑鍛戒護銆傦紙浠繪剰鐨凷hell鍛戒護錛?/font>

榪?鏄竴涓枃浠剁殑渚濊禆鍏崇郴錛屼篃灝辨槸璇達紝target榪欎竴涓垨澶氫釜鐨勭洰鏍囨枃浠朵緷璧栦簬prerequisites涓殑鏂囦歡錛屽叾鐢熸垚瑙勫垯瀹氫箟鍦╟ommand涓傝 鐧戒竴鐐瑰氨鏄錛宲rerequisites涓鏋滄湁涓涓互涓婄殑鏂囦歡姣攖arget鏂囦歡瑕佹柊鐨勮瘽錛宑ommand鎵瀹氫箟鐨勫懡浠ゅ氨浼氳鎵ц銆傝繖灝辨槸 Makefile鐨勮鍒欍備篃灝辨槸Makefile涓渶鏍稿績鐨勫唴瀹廣?/font>

璇村埌搴曪紝Makefile鐨勪笢瑗垮氨鏄繖鏍蜂竴鐐癸紝濂藉儚鎴戠殑榪欑瘒鏂囨。涔熻緇撴潫浜嗐傚懙鍛點傝繕涓嶅敖鐒訛紝榪欐槸Makefile鐨勪富綰垮拰鏍稿績錛屼絾瑕佸啓濂戒竴涓狹akefile榪樹笉澶燂紝鎴戜細浠ュ悗闈竴鐐逛竴鐐瑰湴緇撳悎鎴戠殑宸ヤ綔緇忛獙緇欎綘鎱㈡參鍒版潵銆傚唴瀹硅繕澶氱潃鍛€傦細錛?/font>


浜屻佷竴涓ず渚?/strong>

姝e鍓嶉潰鎵璇寸殑錛屽鏋滀竴涓伐紼嬫湁3涓ご鏂囦歡錛屽拰8涓狢鏂囦歡錛屾垜浠負浜嗗畬鎴愬墠闈㈡墍榪扮殑閭d笁涓鍒欙紝鎴戜滑鐨凪akefile搴旇鏄笅闈㈢殑榪欎釜鏍峰瓙鐨勩?/font>

    edit : main.o kbd.o command.o display.o \
           insert.o search.o files.o utils.o
            cc -o edit main.o kbd.o command.o display.o \
                       insert.o search.o files.o utils.o

    main.o : main.c defs.h
            cc -c main.c
    kbd.o : kbd.c defs.h command.h
            cc -c kbd.c
    command.o : command.c defs.h command.h
            cc -c command.c
    display.o : display.c defs.h buffer.h
            cc -c display.c
    insert.o : insert.c defs.h buffer.h
            cc -c insert.c
    search.o : search.c defs.h buffer.h
            cc -c search.c
    files.o : files.c defs.h buffer.h command.h
            cc -c files.c
    utils.o : utils.c defs.h
            cc -c utils.c
    clean :
            rm edit main.o kbd.o command.o display.o \
               insert.o search.o files.o utils.o

鍙?鏂滄潬錛圽錛夋槸鎹㈣絎︾殑鎰忔濄傝繖鏍鋒瘮杈冧究浜嶮akefile鐨勬槗璇匯傛垜浠彲浠ユ妸榪欎釜鍐呭淇濆瓨鍦ㄦ枃浠朵負鈥淢akefile鈥濇垨鈥渕akefile鈥濈殑鏂囦歡涓紝 鐒跺悗鍦ㄨ鐩綍涓嬬洿鎺ヨ緭鍏ュ懡浠も渕ake鈥濆氨鍙互鐢熸垚鎵ц鏂囦歡edit銆傚鏋滆鍒犻櫎鎵ц鏂囦歡鍜屾墍鏈夌殑涓棿鐩爣鏂囦歡錛岄偅涔堬紝鍙綆鍗曞湴鎵ц涓涓嬧渕ake clean鈥濆氨鍙互浜嗐?/font>

鍦ㄨ繖涓猰akefile涓紝鐩爣鏂囦歡 錛坱arget錛夊寘鍚細鎵ц鏂囦歡edit鍜屼腑闂寸洰鏍囨枃浠訛紙*.o錛夛紝渚濊禆鏂囦歡錛坧rerequisites錛夊氨鏄啋鍙峰悗闈㈢殑閭d簺 .c 鏂囦歡鍜?.h鏂囦歡銆傛瘡涓涓?.o 鏂囦歡閮芥湁涓緇勪緷璧栨枃浠訛紝鑰岃繖浜?.o 鏂囦歡鍙堟槸鎵ц鏂囦歡 edit 鐨勪緷璧栨枃浠躲備緷璧栧叧緋葷殑瀹炶川涓婂氨鏄鏄庝簡鐩爣鏂囦歡鏄敱鍝簺鏂囦歡鐢熸垚鐨勶紝鎹㈣█涔嬶紝鐩爣鏂囦歡鏄摢浜涙枃浠舵洿鏂扮殑銆?/font>

鍦?瀹氫箟濂戒緷璧栧叧緋誨悗錛屽悗緇殑閭d竴琛屽畾涔変簡濡備綍鐢熸垚鐩爣鏂囦歡鐨勬搷浣滅郴緇熷懡浠わ紝涓瀹氳浠ヤ竴涓猅ab閿綔涓哄紑澶淬傝浣忥紝make騫朵笉綆″懡浠ゆ槸鎬庝箞宸ヤ綔鐨勶紝浠栧彧綆℃墽 琛屾墍瀹氫箟鐨勫懡浠ゃ俶ake浼氭瘮杈僼argets鏂囦歡鍜宲rerequisites鏂囦歡鐨勪慨鏀規棩鏈燂紝濡傛灉prerequisites鏂囦歡鐨勬棩鏈熻姣?targets鏂囦歡鐨勬棩鏈熻鏂幫紝鎴栬卼arget涓嶅瓨鍦ㄧ殑璇濓紝閭d箞錛宮ake灝變細鎵ц鍚庣畫瀹氫箟鐨勫懡浠ゃ?/font>

榪?閲岃璇存槑涓鐐圭殑鏄紝clean涓嶆槸涓涓枃浠訛紝瀹冨彧涓嶈繃鏄竴涓姩浣滃悕瀛楋紝鏈夌偣鍍廋璇█涓殑lable涓鏍鳳紝鍏跺啋鍙峰悗浠涔堜篃娌℃湁錛岄偅涔堬紝make灝變笉浼氳嚜鍔ㄥ幓 鎵炬枃浠剁殑渚濊禆鎬э紝涔熷氨涓嶄細鑷姩鎵ц鍏跺悗鎵瀹氫箟鐨勫懡浠ゃ傝鎵ц鍏跺悗鐨勫懡浠わ紝灝辮鍦╩ake鍛戒護鍚庢槑鏄懼緱鎸囧嚭榪欎釜lable鐨勫悕瀛椼傝繖鏍風殑鏂規硶闈炲父鏈夌敤錛屾垜浠?鍙互鍦ㄤ竴涓猰akefile涓畾涔変笉鐢ㄧ殑緙栬瘧鎴栨槸鍜岀紪璇戞棤鍏崇殑鍛戒護錛屾瘮濡傜▼搴忕殑鎵撳寘錛岀▼搴忕殑澶囦喚錛岀瓑絳夈?/font>

 

涓夈乵ake鏄浣曞伐浣滅殑

鍦ㄩ粯璁ょ殑鏂瑰紡涓嬶紝涔熷氨鏄垜浠彧杈撳叆make鍛戒護銆傞偅涔堬紝

    1銆乵ake浼氬湪褰撳墠鐩綍涓嬫壘鍚嶅瓧鍙淢akefile鈥濇垨鈥渕akefile鈥濈殑鏂囦歡銆?br />    2銆佸鏋滄壘鍒幫紝瀹冧細鎵炬枃浠朵腑鐨勭涓涓洰鏍囨枃浠訛紙target錛夛紝鍦ㄤ笂闈㈢殑渚嬪瓙涓紝浠栦細鎵懼埌鈥渆dit鈥濊繖涓枃浠訛紝騫舵妸榪欎釜鏂囦歡浣滀負鏈緇堢殑鐩爣鏂囦歡銆?br />    3銆佸鏋渆dit鏂囦歡涓嶅瓨鍦紝鎴栨槸edit鎵渚濊禆鐨勫悗闈㈢殑 .o 鏂囦歡鐨勬枃浠朵慨鏀規椂闂磋姣攅dit榪欎釜鏂囦歡鏂幫紝閭d箞錛屼粬灝變細鎵ц鍚庨潰鎵瀹氫箟鐨勫懡浠ゆ潵鐢熸垚edit榪欎釜鏂囦歡銆?br />    4銆佸鏋渆dit鎵渚濊禆鐨?o鏂囦歡涔熷瓨鍦紝閭d箞make浼氬湪褰撳墠鏂囦歡涓壘鐩爣涓?o鏂囦歡鐨勪緷璧栨э紝濡傛灉鎵懼埌鍒欏啀鏍規嵁閭d竴涓鍒欑敓鎴?o鏂囦歡銆傦紙榪欐湁鐐瑰儚涓涓爢鏍堢殑榪囩▼錛?br />    5銆佸綋鐒訛紝浣犵殑C鏂囦歡鍜孒鏂囦歡鏄瓨鍦ㄧ殑鍟︼紝浜庢槸make浼氱敓鎴?.o 鏂囦歡錛岀劧鍚庡啀鐢?.o 鏂囦歡鐢熷懡make鐨勭粓鏋佷換鍔★紝涔熷氨鏄墽琛屾枃浠秂dit浜嗐?/font>

榪?灝辨槸鏁翠釜make鐨勪緷璧栨э紝make浼氫竴灞傚張涓灞傚湴鍘繪壘鏂囦歡鐨勪緷璧栧叧緋伙紝鐩村埌鏈緇堢紪璇戝嚭絎竴涓洰鏍囨枃浠躲傚湪鎵懼鐨勮繃紼嬩腑錛屽鏋滃嚭鐜伴敊璇紝姣斿鏈鍚庤渚濊禆鐨?鏂囦歡鎵句笉鍒幫紝閭d箞make灝變細鐩存帴閫鍑猴紝騫舵姤閿欙紝鑰屽浜庢墍瀹氫箟鐨勫懡浠ょ殑閿欒錛屾垨鏄紪璇戜笉鎴愬姛錛宮ake鏍規湰涓嶇悊銆俶ake鍙鏂囦歡鐨勪緷璧栨э紝鍗籌紝濡傛灉鍦ㄦ垜 鎵句簡渚濊禆鍏崇郴涔嬪悗錛屽啋鍙峰悗闈㈢殑鏂囦歡榪樻槸涓嶅湪錛岄偅涔堝涓嶈搗錛屾垜灝變笉宸ヤ綔鍟︺?/font>

閫氳繃涓婅堪鍒嗘瀽錛屾垜浠煡閬擄紝鍍廲lean榪欑錛屾病鏈夎絎竴涓洰鏍囨枃浠剁洿鎺ユ垨闂存帴鍏寵仈錛岄偅涔堝畠鍚庨潰鎵瀹氫箟鐨勫懡浠ゅ皢涓嶄細琚嚜鍔ㄦ墽琛岋紝涓嶈繃錛屾垜浠彲浠ユ樉紺鴻make鎵ц銆傚嵆鍛戒護鈥斺斺渕ake clean鈥濓紝浠ユ鏉ユ竻闄ゆ墍鏈夌殑鐩爣鏂囦歡錛屼互渚塊噸緙栬瘧銆?/font>

浜?鏄湪鎴戜滑緙栫▼涓紝濡傛灉榪欎釜宸ョ▼宸茶緙栬瘧榪囦簡錛屽綋鎴戜滑淇敼浜嗗叾涓竴涓簮鏂囦歡錛屾瘮濡?file.c錛岄偅涔堟牴鎹垜浠殑渚濊禆鎬э紝鎴戜滑鐨勭洰鏍噁ile.o浼氳閲嶇紪璇戯紙涔熷氨鏄湪榪欎釜渚濇у叧緋誨悗闈㈡墍瀹氫箟鐨勫懡浠わ級錛屼簬鏄痜ile.o鐨勬枃浠朵篃鏄渶鏂扮殑 鍟︼紝浜庢槸file.o鐨勬枃浠朵慨鏀規椂闂磋姣攅dit瑕佹柊錛屾墍浠dit涔熶細琚噸鏂伴摼鎺ヤ簡錛堣瑙乪dit鐩爣鏂囦歡鍚庡畾涔夌殑鍛戒護錛夈?/font>

鑰屽鏋滄垜浠敼鍙樹簡鈥渃ommand.h鈥濓紝閭d箞錛宬db.o銆乧ommand.o鍜宖iles.o閮戒細琚噸緙栬瘧錛屽茍涓旓紝edit浼氳閲嶉摼鎺ャ?/font>


鍥涖乵akefile涓嬌鐢ㄥ彉閲?/strong>

鍦ㄤ笂闈㈢殑渚嬪瓙涓紝鍏堣鎴戜滑鐪嬬湅edit鐨勮鍒欙細

      edit : main.o kbd.o command.o display.o \
                  insert.o search.o files.o utils.o
            cc -o edit main.o kbd.o command.o display.o \
                       insert.o search.o files.o utils.o

鎴?浠彲浠ョ湅鍒癧.o]鏂囦歡鐨勫瓧絎︿覆琚噸澶嶄簡涓ゆ錛屽鏋滄垜浠殑宸ョ▼闇瑕佸姞鍏ヤ竴涓柊鐨刐.o]鏂囦歡錛岄偅涔堟垜浠渶瑕佸湪涓や釜鍦版柟鍔狅紙搴旇鏄笁涓湴鏂癸紝榪樻湁涓涓湴鏂瑰湪 clean涓級銆傚綋鐒訛紝鎴戜滑鐨刴akefile騫朵笉澶嶆潅錛屾墍浠ュ湪涓や釜鍦版柟鍔犱篃涓嶇瘡錛屼絾濡傛灉 makefile鍙樺緱澶嶆潅錛岄偅涔堟垜浠氨鏈夊彲鑳戒細蹇樻帀涓涓渶瑕佸姞鍏ョ殑鍦版柟錛岃屽鑷寸紪璇戝け璐ャ傛墍浠ワ紝涓轟簡makefile鐨勬槗緇存姢錛屽湪makefile涓垜浠?鍙互浣跨敤鍙橀噺銆俶akefile鐨勫彉閲忎篃灝辨槸涓涓瓧絎︿覆錛岀悊瑙f垚C璇█涓殑瀹忓彲鑳戒細鏇村ソ銆?/font>

姣斿錛屾垜浠0鏄庝竴涓彉閲忥紝鍙玱bjects, OBJECTS, objs, OBJS, obj, 鎴栨槸 OBJ錛屽弽姝d笉綆′粈涔堝暒錛屽彧瑕佽兘澶熻〃紺簅bj鏂囦歡灝辮浜嗐傛垜浠湪makefile涓寮濮嬪氨榪欐牱瀹氫箟錛?/font>

     objects = main.o kbd.o command.o display.o \
              insert.o search.o files.o utils.o

浜庢槸錛屾垜浠氨鍙互寰堟柟渚垮湴鍦ㄦ垜浠殑makefile涓互鈥?(objects)鈥濈殑鏂瑰紡鏉ヤ嬌鐢ㄨ繖涓彉閲忎簡錛屼簬鏄垜浠殑鏀硅壇鐗坢akefile灝卞彉鎴愪笅闈㈣繖涓牱瀛愶細

    objects = main.o kbd.o command.o display.o \
              insert.o search.o files.o utils.o

    edit : $(objects)
            cc -o edit $(objects)
    main.o : main.c defs.h
            cc -c main.c
    kbd.o : kbd.c defs.h command.h
            cc -c kbd.c
    command.o : command.c defs.h command.h
            cc -c command.c
    display.o : display.c defs.h buffer.h
            cc -c display.c
    insert.o : insert.c defs.h buffer.h
            cc -c insert.c
    search.o : search.c defs.h buffer.h
            cc -c search.c
    files.o : files.c defs.h buffer.h command.h
            cc -c files.c
    utils.o : utils.c defs.h
            cc -c utils.c
    clean :
            rm edit $(objects)


浜庢槸濡傛灉鏈夋柊鐨?.o 鏂囦歡鍔犲叆錛屾垜浠彧闇綆鍗曞湴淇敼涓涓?objects 鍙橀噺灝卞彲浠ヤ簡銆?/font>

鍏充簬鍙橀噺鏇村鐨勮瘽棰橈紝鎴戜細鍦ㄥ悗緇粰浣犱竴涓閬撴潵銆?/font>


浜斻佽make鑷姩鎺ㄥ

GNU鐨刴ake寰堝己澶э紝瀹冨彲浠ヨ嚜鍔ㄦ帹瀵兼枃浠朵互鍙婃枃浠朵緷璧栧叧緋誨悗闈㈢殑鍛戒護錛屼簬鏄垜浠氨娌″繀瑕佸幓鍦ㄦ瘡涓涓猍.o]鏂囦歡鍚庨兘鍐欎笂綾諱技鐨勫懡浠わ紝鍥犱負錛屾垜浠殑make浼氳嚜鍔ㄨ瘑鍒紝騫惰嚜宸辨帹瀵煎懡浠ゃ?/font>

鍙?瑕乵ake鐪嬪埌涓涓猍.o]鏂囦歡錛屽畠灝變細鑷姩鐨勬妸[.c]鏂囦歡鍔犲湪渚濊禆鍏崇郴涓紝濡傛灉make 鎵懼埌涓涓獁hatever.o錛岄偅涔坵hatever.c錛屽氨浼氭槸whatever.o鐨勪緷璧栨枃浠躲傚茍涓?cc -c whatever.c 涔熶細琚帹瀵煎嚭鏉ワ紝浜庢槸錛屾垜浠殑makefile鍐嶄篃涓嶇敤鍐欏緱榪欎箞澶嶆潅銆傛垜浠殑鏄柊鐨刴akefile鍙堝嚭鐐変簡銆?/font>


    objects = main.o kbd.o command.o display.o \
              insert.o search.o files.o utils.o

    edit : $(objects)
            cc -o edit $(objects)

    main.o : defs.h
    kbd.o : defs.h command.h
    command.o : defs.h command.h
    display.o : defs.h buffer.h
    insert.o : defs.h buffer.h
    search.o : defs.h buffer.h
    files.o : defs.h buffer.h command.h
    utils.o : defs.h

    .PHONY : clean
    clean :
            rm edit $(objects)

榪欑鏂規硶錛屼篃灝辨槸make鐨勨滈殣鏅﹁鍒欌濄備笂闈㈡枃浠跺唴瀹逛腑錛屸?PHONY鈥濊〃紺猴紝clean鏄釜浼洰鏍囨枃浠躲?/font>

鍏充簬鏇翠負璇︾粏鐨勨滈殣鏅﹁鍒欌濆拰鈥滀吉鐩爣鏂囦歡鈥濓紝鎴戜細鍦ㄥ悗緇粰浣犱竴涓閬撴潵銆?/font>


鍏佸彟綾婚鏍肩殑makefile

鍗崇劧鎴戜滑鐨刴ake鍙互鑷姩鎺ㄥ鍛戒護錛岄偅涔堟垜鐪嬪埌閭e爢[.o]鍜孾.h]鐨勪緷璧栧氨鏈夌偣涓嶇埥錛岄偅涔堝鐨勯噸澶嶇殑[.h]錛岃兘涓嶈兘鎶婂叾鏀舵嫝璧鋒潵錛屽ソ鍚э紝娌℃湁闂錛岃繖涓浜巑ake鏉ヨ寰堝鏄擄紝璋佸彨瀹冩彁渚涗簡鑷姩鎺ㄥ鍛戒護鍜屾枃浠剁殑鍔熻兘鍛紵鏉ョ湅鐪嬫渶鏂伴鏍肩殑makefile鍚с?/font>

    objects = main.o kbd.o command.o display.o \
              insert.o search.o files.o utils.o

    edit : $(objects)
            cc -o edit $(objects)

    $(objects) : defs.h
    kbd.o command.o files.o : command.h
    display.o insert.o search.o files.o : buffer.h

    .PHONY : clean
    clean :
            rm edit $(objects)

榪欑椋庢牸錛岃鎴戜滑鐨刴akefile鍙樺緱寰堢畝鍗曪紝浣嗘垜浠殑鏂囦歡渚濊禆鍏崇郴灝辨樉寰楁湁鐐瑰噷涔變簡銆傞奔鍜岀唺鎺屼笉鍙吋寰椼傝繕鐪嬩綘鐨勫枩濂戒簡銆傛垜鏄笉鍠滄榪欑椋庢牸鐨勶紝涓鏄枃浠剁殑渚濊禆鍏崇郴鐪嬩笉娓呮錛屼簩鏄鏋滄枃浠朵竴澶氾紝瑕佸姞鍏ュ嚑涓柊鐨?o鏂囦歡錛岄偅灝辯悊涓嶆竻妤氫簡銆?/font>


涓冦佹竻絀虹洰鏍囨枃浠剁殑瑙勫垯

姣忎釜Makefile涓兘搴旇鍐欎竴涓竻絀虹洰鏍囨枃浠訛紙.o鍜屾墽琛屾枃浠訛級鐨勮鍒欙紝榪欎笉浠呬究浜庨噸緙栬瘧錛屼篃寰堝埄浜庝繚鎸佹枃浠剁殑娓呮磥銆傝繖鏄竴涓滀慨鍏燴濓紙鍛靛懙錛岃繕璁板緱鎴戠殑銆婄紪紼嬩慨鍏匯嬪悧錛夈備竴鑸殑椋庢牸閮芥槸錛?/font>

        clean:
            rm edit $(objects)

鏇翠負紼沖仴鐨勫仛娉曟槸錛?/font>

        .PHONY : clean
        clean :
                -rm edit $(objects)

鍓?闈㈣榪囷紝.PHONY鎰忔濊〃紺篶lean鏄竴涓滀吉鐩爣鈥濓紝銆傝屽湪rm鍛戒護鍓嶉潰鍔犱簡涓涓皬鍑忓彿鐨勬剰鎬濆氨鏄紝涔熻鏌愪簺鏂囦歡鍑虹幇闂錛屼絾涓嶈綆★紝緇х畫鍋氬悗闈㈢殑 浜嬨傚綋鐒訛紝clean鐨勮鍒欎笉瑕佹斁鍦ㄦ枃浠剁殑寮澶達紝涓嶇劧錛岃繖灝變細鍙樻垚make鐨勯粯璁ょ洰鏍囷紝鐩鎬俊璋佷篃涓嶆効鎰忚繖鏍楓備笉鎴愭枃鐨勮鐭╂槸鈥斺斺渃lean浠庢潵閮芥槸鏀懼湪 鏂囦歡鐨勬渶鍚庘濄?/font>


涓婇潰灝辨槸涓涓猰akefile鐨勬璨岋紝涔熸槸makefile鐨勫熀紜錛屼笅闈㈣繕鏈夊緢澶歮akefile鐨勭浉鍏崇粏鑺傦紝鍑嗗濂戒簡鍚楋紵鍑嗗濂戒簡灝辨潵銆?/font>

 

Makefile 鎬昏堪
鈥斺斺斺斺斺斺?/font>

涓銆丮akefile閲屾湁浠涔堬紵

Makefile閲屼富瑕佸寘鍚簡浜斾釜涓滆タ錛氭樉寮忚鍒欍侀殣鏅﹁鍒欍佸彉閲忓畾涔夈佹枃浠舵寚紺哄拰娉ㄩ噴銆?/font>

1銆佹樉寮忚鍒欍傛樉寮忚鍒欒鏄庝簡錛屽浣曠敓鎴愪竴涓垨澶氱殑鐨勭洰鏍囨枃浠躲傝繖鏄敱Makefile鐨勪功鍐欒呮槑鏄炬寚鍑猴紝瑕佺敓鎴愮殑鏂囦歡錛屾枃浠剁殑渚濊禆鏂囦歡錛岀敓鎴愮殑鍛戒護銆?/font>

2銆侀殣鏅﹁鍒欍傜敱浜庢垜浠殑make鏈夎嚜鍔ㄦ帹瀵肩殑鍔熻兘錛屾墍浠ラ殣鏅︾殑瑙勫垯鍙互璁╂垜浠瘮杈冪矖緋欏湴綆鐣ュ湴涔﹀啓Makefile錛岃繖鏄敱make鎵鏀寔鐨勩?/font>

3銆佸彉閲忕殑瀹氫箟銆傚湪Makefile涓垜浠瀹氫箟涓緋誨垪鐨勫彉閲忥紝鍙橀噺涓鑸兘鏄瓧絎︿覆錛岃繖涓湁鐐逛綘C璇█涓殑瀹忥紝褰揗akefile琚墽琛屾椂錛屽叾涓殑鍙橀噺閮戒細琚墿灞曞埌鐩稿簲鐨勫紩鐢ㄤ綅緗笂銆?/font>

4銆?鏂囦歡鎸囩ず銆傚叾鍖呮嫭浜嗕笁涓儴鍒嗭紝涓涓槸鍦ㄤ竴涓狹akefile涓紩鐢ㄥ彟涓涓?Makefile錛屽氨鍍廋璇█涓殑include涓鏍鳳紱鍙︿竴涓槸鎸囨牴鎹煇浜涙儏鍐墊寚瀹歁akefile涓殑鏈夋晥閮ㄥ垎錛屽氨鍍廋璇█涓殑棰勭紪璇?if涓鏍鳳紱榪樻湁 灝辨槸瀹氫箟涓涓琛岀殑鍛戒護銆傛湁鍏寵繖涓閮ㄥ垎鐨勫唴瀹癸紝鎴戜細鍦ㄥ悗緇殑閮ㄥ垎涓榪般?/font>

5銆佹敞閲娿侻akefile涓彧鏈夎娉ㄩ噴錛屽拰UNIX鐨凷hell鑴氭湰涓鏍鳳紝鍏舵敞閲婃槸鐢ㄢ?鈥濆瓧絎︼紝榪欎釜灝卞儚C/C++涓殑鈥?/鈥濅竴鏍楓傚鏋滀綘瑕佸湪浣犵殑Makefile涓嬌鐢ㄢ?鈥濆瓧絎︼紝鍙互鐢ㄥ弽鏂滄榪涜杞箟錛屽錛氣淺#鈥濄?/font>

鏈鍚庯紝榪樺煎緱涓鎻愮殑鏄紝鍦∕akefile涓殑鍛戒護錛屽繀欏昏浠Tab]閿紑濮嬨?/font>


浜屻丮akefile鐨勬枃浠跺悕

榛?璁ょ殑鎯呭喌涓嬶紝make鍛戒護浼氬湪褰撳墠鐩綍涓嬫寜欏哄簭鎵懼鏂囦歡鍚嶄負鈥淕NUmakefile鈥濄?鈥渕akefile鈥濄佲淢akefile鈥濈殑鏂囦歡錛屾壘鍒頒簡瑙i噴榪欎釜鏂囦歡銆傚湪榪欎笁涓枃浠跺悕涓紝鏈濂戒嬌鐢ㄢ淢akefile鈥濊繖涓枃浠跺悕錛屽洜涓猴紝榪欎釜鏂囦歡鍚?絎竴涓瓧絎︿負澶у啓錛岃繖鏍鋒湁涓縐嶆樉鐩殑鎰熻銆傛渶濂戒笉瑕佺敤鈥淕NUmakefile鈥濓紝榪欎釜鏂囦歡鏄疓NU鐨刴ake璇嗗埆鐨勩傛湁鍙﹀涓浜沵ake鍙鍏ㄥ皬鍐欑殑 鈥渕akefile鈥濇枃浠跺悕鏁忔劅錛屼絾鏄熀鏈笂鏉ヨ錛屽ぇ澶氭暟鐨刴ake閮芥敮鎸佲渕akefile鈥濆拰鈥淢akefile鈥濊繖涓ょ榛樿鏂囦歡鍚嶃?/font>

褰?鐒訛紝浣犲彲浠ヤ嬌鐢ㄥ埆鐨勬枃浠跺悕鏉ヤ功鍐橫akefile錛屾瘮濡傦細鈥淢ake.Linux鈥濓紝 鈥淢ake.Solaris鈥濓紝鈥淢ake.AIX鈥濈瓑錛屽鏋滆鎸囧畾鐗瑰畾鐨凪akefile錛屼綘鍙互浣跨敤make鐨勨?f鈥濆拰鈥?-file鈥濆弬鏁幫紝濡傦細 make -f Make.Linux鎴杕ake --file Make.AIX銆?/font>


涓夈佸紩鐢ㄥ叾瀹冪殑Makefile

鍦∕akefile浣跨敤include鍏抽敭瀛楀彲浠ユ妸鍒殑Makefile鍖呭惈榪涙潵錛岃繖寰堝儚C璇█鐨?include錛岃鍖呭惈鐨勬枃浠朵細鍘熸ā鍘熸牱鐨勬斁鍦ㄥ綋鍓嶆枃浠剁殑鍖呭惈浣嶇疆銆俰nclude鐨勮娉曟槸錛?/font>

    include <filename>

    filename鍙互鏄綋鍓嶆搷浣滅郴緇烻hell鐨勬枃浠舵ā寮忥紙鍙互淇濆惈璺緞鍜岄氶厤絎︼級

鍦╥nclude 鍓嶉潰鍙互鏈変竴浜涚┖瀛楃錛屼絾鏄粷涓嶈兘鏄痆Tab]閿紑濮嬨俰nclude鍜?<filename>鍙互鐢ㄤ竴涓垨澶氫釜絀烘牸闅斿紑銆備婦涓緥瀛愶紝浣犳湁榪欐牱鍑犱釜Makefile錛歛.mk銆乥.mk銆乧.mk錛岃繕鏈変竴涓枃浠跺彨 foo.make錛屼互鍙婁竴涓彉閲?(bar)錛屽叾鍖呭惈浜唀.mk鍜宖.mk錛岄偅涔堬紝涓嬮潰鐨勮鍙ワ細

    include foo.make *.mk $(bar)

    絳変環浜庯細

    include foo.make a.mk b.mk c.mk e.mk f.mk

make 鍛戒護寮濮嬫椂錛屼細鎶婃壘瀵籭nclude鎵鎸囧嚭鐨勫叾瀹僊akefile錛屽茍鎶婂叾鍐呭瀹夌疆鍦ㄥ綋鍓嶇殑浣嶇疆銆傚氨濂藉儚C/C++鐨?include鎸囦護涓鏍楓傚鏋滄枃浠?閮芥病鏈夋寚瀹氱粷瀵硅礬寰勬垨鏄浉瀵硅礬寰勭殑璇濓紝make浼氬湪褰撳墠鐩綍涓嬮鍏堝鎵撅紝濡傛灉褰撳墠鐩綍涓嬫病鏈夋壘鍒幫紝閭d箞錛宮ake榪樹細鍦ㄤ笅闈㈢殑鍑犱釜鐩綍涓嬫壘錛?/font>

    1銆佸鏋渕ake鎵ц鏃訛紝鏈夆?I鈥濇垨鈥?-include-dir鈥濆弬鏁幫紝閭d箞make灝變細鍦ㄨ繖涓弬鏁版墍鎸囧畾鐨勭洰褰曚笅鍘誨鎵俱?br />    2銆佸鏋滅洰褰?lt;prefix>/include錛堜竴鑸槸錛?usr/local/bin鎴?usr/include錛夊瓨鍦ㄧ殑璇濓紝make涔熶細鍘繪壘銆?/font>

濡?鏋滄湁鏂囦歡娌℃湁鎵懼埌鐨勮瘽錛宮ake浼氱敓鎴愪竴鏉¤鍛婁俊鎭紝浣嗕笉浼氶┈涓婂嚭鐜拌嚧鍛介敊璇傚畠浼氱戶緇澆鍏ュ叾瀹冪殑鏂囦歡錛屼竴鏃﹀畬鎴恗akefile鐨勮鍙栵紝make浼氬啀閲?璇曡繖浜涙病鏈夋壘鍒幫紝鎴栨槸涓嶈兘璇誨彇鐨勬枃浠訛紝濡傛灉榪樻槸涓嶈錛宮ake鎵嶄細鍑虹幇涓鏉¤嚧鍛戒俊鎭傚鏋滀綘鎯寵make涓嶇悊閭d簺鏃犳硶璇誨彇鐨勬枃浠訛紝鑰岀戶緇墽琛岋紝浣犲彲浠ュ湪 include鍓嶅姞涓涓噺鍙封?鈥濄傚錛?/font>

    -include <filename>
    鍏惰〃紺猴紝鏃犺include榪囩▼涓嚭鐜頒粈涔堥敊璇紝閮戒笉瑕佹姤閿欑戶緇墽琛屻傚拰鍏跺畠鐗堟湰make鍏煎鐨勭浉鍏沖懡浠ゆ槸sinclude錛屽叾浣滅敤鍜岃繖涓涓槸涓鏍風殑銆?/font>


鍥涖佺幆澧冨彉閲?MAKEFILES

濡?鏋滀綘鐨勫綋鍓嶇幆澧冧腑瀹氫箟浜嗙幆澧冨彉閲廙AKEFILES錛岄偅涔堬紝make浼氭妸榪欎釜鍙橀噺涓殑鍊煎仛涓涓被浼間簬include鐨勫姩浣溿傝繖涓彉閲忎腑鐨勫兼槸鍏跺畠鐨?Makefile錛岀敤絀烘牸鍒嗛殧銆傚彧鏄紝瀹冨拰include涓嶅悓鐨勬槸錛屼粠榪欎釜鐜鍙樹腑寮曞叆鐨?Makefile鐨勨滅洰鏍団濅笉浼氳搗浣滅敤錛屽鏋滅幆澧冨彉閲忎腑瀹氫箟鐨勬枃浠跺彂鐜伴敊璇紝make涔熶細涓嶇悊銆?/font>

浣?鏄湪榪欓噷鎴戣繕鏄緩璁笉瑕佷嬌鐢ㄨ繖涓幆澧冨彉閲忥紝鍥犱負鍙榪欎釜鍙橀噺涓琚畾涔夛紝閭d箞褰撲綘浣跨敤make 鏃訛紝鎵鏈夌殑Makefile閮戒細鍙楀埌瀹冪殑褰卞搷錛岃繖緇濅笉鏄綘鎯崇湅鍒扮殑銆傚湪榪欓噷鎻愯繖涓簨錛屽彧鏄負浜嗗憡璇夊ぇ瀹訛紝涔熻鏈夋椂鍊欎綘鐨凪akefile鍑虹幇浜嗘簨錛岄偅涔?浣犲彲浠ョ湅鐪嬪綋鍓嶇幆澧冧腑鏈夋病鏈夊畾涔夎繖涓彉閲忋?/font>


浜斻乵ake鐨勫伐浣滄柟寮?/font>

GNU鐨刴ake宸ヤ綔鏃剁殑鎵ц姝ラ鍏ヤ笅錛氾紙鎯蟲潵鍏跺畠鐨刴ake涔熸槸綾諱技錛?/font>

    1銆佽鍏ユ墍鏈夌殑Makefile銆?br />    2銆佽鍏ヨinclude鐨勫叾瀹僊akefile銆?br />    3銆佸垵濮嬪寲鏂囦歡涓殑鍙橀噺銆?br />    4銆佹帹瀵奸殣鏅﹁鍒欙紝騫跺垎鏋愭墍鏈夎鍒欍?br />    5銆佷負鎵鏈夌殑鐩爣鏂囦歡鍒涘緩渚濊禆鍏崇郴閾俱?br />    6銆佹牴鎹緷璧栧叧緋伙紝鍐沖畾鍝簺鐩爣瑕侀噸鏂扮敓鎴愩?br />    7銆佹墽琛岀敓鎴愬懡浠ゃ?/font>

1- 5姝ヤ負絎竴涓樁孌碉紝6-7涓虹浜屼釜闃舵銆傜涓涓樁孌典腑錛屽鏋滃畾涔夌殑鍙橀噺琚嬌鐢ㄤ簡錛岄偅涔堬紝 make浼氭妸鍏跺睍寮鍦ㄤ嬌鐢ㄧ殑浣嶇疆銆備絾make騫朵笉浼氬畬鍏ㄩ┈涓婂睍寮錛宮ake浣跨敤鐨勬槸鎷栧歡鎴樻湳錛屽鏋滃彉閲忓嚭鐜板湪渚濊禆鍏崇郴鐨勮鍒欎腑錛岄偅涔堜粎褰撹繖鏉′緷璧栬鍐沖畾瑕?浣跨敤浜嗭紝鍙橀噺鎵嶄細鍦ㄥ叾鍐呴儴灞曞紑銆?/font>

褰撶劧錛岃繖涓伐浣滄柟寮忎綘涓嶄竴瀹氳娓呮錛屼絾鏄煡閬撹繖涓柟寮忎綘涔熶細瀵筸ake鏇翠負鐔熸倝銆傛湁浜嗚繖涓熀紜錛屽悗緇儴鍒嗕篃灝卞鏄撶湅鎳備簡銆?/font>


鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/eookhacfeksbxfdsqfxbkaljurwnvytzmhkt/

]]>
[瀵煎叆]UNICODE 浠嬬粛http://m.shnenglu.com/robinchow/archive/2007/10/23/35019.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35019.htmlhttp://m.shnenglu.com/robinchow/comments/35019.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35019.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35019.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35019.htmlUNICODE 浠嬬粛

鍐呭綃囧箙杈冮暱,璇風偣鍑?a href="http://m.shnenglu.com/sunraiing9/archive/2007/01/05/17306.html">榪欓噷闃呰鍏ㄦ枃銆?img src="http://m.shnenglu.com/sunraiing9/aggbug/17306.html" height="1" width="1" />

鐜嬩竴浼?2007-01-05 13:18


鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/hpjgzaypfnngnyhndzdahfirtdoujqtqfdxf/

]]>
[瀵煎叆]璇﹁Вcompile鍜宭inkhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35020.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35020.htmlhttp://m.shnenglu.com/robinchow/comments/35020.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35020.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35020.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35020.html璇﹁Вcompile鍜宭ink

璇﹁Вcompile 錛?link
鏈変簺浜哄啓C/C++(浠ヤ笅鍋囧畾涓篊++)紼嬪簭錛屽unresolved external link鎴栬卍uplicated external simbol鐨勯敊璇俊鎭笉鐭ユ墍鎺紙鍥犱負榪欐牱鐨勯敊璇俊鎭笉鑳藉畾浣嶅埌鏌愪竴琛岋級銆傛垨鑰呭璇█鐨勪竴浜涢儴鍒嗕笉鐭ラ亾涓轟粈涔堣錛堟垨鑰呬笉瑕侊級榪欐牱閭f牱璁捐銆備簡瑙f湰鏂囦箣鍚庯紝鎴栬浼氭湁涓浜涚瓟妗堛?br />

Francis Arcanum 2007-01-05 16:03

technorati tags:


鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/lreejbbjfzmyhwqrdgmnsxfrdnejscnetrid/

]]>
[瀵煎叆]DLL(Dynamic Link Libraries)涓撻http://m.shnenglu.com/robinchow/archive/2007/10/23/35021.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35021.htmlhttp://m.shnenglu.com/robinchow/comments/35021.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35021.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35021.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35021.htmlDLL(Dynamic Link Libraries)涓撻

姣旇緝澶х殑搴旂敤紼嬪簭閮界敱寰堝妯″潡緇勬垚錛岃繖浜涙ā鍧楀垎鍒畬鎴愮浉瀵圭嫭绔嬬殑鍔熻兘錛屽畠浠郊姝ゅ崗浣滄潵瀹屾垚鏁翠釜杞歡緋葷粺鐨勫伐浣溿傚彲鑳藉瓨鍦ㄤ竴浜涙ā鍧楃殑鍔熻兘杈冧負閫氱敤錛屽湪鏋勯犲叾瀹冭蔣浠剁郴緇熸椂浠嶄細琚嬌鐢ㄣ傚湪鏋勯犺蔣浠剁郴緇熸椂錛屽鏋滃皢鎵鏈夋ā鍧楃殑婧愪唬鐮侀兘闈欐佺紪璇戝埌鏁翠釜搴旂敤紼嬪簭 EXE鏂囦歡涓紝浼氫駭鐢熶竴浜涢棶棰橈細涓涓己鐐規槸澧炲姞浜嗗簲鐢ㄧ▼搴忕殑澶у皬錛屽畠浼氬崰鐢ㄦ洿澶氱殑紓佺洏絀洪棿錛岀▼搴忚繍琛屾椂涔熶細娑堣楄緝澶х殑鍐呭瓨絀洪棿錛岄犳垚緋葷粺璧勬簮鐨勬氮璐癸紱鍙︿竴涓己鐐規槸錛屽湪緙栧啓澶х殑 EXE 紼嬪簭鏃訛紝鍦ㄦ瘡嬈′慨鏀歸噸寤烘椂閮藉繀欏昏皟鏁寸紪璇戞墍鏈夋簮浠g爜錛屽鍔犱簡緙栬瘧榪囩▼鐨勫鏉傛э紝涔熶笉鍒╀簬闃舵鎬х殑鍗曞厓嫻嬭瘯銆?br />


鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/gyedntmqpvxuumljqmoaodnacyxpzpbfngjb/

]]>
[瀵煎叆]Exceptional C++ 涔?5http://m.shnenglu.com/robinchow/archive/2007/10/23/35022.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35022.htmlhttp://m.shnenglu.com/robinchow/comments/35022.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35022.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35022.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35022.html寮傚父瀹夊叏鏄寚浠g爜鑳藉鑷繁澶勭悊寮傚父錛屽嵆鍑虹幇寮傚父鏃朵粛鑳芥甯稿伐浣滐紱寮傚父涓珛鏄寚浠g爜灝嗘墍鏈夊紓甯擱兘杞粰璋冪敤鑰呫?/p>

濡傛灉鍙渶鎹曡幏鈥?..鈥濋儴鍒嗙殑寮傚父錛屽錛?br />try {TryCode();} catch(...) {CatchCode(parms); throw;}

鍙互鏀瑰啓鎴愶細
struct Janitor{
    Janitor(Parms p) : pa(p) {};
    ~Janitor() {if uncaught_exception() CatchCode(pa); }
    Parms pa;
};

鍦╰ry浠g爜涔嬪墠鍒涘緩涓涓狫anitor瀵硅薄錛屽鏋滄姏鍑哄紓甯革紝閭d箞灝嗘墽琛孋atchCode鍑芥暟銆?/p>鍙︼細寮傚父瀹夊叏闇瑕佸澶氱爺絀躲?br>鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/esmxouitpvwdhegigrvhvlffqxlbvsrzkdwz/

]]>
[瀵煎叆]Exceptional C++ 涔?4http://m.shnenglu.com/robinchow/archive/2007/10/23/35023.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35023.htmlhttp://m.shnenglu.com/robinchow/comments/35023.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35023.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35023.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35023.html
  • 浣跨敤const&鑰屼笉鏄紶鍊兼嫹璐濄?/li>
  • 灝介噺浣跨敤鍏堝鎿嶄綔錛岄伩鍏嶄嬌鐢ㄥ悗澧炴搷浣溿傚洜涓哄湪榪涜鍚庡鎿嶄綔鏃訛紝瀵硅薄涓嶄絾蹇呴』鑷繁閫掑錛岃屼笖榪樿榪斿洖涓涓寘鍚掑鍓嶄箣鍊肩殑涓存椂瀵硅薄銆?/li>
  • 鏃跺埢娉ㄦ剰鍥犱負鍙傛暟杞崲鑰屼駭鐢熺殑闅愯棌鐨勪復鏃跺璞°備竴涓伩鍏嶅畠鐨勫ソ鍔炴硶灝辨槸灝藉彲鑳芥樉寮忥紙explicit錛夌殑浣跨敤鏋勯犲嚱鏁般?/li>
  • 緇濆涓嶈榪斿洖灞閮ㄥ璞$殑寮曠敤銆?br />

  • 鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/hbvgnqjrwkhzuhmyzymicgwlniycpcvweqdr/

    ]]>
    [瀵煎叆]Exceptional C++ 涔?3http://m.shnenglu.com/robinchow/archive/2007/10/23/35024.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35024.htmlhttp://m.shnenglu.com/robinchow/comments/35024.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35024.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35024.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35024.html
    鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/lhiltldtjwkukgbtacjqkosnhqibccxojgzc/

    ]]>
    [瀵煎叆]Exceptional C++ 涔?2http://m.shnenglu.com/robinchow/archive/2007/10/23/35025.htmlRobin ChowRobin ChowTue, 23 Oct 2007 13:01:00 GMThttp://m.shnenglu.com/robinchow/archive/2007/10/23/35025.htmlhttp://m.shnenglu.com/robinchow/comments/35025.htmlhttp://m.shnenglu.com/robinchow/archive/2007/10/23/35025.html#Feedback0http://m.shnenglu.com/robinchow/comments/commentRss/35025.htmlhttp://m.shnenglu.com/robinchow/services/trackbacks/35025.html
    template<class charT,
    class traits= char_traits
    class Allocator = allocator<charT> >
    class basic_string;

    鍏朵腑 char_traits 閮ㄥ垎錛屽畠鍐沖畾浜嗗瓧絎︾殑鐩鎬簰浣滅敤鍜屾瘮杈冭繍綆楋紝濡俥q()錛堢浉絳夛級銆乶e()錛堜笉絳夛級銆乴t()錛堝皬浜庯級銆乧ompare()錛堟瘮杈冨瓧絎﹀簭鍒楋級銆乫ind()錛堟悳绱㈠瓧絎﹀簭鍒楋級銆傚洜姝ゅ彧闇閲嶅畾涔?char_traits 妯℃澘鍗沖彲鏀瑰彉 string 鐨勫瓧絎︽瘮杈冩搷浣溿?br>鏂囩珷鏉ユ簮:http://my.donews.com/robinchow/2007/01/10/cfjorztxnorsmkaafyrckgebtdmemrppxzeo/

    ]]>
    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              欧美一区二区三区久久精品| 一区二区三区在线看| 99re6这里只有精品| 亚洲国产精品毛片| 久久久久久网站| 久久精品成人一区二区三区| 久久久精彩视频| 美女精品视频一区| 欧美成人嫩草网站| 91久久久久| 亚洲天堂激情| 欧美影院视频| 欧美成人r级一区二区三区| 欧美成人一品| 国产精品嫩草影院一区二区| 国产婷婷色一区二区三区在线 | 日韩视频在线一区二区三区| 亚洲精品久久久久久久久久久久 | 亚洲手机成人高清视频| 亚洲欧美一区二区精品久久久| 欧美在线日韩| 欧美激情一区二区三区四区| 一区二区高清| 久久久久久亚洲精品不卡4k岛国| 欧美国产一区二区三区激情无套| 国产精品久久久久77777| 国产一区二区三区高清在线观看| 亚洲美女在线国产| 久久久久国产一区二区| 亚洲精品一区二区三区福利| 欧美在线播放高清精品| 欧美日韩综合一区| 亚洲第一区在线| 香蕉av777xxx色综合一区| 欧美成人综合| 日韩午夜激情电影| 久久久久久久久蜜桃| 日韩午夜av| 久久在线观看视频| 国产精品高潮呻吟视频| 亚洲精品国产系列| 另类天堂av| 亚洲字幕一区二区| 欧美日本在线视频| 亚洲国产91精品在线观看| 欧美在线日韩精品| 日韩视频一区二区在线观看| 一区二区三区产品免费精品久久75 | 亚洲午夜免费视频| 久久亚洲综合网| 一区二区冒白浆视频| 欧美mv日韩mv国产网站app| 国产网站欧美日韩免费精品在线观看| 99在线精品视频| 欧美福利视频一区| 久久精品二区三区| 国产亚洲一区二区三区在线播放 | 亚洲综合成人婷婷小说| 亚洲国产成人av| 久久亚洲一区二区| 亚洲电影免费在线| 久久亚洲图片| 久久躁日日躁aaaaxxxx| 精品1区2区3区4区| 久久精品国产96久久久香蕉| 亚洲一区二区在线播放| 国产午夜精品美女视频明星a级| 亚洲综合视频在线| 亚洲校园激情| 国产精品欧美久久| 欧美专区日韩专区| 欧美一级黄色网| 国产主播精品| 欧美成人午夜激情在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲日产国产精品| 99re热这里只有精品视频 | 欧美午夜在线视频| 亚洲一区二区四区| 亚洲一区二区少妇| 国内偷自视频区视频综合| 老鸭窝91久久精品色噜噜导演| 久久免费午夜影院| 亚洲精品视频中文字幕| 一本色道**综合亚洲精品蜜桃冫| 欧美亚韩一区| 久久久久久一区| 欧美成人激情视频| 亚洲愉拍自拍另类高清精品| 欧美一区二区日韩一区二区| 在线精品国产欧美| 最新成人在线| 国产精品入口| 亚洲第一中文字幕| 国产精品日韩| 欧美va天堂在线| 国产精品国产a级| 久久噜噜噜精品国产亚洲综合| 欧美成人国产一区二区| 久久综合伊人77777| 亚洲第一网站免费视频| 欧美福利一区二区三区| 欧美午夜精品久久久久免费视| 欧美制服丝袜| 欧美激情一区二区三区全黄| 欧美专区日韩视频| 欧美日韩高清免费| 麻豆精品视频在线| 国产精品电影观看| 久久一区二区三区四区五区| 欧美日在线观看| 欧美国产精品va在线观看| 国产美女一区| 亚洲人成毛片在线播放| 国产亚洲欧美aaaa| 一本色道久久综合狠狠躁篇的优点 | 国内成人精品视频| 亚洲精品字幕| 樱桃成人精品视频在线播放| 日韩视频免费在线| 亚洲黑丝一区二区| 久久久www成人免费无遮挡大片 | 久久久www免费人成黑人精品| 欧美电影美腿模特1979在线看 | 久久久亚洲精品一区二区三区| 欧美日韩国产成人在线免费| 嫩草影视亚洲| 一区福利视频| 久久黄色影院| 久久精品国产在热久久 | 亚洲天堂网站在线观看视频| 免费成人性网站| 久久久青草婷婷精品综合日韩| 国产精品久久久久秋霞鲁丝| 日韩视频―中文字幕| 亚洲久久一区二区| 免费看亚洲片| 亚洲高清中文字幕| 亚洲高清激情| 久久亚洲综合| 久久综合久久美利坚合众国| 国内成人在线| 久久精品国产亚洲高清剧情介绍| 久久黄色影院| 狠狠色噜噜狠狠色综合久| 欧美一区二区三区四区在线| 久久激情综合网| 红桃视频国产精品| 久久综合激情| 亚洲激情小视频| 亚洲视频观看| 国产精品美腿一区在线看| 亚洲午夜视频在线| 性欧美精品高清| 国产字幕视频一区二区| 久久免费黄色| 欧美午夜在线| 一区二区三区精品视频在线观看| 欧美亚洲一级片| 久久久久久国产精品一区| 国产主播在线一区| 久久综合九色综合欧美就去吻 | 亚洲理伦电影| 午夜欧美精品久久久久久久| 国产一区二区三区久久久| 久久精品夜色噜噜亚洲aⅴ| 欧美成人黑人xx视频免费观看| 亚洲精品欧美| 国产精品乱码妇女bbbb| 欧美在线视频二区| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日韩国产一区| 国内精品久久久久影院色| 免费观看30秒视频久久| 这里只有视频精品| 久久嫩草精品久久久精品一| 日韩亚洲欧美高清| 国产亚洲aⅴaaaaaa毛片| 欧美国产日韩一区| 性色av一区二区三区红粉影视| 亚洲国产欧美另类丝袜| 久久成人国产| 在线午夜精品自拍| 在线电影一区| 欧美日韩综合另类| 免费试看一区| 午夜宅男欧美| 亚洲毛片一区| 免费观看成人| 久久精品国产亚洲一区二区三区| 亚洲人成7777| 国产亚洲欧洲一区高清在线观看| 欧美—级在线免费片| 久久成人18免费网站| 在线天堂一区av电影| 亚洲国产欧美在线人成| 狂野欧美一区| 久久久久久久网站| 欧美一区二区三区另类| 一区二区精品在线|