導航:首頁 > 源碼編譯 > ios項目分布式編譯

ios項目分布式編譯

發布時間:2023-02-08 05:21:00

❶ Visual Studio 2010生成的MFC項目太大了

採用分布式編譯-IncrediBuild

具體的用法網上有很多

IncrediBuild與本例的工程、Makefile、腳本上傳了,下載地址:
http://download.csdn.net/detail/ceofit/4409315
IncrediBuild3.61.1下載地址:
http://download.csdn.net/detail/ceofit/4409322
開發大型項目一次編譯過程經常幾個小時甚至一天,光靠PC跑很難滿足開發需求,再加上敏捷開發每日集成,可能還要運行大量的靜態檢查、測試用例執行等,所以,不可避免的需要使用分布式編譯

❷ iOS 和 HarmonyOS(鴻蒙系統)更安全的是

HarmonyOS(鴻蒙系統)更安全,蘋果系統經歷事件檢驗和公司以及國家信用大量事實來看均不是安全的系統,只是和大部分系統一樣沒有病毒而已,沒有病毒並不代表沒有木馬後門,只是沒有影響你使用的病毒,但有竊取隱私和數據的後門以及無時無刻的收集資料!
1、初識鴻蒙,混沌中生
鴻蒙是誰?從哪裡來?要干什麼?
2019年8月9日,華為在開發者大會HDC.2019上正式發布了鴻蒙操作系統,該系統率先部署在智慧屏、車載終端、穿戴等智能終端上,同時越來越多的智能設備也開始使用開源的鴻蒙OS。華為消費者業務CEO余承東在介紹鴻蒙OS開發初衷時表示:「隨著全場景智慧時代的到來,華為認為需要進一步提升操作系統的跨平台能力,包括支持全場景、跨多設備和平台的能力以及應對低時延、高安全性挑戰的能力,因此逐漸形成了鴻蒙OS的雛形,可以說鴻蒙OS的出發點和android、iOS都不一樣,是一款全新的基於微內核的面向全場景的分布式操作系統,能夠同時滿足全場景流暢體驗、架構級可信安全、跨終端無縫協同以及一次開發多終端部署的要求,鴻蒙應未來而生。」
不得不佩服華為遠見卓識的發展戰略以及自力更生的頑強鬥志,就在最近,華為又推出HMS
Core(華為移動服務,Huawei Mobile Services),以及App Gallery
(主要面向海外華為手機用戶的應用商店)。足以說明,華為已經正式把自主研發的產品應用生態放到檯面上,和谷歌、蘋果硬剛了。這個生態究竟能否穩固壯大,繼而出現「三足鼎立」的局面呢?我們拭目以待。
下面,咱們回到今天的主角鴻蒙OS,來欣賞一下它的鴻鵠之志(開辟天地的壯志)吧!
(圖片來源及版權所有:鴻蒙學堂)

2、鴻蒙OS憑什麼與谷歌的Android、蘋果的iOS競爭?
當前,用於智能手機的操作系統天下兩分,一哥是安卓,二哥是蘋果,近乎達到壟斷的地步。那麼,初出茅廬的鴻蒙OS可以撼動兩寡頭的地位進而在市場上分一杯羹嗎?我們且看鴻蒙OS的四大技術特性,孰優孰劣,自有分曉。
(1)分布式架構首次用於終端OS,實現跨終端無縫協同體驗
鴻蒙OS的「分布式OS架構」和「分布式軟匯流排技術」通過公共通信平台,分布式數據管理,分布式能力調度和虛擬外設四大能力,將相應分布式應用的底層技術實現難度對應用開發者屏蔽,使開發者能夠聚焦自身業務邏輯,像開發同一終端一樣開發跨終端分布式應用,也使最終消費者享受到強大的跨終端業務協同能力為各使用場景帶來的無縫體驗。
(2)確定時延引擎和高性能IPC技術實現系統天生流暢
鴻蒙

OS通過使用確定時延引擎和高性能IPC兩大技術解決現有系統性能不足的問題。確定時延引擎可在任務執行前分配系統中任務執行優先順序及時限進行調度處理,優先順序高的任務資源將優先保障調度,應用響應時延降低25.7%。鴻蒙微內核結構小巧的特性使IPC(進程間通信)性能大大提高,進程通信效率較現有系統提升5倍。
(3) 基於微內核架構重塑終端設備可信安全
鴻蒙OS採用全新的微內核設計,擁有更強的安全特性和低時延等特點。微內核設計的基本思想是簡化內核功能,在內核之外的用戶態盡可能多地實現系統服務,同時加入相互之間的安全保護。微內核只提供最基礎的服務,比如多進程調度和多進程通信等。
鴻蒙OS將微內核技術應用於可信執行環境(TEE),通過形式化方法,重塑可信安全。形式化方法是利用數學方法,從源頭驗證系統正確,無漏洞的有效手段。傳統驗證方法如功能驗證,模擬攻擊等只能在選擇的有限場景進行驗證,而形式化方法可通過數據模型驗證所有軟體運行路徑。

鴻蒙OS首次將形式化方法用於終端TEE,顯著提升安全等級。同時由於鴻蒙OS微內核的代碼量只有Linux宏內核的千分之一,其受攻擊幾率也大幅降低。
(4)通過統一IDE支撐一次開發,多端部署,實現跨終端生態共享
鴻蒙OS憑借多終端開發IDE,多語言統一編譯,分布式架構Kit提供屏幕布局控制項以及交互的自動適配,支持控制項拖拽,面向預覽的可視化編程,從而使開發者可以基於同一工程高效構建多端自動運行App,實現真正的一次開發,多端部署,在跨設備之間實現共享生態。華為方舟編譯器是首個取代Android虛擬機模式的靜態編譯器,可供開發者在開發環境中一次性將高級語言編譯為機器碼。此外,方舟編譯器未來將支持多語言統一編譯,可大幅提高開發效率。
3、鴻蒙OS問題集錦
(1)鴻蒙OS的項目背景
人工智慧發展迅猛,已經影響和滲透到許多科技行業和傳統行業,智能化是必然的趨勢。機器智能化是必然的,但是機器種類眾多,若需要智能互聯,就要求操作系統能適應多種設備多種終端。這意味著,操作系統需要滿足更高的要求,以適用不同種類的機器,並保持分布式的互聯互通。為迎接和擁抱AI全場景時代和萬物智能互聯時代,華為特別定義出下一代的基於微內核的全場景分布式操作系統——鴻蒙OS。 華為的初衷是,自立自強,開放合作,並努力做到核心技術上不受制於人不局限於人,這也是讓華為更加領先的原因之一。
(2)什麼是全場景?
根據鴻蒙OS架構設計,系統可運行在智慧大屏、穿戴、車機、音響、手錶、手機、PC等等各種各樣設備。通過一套系統,一個OS實現模塊化解耦,對應不同設備可以彈性部署,不管硬體能力強還是硬體能力弱的,都可以一套操作系統,可以統一在不同硬體平台上進行載入部署。同時應用強大靈活統一部署能力,我們一套OS能夠運行在不同硬體能力上進行部署,適配豐富的萬物互聯時代IoT時代能力的操作系統。
(3)什麼是分布式架構?
目前,我們目前所有的主流OS架構都是集中式的,即你的手機OS和你家的智能電視的OS各自獨立,除了共同享有後台的數據,本身沒什麼聯系。打個比方,即使你在手機和智能電視上同時打開一個APP,現在的實現也是各自運行各自的,你手機的操作不會影響到智能電視上APP的運行,除非是改了後台保存的數據。而華為的分布式OS,可以實現應用的協同處理。你在手機上的操作,可以同時在智能電視的APP界面上得到體現,手機關閉APP,電視上的APP也關閉。這就是多終端的協同處理,鴻蒙OS可以把多個終端統一管理,聯合來實現某項功能。
(4)為什麼叫鴻蒙?
鴻蒙在中文裡面可能有「開天闢地」的意思,最接近的英語單詞就是Genesis,開天闢地的意思。由於用漢語拼音表達鴻蒙太難發音了,華為給取名Harmony,希望給世界帶來更多和平、方便。
(5)鴻蒙OS的研發始於何時?
華為10年前就開始探索鴻蒙。現在投入的人力接近5000人,短期內要把整個系統完善,所以工作量非常大。
(6)鴻蒙OS主要特點是什麼?
分布架構、天生流暢、內核安全、生態共享四大特點。

鴻蒙OS在分布架構上,實現模塊化解耦,對不同設備進行可彈性部署。採用分布式軟匯流排核心技術,將表示層、會話層、傳輸層和網路層等協議精簡為一層,能提升有效載荷。還通過多方面提升IPC性能,在進程間通信效率提升5倍。
(7)鴻蒙OS可以用在智能手機上嗎?
鴻蒙OS已經完全達到具備商用的程度,隨時都可以出鴻蒙系統的手機,華為也做好了全面的准備。但華為還是希望繼續使用全球共用開放的手機操作系統和生態,換句話說,一個開放的安卓系統和生態依然是我們的首選。 鴻蒙未來在穿戴設備、車機、PC等都可以使用。
(8)什麼是微內核,它有什麼特點?
所謂微內核,當然是相對宏內核來說的。微內核是提供操作系統核心功能的內核的精簡版本,微內核僅僅提供基礎的系統運行能力,以及為不同的程序/進程間提供一種消息的交互機制。而宏內核相當於一個是一個大主管,提供很全面的系統運行功能,例如時間管理、內存管理,文件管理,網路管理等等,安卓就是一種宏內核的OS。微內核的好處就是系統運行效率高,系統更加健壯,不容易出問題。微內核的最大的問題就是進程間的消息交互的效率不高,如果有很多的消息同時交互,可能會有消息丟失、重傳導致系統反應變慢。
宏內核不存在這個進程交互的消息通信問題,宏內核的系統功能常駐內核和內存,執行效率的確高一點。但是宏內核越來越多的功能會讓系統越來越冗餘,對系統硬體的要求很高,而且內部模塊過於冗餘,維護調試越來越難。
所以,宏內核的OS系統不適合一些輕量級的應用,如物聯網。谷歌自己也在研究微內核的OS,為了萬物互聯,打造統一的OS,微內核的OS是必須的。但是華為的鴻蒙OS比谷歌的Funchsia走的更快了一些,因為鴻蒙在榮耀智慧屏馬上要商用了。
(9)鴻蒙OS如何做到低延時高性能?
鴻蒙 OS通過使用確定時延引擎和高性能IPC兩大技術解決現有系統性能不足的問題。我們在前面說了,微內核的OS,可能會出現大量的進程間的消息通信時,大量進程間消息一擁而上,導致大量消息被阻塞,系統性能下降的問題。
鴻蒙OS的這個特性就是解決這個問題。鴻蒙OS內部把不同的進程消息確定優先順序,採用專業的調度演算法來合理調度進程間的通信消息,高優先順序的應用優先保障,低優先順序的應用排隊處理。
這種機制就讓微內核進程間的通信變的有序,不會出現大家一擁而上導致消息丟失的現象。其實這種基於優先順序消息的調度機制在華為的高端通信設備,如路由器設備中早就使用,只是把這種機制用在了鴻蒙OS。
(10)為什麼鴻蒙OS的安全性更高?
鴻蒙OS採用微內核設計,微內核本身的健壯性和安全性就比宏內核高很多。微內核設計的基本思想是簡化內核功能,因此不存在和系統功能的耦合性,讓整個系統相對健壯。
宏內核集成了很多系統功能,功能越復雜,系統越復雜。雖然系統功能的通信效率有所提升,但是復雜的耦合性讓系統的故障率也更高,這是宏內核OS的特點。
華為的鴻蒙OS基於微內核,因此可以讓整個系統更加健壯,不會因為對系統功能的攻擊影響整個系統的穩定性。同時通過華為先進的驗證測試演算法,可以確保整個OS更加安全,在受到攻擊的時候系統更加穩定。
(11)鴻蒙OS如何提高開發效率?
鴻蒙OS支持多終端的開發IDE,支持多語言統一編譯。也就是開發者可以一次性的生成在不同類型的終端中運行的APP。這個策略是和鴻蒙的跨多終端部署的策略緊密相關,如果相同的或不同的終端都需要重新編譯適配,那麼這個對開發人員典型是不友好的。
也就是如果開發者的應用,需要同時在手機、車載、物聯網路由器使用,那麼如果使用鴻蒙OS加上方舟編譯器,只需要編譯一次就可以,這樣就可以實現多終端的部署和共享。
華為的方舟編譯器可以為開發者在開發環境中將高級語言編譯為系統底層的機器語言,機器語言的執行效率更高,同時也可以屏蔽不同的虛擬機的差異。
(12)鴻蒙是什麼條件的開源 ?
鴻蒙開源是一個全面的開源。為了技術保密和核心的東西,在有一些地方分節奏開源,最終都會開源。

❸ 鴻蒙和ios對比如何

鴻蒙和ios對比如下:

1、原理不同

ios是全世界第一個基於FreeBSD系統採用「面向對象操作系統」的全面的操作系統。鴻蒙OS是一款「面向未來」的操作系統,一款基於微內核的面向全場景的分布式操作系統。

2、特性不同

ios全64位技術,可以通過第三方的Mode Selector進行64位和32位切換,依靠NeXT-型程序服務,提供全局拼寫檢查及其他功能強大的工具。

鴻蒙OS的「分布式OS架構」和「分布式軟匯流排技術」通過公共通信平台,分布式數據管理,分布式能力調度和虛擬外設四大能力,將相應分布式應用的底層技術實現難度對應用開發者屏蔽,使開發者能夠聚焦自身業務邏輯。

3、內嵌不同

ios包含了自家的軟體開發程序,其重大的特色是名為Xcode的集成開發環境。Xcode是一個能與數種編譯器溝通的介面,包括Apple的Swift、C、C++、Objective-C、以及Java。

鴻蒙OS採用全新的微內核設計,擁有更強的安全特性和低時延等特點。微內核設計的基本思想是簡化內核功能,在內核之外的用戶態盡可能多地實現系統服務,同時加入相互之間的安全保護。

❹ xcode使用方法

xcode使用方法:(以xcode5為例)


1,下載安裝好xcode5後,就可以開始ios開發之旅了。首先打開xcode。選擇新建一個xcode項目。

❺ ios的安全體系結構

防火牆
Cisco通過建議客戶道德定義他們的安全政策來解決這一問題。一旦定義了這些政策,就可以採用多個安全組件來滿足政策要求。Cisco IOS安全體系機構的組件包括:防火牆、訪問管理、宿主安全、加密
過去幾年,路由器一般是企業的智能資產與其網路之間的唯一東西。路由器被獨特地定位、設計和配備,以用來在各種級別的開放系統互連(例如OSI reference model)模型中控制及報告數據流。隨著今天網路的可訪問性及功能的提高、以及公司通過經濟有效的遠程訪問設備連接,風險程度逐步降低。如果一個路由器被安排提供網路外圍安全,那麼它通常是指「防火牆路由器」。防火牆路由器內維護訪問控目錄(ACL),ACL的主要功能是提供過濾。IOS安全提供大量的工具來幫助報靠ACL違規(即非法訪問)
ACL違規記賬
ACL違規記賬:隨著時間的推移,企業需要一個歷史透視圖來弄清哪些ACL已經經過測試。這種知識給網路管理人員提供了對入侵者是如何嘗試進入某企業網路的一個了解。ACL違規記賬提供來源和目的地地址信息、來源和目的地埠號碼以及包個數。
ACL違規日誌記錄
在今天的網路世界,提供強大的防火牆功能已不足以解決問題,網路管理人員需要一個集中化報告選項。過去,網路管理人員在發生損害之前不知道他們已經受到黑客的攻擊。唯一可用的早期告區工具是掃描主機日誌文件。盡管這仍然是一種優異的安全診斷方法,但是它不能很好地擴展。ACL報告工具通過提供違規信息和網路周邊預防,給管理人員提供幫助。IOS包含ACL違規日誌記錄,給管理人員提供定期的系統日誌記錄,可以實時確實ACL違規。
網路地址轉換
網路地址轉換(NAT):與全球Internet連接的網路數量急劇增加,造成了未來連接可用地址的迅速消耗。而World Wide Web對這種耗盡又起到了推波助瀾的作用;而Internet正以每年30%到50%的速度發展。根據目前的估計,3到10年內,剩下的氖 Internet地址將全部用完。
Cisco IOS框架
專用網路服務
IOS可以概念化為一個操作系統,為一個全面的協議族提供全面的網路服務。網路服務可以被分成許多不同的功能;下圖將它們分成通用和專用服務。專用服務包括交換、路由以及幾乎適用於跨區域網、廣域網和IBM/SNA環境的所有數據聯網協議的專門化服務。
通用網路服務
通用網路服務包括支持IOS體系結構的增值功能,並提供企業級解決方案,來滿足客戶對安全、服務質量、VLANs配置管理和路由以及(通信)流量管理的需求,進而提高網路性能和可靠性。通用網路服務還提供協議處理服務,例如轉換、加密和壓縮
路由協議
通過網路互聯,IOS支持許多路徑恢復協議以及其他路由協議特性供基於政策的路由配置和管理。
安全
安全:重點強調特性要求,例如通過防火牆提供的資源保護,訪問控制,以及與用戶驗證機制(例如鎖定和密鑰安全)的集成。
服務質量
服務質量:介紹在互聯網內提供服務質量的IOS特性和功能。服務質量對多媒體應用程序支持至關重要。這里所講座的IOS特性包括幾種排隊機制(這些可能在流量管理部分討論)和資源保護協議(RSVP)。
虛擬區域網
VLANs:簡要介紹Cisco在VLANs配置中部署路由和交換的IOS支持。
流量管理
流量管理:包括根據用戶(來源和目的地)、區域網和廣域網記迪斯科以及RMON標准支持進行的流量模式測量。本部分將討論Cisco的NetFlow Switching(盡管理論上說可能屬於服務質量部分)。
協議處理
協議處理:介紹多媒體和協議類型的集成、協議轉換、加密和壓縮以及IBM SNA和TCP/IP網際互連(取決於多協議路由和轉換)的一般類別。SNA的TCP/IP集成在InterWorks Business Unit部分討論。本部分將圍繞壓縮和協議轉換介紹IOS特性。
總結
作為本單元的一個總結,我們將提供IOS市場模型。該模型包括5個功能性領域,所有領域都有許多相關的特性。它簡單的提供了在一個網際互連解決方案的上下文內位IOS特性的另一種方法。
Cisco IOS處理辦法集
從IOS Granularity到特性級
上圖總結了IOS向解決方案集的發展過程。由於許多專門的網路服務特性已經從IOS核心分離,因而解決方案集是可能的。盡管Cisco目前能夠提供它所說的特性集-例如企業特性集或桌面特性集,但是這些都是受到IOS核心和子系統相關性限制的預封裝解決方案。隨著解決方案集的發展,它們將獲得得更加高級的層次地址:作為專門的特性實體,而且是作為核心或子系統定義去發展(不過,一般總會有某些級別的子系統定義。)
客戶為重點的解決方案
IOS成為一咱以客戶為重點的技術;它提供專門滿足客戶主要的技術及商業需求的網際互連功能和特性。客戶可以在IOS基本平台之上有效地設計他們自己的特性體系結構。
可伸縮性和投資保護
由於客戶選擇滿足他們要所需的核心特性,因此可以大幅度降低IOS開銷。IOS可以利用客戶現有的硬體和基礎設施投資進行更好地擴展,從而提供投資保護以及更好的網路壽命周期擁有成本。
降低復雜性
IOS復雜性降低,並進而帶為客戶互聯網路復雜性的降低。由於IOS系統及特性間相關性減少,因此解決方案集有助於使統一系統中可能發生的並行損害最小化。實際上,許多與一個全面特性IOS的實現相關的要求都可以實現最小化。
安全介紹
Cisco從幾個方面考慮安全問題。在企業設備中、安全通常基於安全保護、閉路電視和卡密鑰入口系統。有了這些措施,企業可以放心,他們的物理及智力資產將得到保護。Cisco的安全方案允許企業通過使基於政策的組件及IOS安全體系結構,來擴展這一模型。IOS安全體系機構已經經過10多年的技術革新發展歷程、它為企業的安全政策提供基礎。IOS安全基於多個重疊的解決方案,這些解決方案一起維護企業的安全完整性。
企業必須決定何時在用戶的訪問和工作效率與可能被用戶視為限制的安全措施之間進行折衷。一方是訪問和工作效率,另一方是安全。一個好的設計的目標是提供一個平衡,同時從用戶的角度看盡可能少增加限制。有些非常合理的安全措施,例如加密,不限制訪問和效率。另一方面,低劣的安全計劃可能造成用戶效率和性能的降低。那麼,企業在維護安全的努力中要冒多大的訪問和效率風險呢
設計目標
IOS是圍繞下列目標設計的:
模塊性:IOS為大量的協議和協議族提供支持,運行於多平台並堅持獨立於硬體的設計標准(硬體隔離)。
速度最快:IOS能使Cisco為網路協議提供最快的平台實現。
網路互連:IOS支持包括路由、橋接和交換技術的需求。
高性能平台:IOS由多個RISC處理器體系結構(MIPSRxxxx、Motorola680xx)支持。
分布式:IOS為分布式體系結構的部署提供基礎。
環境:IOS提供一個支持大型企業需求的軟體開發環境。
多維支持
IOS為LAN介質,WAN協議,以及各種功能,包括路由、交換、集令、IBM、協議轉換及許多其他服務提供支持。
設計結果
IOS設計為客戶提供完成下列任務的能力:
建立特大規模的網路。
在遠程訪問鏈接中,維護多協議支持。
全面集成IBM/SNA和互聯網路環境。
開發基於IOS功能的廣泛的安全策略。
在互聯網路內設計和維護優良的流量控制和服務質量參數。
優化網路帶寬和操作資源。
支持互聯網路上的多媒體應用。
路由器IOS 的升級方法
將系統軟體備份到TFTP伺服器 flash:tftp
將TFTP伺服器中的系統軟體下載到路由器中 tftp flash:
TFTP 軟體可以從Cisco網站上下載,文件名為 Tftpstv.exe 此軟體可在Windows 95/98/2000/NT上安裝,在升級IOS前必須先運行此軟體,並通過菜單設置Root 目錄為新系統文件所在目錄。
設置PC機IP地址與路由器乙太網埠IP地址在相同網段
假設計算機的IP地址為:e.e.e.e
假設IOS文件放在C:IOS 子目錄下
在這台計算機上運行TFTP Server 軟體,把文件目錄設置為:C:ios
在這台路由器上進入特權模式
Router# tftp flash
Address or name of remote host []?e.e.e.e
Source filename []?c5300-is-mz.121-2.bin
Destination filiname [c5300-is-mz.121-2.bin]?
Accessing tftp://e.e.e.e/c5300-is-mz.121-2.bin …
Erase flash :before ing ?[confirm]
Erasing the flash filesystem will remove all file!Continue?[confirm]
Erasing device … eeeeeeeeeeeeeeeeeeeeeeee….erased
Loading c5300-is-mz.121-2.bin from e.e.e.e (via fastethernet 0/0)
認識Cisco IOS的訪問許可權
許多工作在Cisco IOS之上的網路管理員從未費心去考慮過他們正在使用的許可權等級或這些等級的意義。然而,Cisco IOS實際上十六種不同的許可權等級。David Davis論述了這些不同的等級並且向你介紹在配置這些許可權時需要用到的主要命令
你知道為什麼Cisco IOS用不同的命令提供了16種許可權等級?許多工作在Cisco IOS環境中的網路管理員從未費心去考慮過他們正在使用許可權等級或這些等級的意義。
當在Cisco IOS中進入不同的許可權等級時,你的許可權等級越高,你在路由器中能進行的操作就越多。但是Cisco路由器的多數用戶只熟悉兩個許可權等級:
用戶EXEC模式-許可權等級1
特權EXEC模式-許可權等級15
當你在預設配置下登錄到Cisco路由器,你是在用戶EXEC模式(等級1)下。在這個模式中,你可以查看路由器的某些信息,例如介面狀態,而且你可以查看路由表中的路由。然而,你不能做任何修改或查看運行的配置文件。
由於這些限制,Cisco路由器的多數用戶馬上輸入enable以退出用戶EXEC模式。默認情況下,輸入enable會進入等級15,也就是特權EXEC模式。在Cisco IOS當中,這個等級相當於在UNIX擁有root許可權或者在Windows中擁有管理員許可權。換句話說,你可以對路由器進行全面控制。
因為網路只是由少數人維護,他們每個人通常都有進入特權模式的口令。但是在某些情況下,那些小型或中型公司會進一步增長,而許可權問題會變得更加復雜。
許多時候,當有一個支持小組或不需要在路由器上進行過多訪問的缺乏經驗的管理員時問題就出現了。或許他們只是需要連接到路由器以查看運行配置或重新設置介面。
在這種情況下,這些人會需要介於等級1到等級15之間的某個等級進行操作。請記住最小許可權原則:只賦予必需的最少的訪問許可權。
有很多可行的配置IOS用戶和許可權的方法,我無法在一篇文章中詳細描述每一種方法。所以,我們將關注你在配置許可權時用到的基本命令。
Show privilege:這個命令顯示目前的許可權。這里給出一個例子:
router# show privilege
Current privilege level is 3
Enable:管理員通常使用這個命令以進入特權EXEC模式。然而,它也可以帶你進入任何特權模式。這里給出一個例子:
router# show privilege
Current privilege level is 3
router# enable 1
router> show privilege
Current privilege level is 1
router>
User:這個命令不僅可以設定用戶,它還可以告訴IOS,用戶在登錄的時候將擁有何種許可權等級。這里給出一個例子:
router(config)# username test password test privilege 3
Privilege:這個命令設定某些命令只在某個等級才能用。這里給出一個例子:
router(config)# enable secret level 5 level5pass
Enable secret:默認情況下,這個命令創建一個進入特權模式15的口令。然而,你也可以用它創建進入其他你可以創建的特權模式的口令。
讓我們考察一個例子。假設你想創建一個維護用戶,他可以登錄到路由器並且查看啟動信息(以及等級1的其他任何信息)。你將輸入的命令可能是:
router(config)# user support privilege 3 password support
router(config)# privilege exec level 3 show startup-config
需要注意的是並不需要enable secret命令,除非你想讓以等級1登錄進來的用戶為了能提升到等級3而使用口令。在我們的例子中,新用戶(維護)已經處在等級3而且無需額外的enable secret口令來登錄。
除此之外,需要注意的是這個配置假設你已經擁有一個配置好的使用用戶名和口令的路由器,該例子還假設你已經為等級15定義了enable secret命令,你有一個擁有等級15的超級用戶,而且你已經在超級用戶許可權下保存了啟動配置文件。
被刪除的的快速恢復
1、先用終端的一台機器級連線連接cisco route的俄Enternet0 口
2、然後,在終端上安裝TFTP軟體,在把需要恢復的IOS文件(如:C2600.BIN)拷貝到TFTP安裝好的目錄裡面。
3、在CISCO的ROMMON界面下:(CTRAL+BREAK)
設置如下
IP_ADDRESS=192.168.1.1 (設置CISCOEnternet0 口的IP地址)
IP_SUBNET_MASK=255.255.255.0 (設置CISCOEnternet0 口的子掩碼)
DEFAULT_GATEWAY=192.168.1.1 (將網關設置為CISCOEnternet0 口的地址)
TFTP_SERVER=192.168.1.2 (TFTP終端計算機的IP地址)
TFTP_FILE=C2600.BIN (需要傳送的IOS文件,將此文件放在安裝好的TFTP目錄里)
tftpdnld (執行傳送命令)
在Cisco設備上用FTP傳IOS文件
用FTP在路由器和伺服器之間傳輸文件,是在Cisco IOS Release 12.0中引進的。因為FTP是一個使用TCP/IP的面向連接的應用,所以它比TFTP提供更好的吞吐量和成功率,TFTP是用UDP/IP作傳輸服務的無連接應用。
作為一個面向連接的應用,在傳輸IOS映像之前,FTP需要使用登錄和口令。建立路由器到FTP伺服器的登錄用戶名和口令,通過使用路由器上特權模式的配置操作完成。為了准備用FTP進行IOS映像傳輸,將再次使用下列命令順序來提供這些信息給路由器IOS:
enable
enter password xxxxxxxxx
configure terminal
ip ftp username login_name
ip ftp password login_password
end
write memory
像用TFTP一樣, enable命令以及跟著的特權口令,允許操作員獲得使用特權模式命令的權力。Configure terminal命令執行路由器的配置模式。在這種模式下,可以輸入任何或全部選項與定義來修改、添加或刪除路由器運行配置。與目標FTP伺服器上一個登錄名字相關聯的FTP用戶名,通過ip ftp username命令提供給路由器IOS。ip ftp username 命令中的login-name變數,定義了當Copy ftp:命令中未指定登錄名時路由器使用的預設用戶登錄名。
login-name變數是目標FTP伺服器上的一個有效用戶名。ip ftp password命令是與目標FTP伺服器上指定的login-name相關聯的預設口令。end命令退出配置模式。執行完這些命令後,路由器IOS配置有了連接到FTP伺服器上所必需的FTP參數。命令行最後的write memory命令,把路由器的運行配置寫到路由器的NVRAM中以永久保存。保存運行配置到存儲器,就在加電重啟和路由器重新裝載之間保存了剛輸入的配置信息。
把當前IOS映像備份到一個FTP伺服器,通過輸入如下命令完成:
device:filename
ftp:[[[//login-name[:login-password]@]location]/directory]/filename]
使用此命令,路由器管理員通過device:filename變數的device參數,來指定路由器上快閃記憶體位置,通過filename參數指定映像的名字。filename是快閃記憶體設備上找到的一份映像名字。
下載
login-name和login-password值,可以是ip ftp username和ip ftp password命令設置的值。
然而,要記得這些命令僅用於預設情況。若這些命令未被輸入,FTP伺服器提示路由器管理員輸入用戶名和口令。剩下的location、directory和filename變數定義與TFTP中相同。
例如,從快閃記憶體傳送一份映像到名為FTP SERVER的FTP伺服器,路由器管理員輸入下列命令:
flash:ios-image
ftp://joev:jandj@FTPSERVER/Cisco/image/ios-image
名為ios-image的映像被復制到相對於FTP伺服器的授權用戶joev的目錄結構的//cisco/image/目錄中。名為FTP SERVER的伺服器的IP地址,由路由器向在配置文件中找到的DNS伺服器執行一次DNS查詢而確定。
傳輸一份新映像文件到路由器通過下面的 ftp:命令而執行:
ftp: [[[//[login-name[:login-password]@]location]/directory]/filename]device:[filename]
ftp:命令使用與前面討論的相同的變數。使用此命令時,只需如下指出:
ftp: slot1:
用這種縮寫格式的命令時,預設的login-name和預設的login-password被傳送到FTP伺服器。
如果路由器的預設值未被指定,FTP伺服器將提示輸入用戶名和用戶口令。該FTP連接像對待其他連接一樣,並且路由器管理員輸入將取回的文件的filename。注意,在此例中,與登錄名相關聯的預設目錄結構必須有所請求的filename供獲取。此例中所請求的文件將被存儲在指定的slot1的快閃記憶體卡中。
Cisco IOS使用一種預設機制,來提供FTP login-name和login-password值。對login-name,IOS將使用下列標准:
1) 如果指定login-name的話,在命令中指定。
2) 如果該命令被配置,在ip ftp username命令中設置login-name。
3) 預設的FTP登錄名anonymous。
password由下面的決定:
1) 如果指定login-password的話,在命令中指定。
2) 如果該命令被配置,在ip ftp password命令中設置login-password。
3)路由器生成一個login-password: login-name @ routername.domain。變數login-name是與當前會話相關聯的登錄名,routername是路由器配置的主機名稱,domain是路由器的域名字。注意復制操作可以通過按下ctrl-^ 或ctrl-shift-6來取消。這將終止當前的復制操作,但部分復制的文件將保留在快閃記憶體中直到被刪除。

❻ android系統編譯能用分布式編譯嗎

項目越來越大,每次需要重新編譯整個項目都是一件很浪費時間的事情。Research了一下,找到以下可以幫助提高速度的方法,總結一下。
1. 使用tmpfs來代替部分IO讀寫
2.ccache,可以將ccache的緩存文件設置在tmpfs上,但是這樣的話,每次開機後,ccache的緩存文件會丟失
3.distcc,多機器編譯
4.將屏幕輸出列印到內存文件或者/dev/null中,避免終端設備(慢速設備)拖慢速度。

tmpfs
有人說在Windows下用了RAMDisk把一個項目編譯時間從4.5小時減少到了5分鍾,也許這個數字是有點誇張了,不過粗想想,把文件放到內存上做編譯應該是比在磁碟上快多了吧,尤其如果編譯器需要生成很多臨時文件的話。
這個做法的實現成本最低,在Linux中,直接mount一個tmpfs就可以了。而且對所編譯的工程沒有任何要求,也不用改動編譯環境。
mount -t tmpfs tmpfs ~/build -o size=1G
用2.6.32.2的Linux Kernel來測試一下編譯速度:
用物理磁碟:40分16秒
用tmpfs:39分56秒
呃……沒什麼變化。看來編譯慢很大程度上瓶頸並不在IO上面。但對於一個實際項目來說,編譯過程中可能還會有打包等IO密集的操作,所以只要可能,用tmpfs是有益無害的。當然對於大項目來說,你需要有足夠的內存才能負擔得起這個tmpfs的開銷。
make -j
既然IO不是瓶頸,那CPU就應該是一個影響編譯速度的重要因素了。
用make -j帶一個參數,可以把項目在進行並行編譯,比如在一台雙核的機器上,完全可以用make -j4,讓make最多允許4個編譯命令同時執行,這樣可以更有效的利用CPU資源。
還是用Kernel來測試:
用make: 40分16秒
用make -j4:23分16秒
用make -j8:22分59秒
由此看來,在多核CPU上,適當的進行並行編譯還是可以明顯提高編譯速度的。但並行的任務不宜太多,一般是以CPU的核心數目的兩倍為宜。
不過這個方案不是完全沒有cost的,如果項目的Makefile不規范,沒有正確的設置好依賴關系,並行編譯的結果就是編譯不能正常進行。如果依賴關系設置過於保守,則可能本身編譯的可並行度就下降了,也不能取得最佳的效果。
ccache
ccache工作原理:
ccache也是一個編譯器驅動器。第一趟編譯時ccache緩存了GCC的「-E」輸出、編譯選項以及.o文件到$HOME/.ccache。第二次編譯時盡量利用緩存,必要時更新緩存。所以即使"make clean; make"也能從中獲得好處。ccache是經過仔細編寫的,確保了與直接使用GCC獲得完全相同的輸出。

ccache用於把編譯的中間結果進行緩存,以便在再次編譯的時候可以節省時間。這對於玩Kernel來說實在是再好不過了,因為經常需要修改一些Kernel的代碼,然後再重新編譯,而這兩次編譯大部分東西可能都沒有發生變化。對於平時開發項目來說,也是一樣。為什麼不是直接用make所支持的增量編譯呢?還是因為現實中,因為Makefile的不規范,很可能這種「聰明」的方案根本不能正常工作,只有每次make clean再make才行。
安裝完ccache後,可以在/usr/local/bin下建立gcc,g++,c++,cc的symbolic link,鏈到/usr/bin/ccache上。總之確認系統在調用gcc等命令時會調用到ccache就可以了(通常情況下/usr/local /bin會在PATH中排在/usr/bin前面)。
安裝的另外一種方法:
vi ~/.bash_profile
把/usr/lib/ccache/bin路徑加到PATH下
PATH=/usr/lib/ccache/bin:$PATH:$HOME/bin
這樣每次啟動g++的時候都會啟動/usr/lib/ccache/bin/g++,而不會啟動/usr/bin/g++
效果跟使用命令行ccache g++效果一樣
這樣每次用戶登錄時,使用g++編譯器時會自動啟動ccache
繼續測試:
用ccache的第一次編譯(make -j4):23分38秒
用ccache的第二次編譯(make -j4):8分48秒
用ccache的第三次編譯(修改若干配置,make -j4):23分48秒

看來修改配置(我改了CPU類型...)對ccache的影響是很大的,因為基本頭文件發生變化後,就導致所有緩存數據都無效了,必須重頭來做。但如果只是修改一些.c文件的代碼,ccache的效果還是相當明顯的。而且使用ccache對項目沒有特別的依賴,布署成本很低,這在日常工作中很實用。
可以用ccache -s來查看cache的使用和命中情況:
cache directory /home/lifanxi/.ccachecache hit 7165cache miss 14283called for link 71not a C/C++ file 120no input file 3045files in cache 28566cache size 81.7 Mbytesmax cache size 976.6 Mbytes
可以看到,顯然只有第二編次譯時cache命中了,cache miss是第一次和第三次編譯帶來的。兩次cache佔用了81.7M的磁碟,還是完全可以接受的。
distcc
一台機器的能力有限,可以聯合多台電腦一起來編譯。這在公司的日常開發中也是可行的,因為可能每個開發人員都有自己的開發編譯環境,它們的編譯器版本一般是一致的,公司的網路也通常具有較好的性能。這時就是distcc大顯身手的時候了。
使用distcc,並不像想像中那樣要求每台電腦都具有完全一致的環境,它只要求源代碼可以用make -j並行編譯,並且參與分布式編譯的電腦系統中具有相同的編譯器。因為它的原理只是把預處理好的源文件分發到多台計算機上,預處理、編譯後的目標文件的鏈接和其它除編譯以外的工作仍然是在發起編譯的主控電腦上完成,所以只要求發起編譯的那台機器具備一套完整的編譯環境就可以了。
distcc安裝後,可以啟動一下它的服務:
/usr/bin/distccd --daemon --allow 10.64.0.0/16
默認的3632埠允許來自同一個網路的distcc連接。
然後設置一下DISTCC_HOSTS環境變數,設置可以參與編譯的機器列表。通常localhost也參與編譯,但如果可以參與編譯的機器很多,則可以把localhost從這個列表中去掉,這樣本機就完全只是進行預處理、分發和鏈接了,編譯都在別的機器上完成。因為機器很多時,localhost的處理負擔很重,所以它就不再「兼職」編譯了。
export DISTCC_HOSTS="localhost 10.64.25.1 10.64.25.2 10.64.25.3"
然後與ccache類似把g++,gcc等常用的命令鏈接到/usr/bin/distcc上就可以了。
在make的時候,也必須用-j參數,一般是參數可以用所有參用編譯的計算機CPU內核總數的兩倍做為並行的任務數。
同樣測試一下:
一台雙核計算機,make -j4:23分16秒
兩台雙核計算機,make -j4:16分40秒
兩台雙核計算機,make -j8:15分49秒
跟最開始用一台雙核時的23分鍾相比,還是快了不少的。如果有更多的計算機加入,也可以得到更好的效果。
在編譯過程中可以用distccmon-text來查看編譯任務的分配情況。distcc也可以與ccache同時使用,通過設置一個環境變數就可以做到,非常方便。
總結一下:
tmpfs: 解決IO瓶頸,充分利用本機內存資源
make -j: 充分利用本機計算資源
distcc: 利用多台計算機資源
ccache: 減少重復編譯相同代碼的時間
這些工具的好處都在於布署的成本相對較低,綜合利用這些工具,就可以輕輕鬆鬆的節省相當可觀的時間。上面介紹的都是這些工具最基本的用法,更多的用法可以參考它們各自的man page。
5.還有提速方法是把屏幕輸出重定向到內存文件或/dev/null,因對終端設備(慢速設備)的阻塞寫操作也會拖慢速度。推薦內存文件,這樣發生錯誤時,能夠查看。

❼ C++實現分布式文件解析系統

整個分布式文件解析系統一共有四個角色:任務分配伺服器、文件解析伺服器、工作站和管理平台。在一個大型的網路中,有若干個用戶(即「工作站」)隨機地通過「任務分配伺服器」向若干個「文件解析伺服器」提交文本文件。「文件解析伺服器」將收到的文件解析後寫入log文件中。「管理平台」負責以可視化的界面觀察所有連接到的「任務分配伺服器」和「工作站」的ip及工作狀態。

任務分配伺服器的作用是輪流地將來自「工作站」的文件傳送請求轉發到每個在線的「文件解析伺服器」上,從而避免某個特定的「文件解析伺服器」工作負載太重。「任務分配伺服器」輪流給所有在線的「文件解析伺服器」分配任務。輪流的原則是按每工作站每批輪流,不考慮每批文件的數量多少。當有「工作站」准備傳送一批文件時,首先連接任務分配伺服器,通知任務分配伺服器有一批文件待傳。任務分配伺服器則把該工作站的IP和埠告訴選定的「文件解析伺服器」,以便讓「文件分析伺服器」能主動和「工作站」連接,並完成該批文件傳輸。

ps:主動的含義是文件分析伺服器主動通過 connect 連接工作站。「任務分配伺服器」本身不接收或轉發文件。工作站每次都是按批提交文件,一批文件的數量不等。

「文件解析伺服器」每收到用戶的一批文件後,就自動對該批文件進行「文件解析」。「文件解析」的功能是:

管理平台的作用是採用圖形化的方式展示目前在線的工作站,文件分析伺服器的工作狀態。能展示工作站的IP,工作狀態(傳文件中或沒有傳文件)。能展示文件分析伺服器的IP,工作狀態(接收文件中,文件分析中,沒有傳文件,沒有文件被分析)。當一個工作站或文件分析伺服器宕機,能實時更新狀態。

整個系統的工作流程如下圖所示:

該項目源碼在 https://github.com/toMyLord/DistributedFileParsingSystem

src目錄下包含 Server 類、 Client 類、 SpecificTime 類。 Server 類用於伺服器初始化,監聽 socket_fd ,接受來自客戶端的連接請求,接收或發送信息,關閉套接字。 Client 類用於客戶端初始化,連接伺服器,與伺服器進行全雙工通信,關閉連接。 SpecificTime 類用於獲取當前系統的時間,並以規定的格式返回一個 std::string 類型的字元串。上述三個類會被用於所有角色,因此以一個目錄的形式單獨放在所有角色所屬目錄外,通過CmakeLists.txt將這些文件的編譯相關性聯系在一起,從而生成可執行文件。

該目錄下為編譯 TaskDistribution 所需要的專屬文件。在當前目錄下的src目錄內,定義了 DistributionServer 類,該類內組合了DistributedFileParsingSystem/src目錄下的 Server 類。實現 DistributionServer 類的目的是為了使用該類監聽特定埠的所有網路連接,並將所有連接的客戶端信息都存儲在一個 std::vector 容器內。 DistributionServer 類的定義如下:

在 ClientNode 結構體內嵌套的 ClientInfo 結構體聲明和定義在DistributedFileParsingSystem/src/server.h文件內, ClientInfo 結構體保存了連接到 server 的客戶端的 sockaddr_in 、 socket_fd 以及ip信息。 ClientNode 結構體擴展了一個新的欄位 client_state ,該欄位用來描述客戶端的傳輸狀態。

通過 std::vector<ClientNode> 將所有連接的客戶端信息都保存下來。每當有新的客戶端連接,就使用 client_node.push_back() 將信息保存在內存中。如果有已連接的客戶端斷開連接,需要用 find_if() 函數配合 lambda 表達式找到在 vector 中的迭代器,然後斷開連接並刪除 client_node 中對應的數據。具體過程如下:

TaskDistribution_main.cpp是任務分配伺服器可執行文件編譯所需的主函數。在該文件內聲明了兩個 DistributionServer 類的實例 workstation_server 和 parsing_server ,一個 Server 類的實例 manager_server ,分別用來處理來自工作站、文件解析伺服器、管理平台的連接。因為任務分配伺服器只允許一個管理平台連接,因此管理平台選擇 Server 類,因為可能會有大量工作站和文件解析伺服器連接至任務分配伺服器,因此選擇 DistributionServer 來分別監聽工作站和文件解析伺服器的連接埠。

在主函數中,我選擇使用 epoll ——IO多路復用技術來監聽工作站、文件解析伺服器和管理平台的連接請求,從而實現在單進程中對三個埠進行監聽。

當有管理平台連接至任務分配伺服器後,任務分配伺服器就不再處理來自管理平台的連接請求,直到當前管理平台退出。

當有文件解析伺服器連接至任務分配伺服器後,任務分配伺服器會將文件解析添加至就緒隊列,等待來自工作站的請求。每當有工作站發出文件傳輸請求,就將處於就緒隊列頂端的文件解析伺服器出隊列,並分配給當前工作站用來處理解析任務。處理完文件解析任務後,任務分配伺服器會將文件解析伺服器重新加入隊列。

當工作站連接至任務分配伺服器後,任務分配伺服器會建立一個新的線程用來處理工作站發出的請求。當工作站發出文件解析請求後,該線程會將就緒隊列頂端的文件解析伺服器分配給工作站,並一直監控整個解析過程,直到解析完成,將文件解析伺服器重新入隊列。完成後此線程會重新監聽來自工作站的解析請求,直到工作站斷開連接,該線程就會消亡。如果工作站發出解析請求後,沒有任務文件解析伺服器就緒,那麼任務分配伺服器會每過1s檢測一次是否有就緒的文件解析伺服器(此處可以改進,將每秒輪詢的方式改為等待時長者優先策略)。

該目錄下為編譯 TaskDistribution 所需要的專屬文件。在當前目錄下的src目錄內,主要實現兩個功能: 使用單例模式實現日誌文件記錄 使用狀態模式實現文件解析伺服器在等待狀態和解析狀態之間的切換

使用單例模式來實現日誌記錄的 RecordingLog 類的實例只會創建一次,從而避免創建多個日誌類實例,造成寫入混亂的情況。 RecordingLog 類會將特定信息以 filesteam 的方式寫入文件中,具體被記錄在日誌文件中的信息包括接收來自工作站文件的時間、日期、工作站ip、工作站埠、文件名、文件前8個位元組內容、文件總長度。該類的聲明情況如下所示:

在本系統的FileParsing程序中,使用狀態模式用來處理文件解析伺服器的狀態轉換。文件解析伺服器主要有兩種狀態——等待任務分配伺服器發送解析文件請求狀態和接受來自工作站的文件並完成解析,寫入日誌文件的狀態。

在第一種狀態下,文件解析伺服器收到來自任務分配伺服器的解析請求後,會將需要主動連接的工作站的ip及埠保存下來,並切換到第二種狀態。

在第二種狀態下,文件解析伺服器根據保存的ip和埠主動連接工作站,連接完成後接收來自工作站的文件信息,解析後通過 RecordingLog 類中的 getLogInstance() 函數將解析後的結果寫入日誌文件,完成後會將解析完成情況回傳給任務分配伺服器,在任務分配伺服器中,將該文件解析伺服器重新添加到就緒隊列。之後會主動切換到第一種狀態,再次等待任務請求。

這部分程序使用了狀態模式,使得文件解析伺服器在等待分配任務狀態及解析文件狀態自動切換,從而保證了兩種狀態上的邏輯分離,具有非常好的封裝性,並體現了開閉原則和單一職責原則:每個狀態都是一個子類,如果需要增加狀態就只需要增加子類,如果需要修改狀態,就只需要修改一個子類即可完成,具有很高的擴展性。

該目錄下為編譯 WorkStation 所需要的專屬文件。在當前目錄下的src目錄內,定義了 SendDirectory 類。通過該類,可以實現根據輸入的一個目錄,自動發送該目錄下的所有文件。注意,該目錄下不可再包含目錄。

該目錄下為編譯 Managerplatform 所需要的專屬文件。此目錄可以使用QtCreater打開,但是編譯還是需要根據DistributedFileParsingSystem/CMakeLists.txt文件通過cmake編譯。

該目錄下的 ClientThread 類通過繼承 QThread 類,實現在Qt中使用線程。在該部分程序運行時,就會創建一個 ClientThread 線程,用於與任務分配伺服器建立連接,並不斷接受來自任務分配服務發送的有關工作站及文件解析伺服器的在線狀態以及傳輸狀態。每當有新的信息後,就通過Qt的槽機制,發送給 QDialog ,顯示在界面中。

編譯完成後會生成四個可執行文件:TaskDistribution、FileParsing、WorkStation、ManagerPlatform。

運行過程如下所示:
首先分別運行每個可執行程序,其中運行兩個FileParsing程序(上線兩個文件解析伺服器):

在WorkStation程序下輸入需要發送的文件目錄:

可以在任務分配伺服器的log中看到有新上線的文件解析伺服器,同時在管理平台也可以看到對應的文件解析伺服器。我們通過工作站連續發送三次文件。

實現了整個分布式任務解析伺服器框架,整個項目可以正常實現需求功能。
缺陷:任務分配伺服器存在不能正常處理所有連接的正常close。

在任務分配伺服器處新增了心跳包機制——任務分配伺服器會每隔5s向所有連接在線的文件解析伺服器和工作站發送心跳包,文件解析伺服器和工作站在收到心跳包後,也會主動回應心跳。通過心跳包機制可以很好的處理來自其他連接的斷開情況。同時新增了在管理平台退出後,任務分配伺服器可以重新接受來自管理平台的連接。

❽ ios git 和svn的區別

GIT是分布式的,SVN不是,這是GIT和其它非分布式的版本控制系統,例如SVN,CVS等,最核心的區別。如果你能理解這個概念,那麼你就已經上手一半了。需要做一點聲明,GIT並不是目前第一個或唯一的分布式版本控制系統。還有一些系統,例如Bitkeeper, Mercurial等,也是運行在分布式模式上的。但GIT在這方面做的更好,而且有更多強大的功能特徵。
GIT跟SVN一樣有自己的集中式版本庫或伺服器。但,GIT更傾向於被使用於分布式模式,也就是每個開發人員從中心版本庫/伺服器上chect out代碼後會在自己的機器上克隆一個自己的版本庫。可以這樣說,如果你被困在一個不能連接網路的地方時,就像在飛機上,地下室,電梯里等,你仍然能夠提 交文件,查看歷史版本記錄,創建項目分支,等。對一些人來說,這好像沒多大用處,但當你突然遇到沒有網路的環境時,這個將解決你的大麻煩。

❾ 在個人電腦上怎麼進行分布式編譯伺服器的安裝

方法一:直接在命令行安裝

~$ aptitude install distcc

方法二: 下載distc,解壓,編譯安裝如下:

~$ wgethttp://distcc.samba.org/ftp/distcc/distcc-2.18.3.tar.bz2

~$ tar-jxf distcc-2.18.3.tar.bz2

~$ cddistcc-2.18.3

~$./configure && make && sudo make install

閱讀全文

與ios項目分布式編譯相關的資料

熱點內容
python通用管理系統 瀏覽:202
apachephphtml 瀏覽:141
安慶智能雲伺服器找哪家 瀏覽:761
linuxtab輸入 瀏覽:932
小說網盤資源 瀏覽:502
全免費影視投屏網站 瀏覽:250
娘娘懷孕快生了忍著不生 瀏覽:804
git拉取代碼的命令 瀏覽:993
程序員節西安市 瀏覽:687
單片機的閃燈 瀏覽:965
phpmime映射 瀏覽:583
關鍵特徵分析python 瀏覽:992
linux粘滯位 瀏覽:137
安卓如何把備忘錄調成黑色 瀏覽:862
dhcp伺服器手動分配ip地址 瀏覽:308
阿里雲國內伺服器數量 瀏覽:455
壓縮機安全裕度 瀏覽:226
android交叉編譯環境 瀏覽:775
美團雲伺服器質量怎麼樣 瀏覽:396
蘋果手機游戲解壓包怎麼安裝 瀏覽:446