導航:首頁 > 編程系統 > linuxcppunit安裝

linuxcppunit安裝

發布時間:2024-05-09 12:37:26

『壹』 linux安裝的時候CC, CFLAGS, CPPFLAGS, FC, FFLAGS, CXX都是干什麼的

CC一般賦值為編譯器命令路徑
CFLAGS賦值為編譯選項

『貳』 linux下非root用戶怎麼安裝c++庫cppunit

很多手機軟體都支持這個功能的,你是要刷機嗎,你可以下個一鍵Root大師,可以備份還原,而且也能一鍵刷機。一鍵root大師可以root手機、卸載應用、清理垃圾、美化字體

『叄』 代碼之美的作者簡介

John Bentley是美國Avaya實驗室的一位計算機科學家。他的研究領域包括編程技術、演算法設計以及軟體工具與界面設計。他已編寫了數本關於編程的書籍, 還撰寫了大量的文章,主題涉及從演算法理論到軟體工程的各個方向。他於1974年在斯坦福大學獲得學士學位,並於1974年獲得碩士學位以及於1976年在 北卡羅來納大學獲得博士學位,隨後在卡耐基-梅隆大學任教6年,教授計算機科學。1982年他加入貝爾實驗室,並於2001年離開貝爾實驗室並加入 Avaya實驗室。他曾是西點軍校和普林斯頓大學的訪問教授、曾經參與開發過軟體工具、電話交換機、電話以及網路服務。
Tim Bray於1987-1989年間在加拿大的安大略省滑鐵盧大學負責牛津英語詞典項目,1989年與他人聯合創建了Open Text公司,在1995年啟動了最早的公共網頁搜索引擎之一,在1996至1999年間與他人共同發明了XML 1.0並合作編寫了
《Namespaces in XML》規范,在1999年他創建了Antarctica Systems公司,並於2002-2004年被Tim Berners-Lee任命在W3C技術架構組中工作。目前,他在Sun Microsystems公司Web Technologies部門任主管,他有一個很受歡迎的博客,並且參與主持IETF AtomPub工作組。
Bryan Cantrill是Sun Microsystems公司的一位傑出的工程師,在他的職業生涯中主要從事Solaris內核的開發。最近他與同事Mike Shapiro和Adam Leventhal一起設計並實現了DTrace,這是一個用於產品系統動態控制的工具,獲得了《華爾街日報》2006年度的最高創新獎。
Douglas Crockford畢業於公立學校。他是一位登記選民,擁有自己的汽車。他曾開發過辦公自動化系統。他曾在Atari公司從事過游戲和音樂研究。他曾是 Lucasfilm有限公司技術部門的主管,以及Paramount公司New Media部門的主管。他創建了Electric Communities公司並且擔任CEO。他還是State 軟體公司的創建者和CTO,正是在這個公司中他發明了JSON數據格式。他現在是Yahoo!公司的一位架構師。
Rogerio Atem de Carvalho是巴西校園技術教育聯合中心(Federal Center for Technological Ecation of Campos,CEFET Campos)的一位教師兼研究人員。他在奧地利的維也納獲得了2006年度IFIP傑出學術領導獎(Distinguished Academic Leadership Award),以表彰他在免費/開源企業資源計劃(ERP)上所做的研究工作。他的研究領域還包括決策支持系統和軟體工程。
Jeff Dean於1999年加入Google,目前是Google系統架構小組的成員。他在Google主要負責開發Google的網頁抓取、索引、查詢服務以 及廣告系統等,他對搜索質量實現了多次改進,並實現了Google分布式計算架構的多個部分。在加入Google之前,他工作於DEC/Compaq的 Western實驗室,主要從事軟體分析工具、微處理器架構以及信息檢索等方面的研究。他於1996年在華盛頓大學獲得了博士學位,與Craig Chambers一起從事面向對象語言的編譯器優化技術方面的研究。在畢業之前,他還在世界衛生組織的艾滋病全球規劃署工作過。
Jack Dongarra於1972年在芝加哥大學獲得數學學士學位,並於1973年在伊利諾理工大學獲得計算機科學碩士學位,又於1980年在新墨西哥大學獲得 應用數學博士學位。他在美國阿貢國家實驗室(Argonne National Laboratory)一直工作到1989年,並成為了一名著名科學家。他現在被任命為田納西大學計算機科學系的計算機科學傑出教授。他是美國橡樹嶺國家 實驗室(Oak Ridge National Laboratory ,ORNL)計算機科學與數學部的傑出的研究人員,曼徹斯特大學計算機科學與數學學院的Turing Fellow,美國萊斯大學計算機科學系的副教授。他的研究領域包括線性代數中的數值演算法,並行計算,高級計算機架構的應用,程序設計方法學以及用於並行 計算機的工具。他的研究工作包括開發、測試高質量的數學軟體以及整理相關文檔。他在以下開源軟體包和系統的設計及實現上做出了貢獻:ISPACK, LINPACK, the BLAS, LAPACK, ScaLAPACK, Netlib, PVM, MPI, NetSolve, Top500, ATLAS, 和 PAPI。他公開發表了大約200篇文章、論文、報告以及技術備忘錄,還參與編寫了數本著作。他於2004年獲得了IEEE Sid Fernbach獎,以表彰他在高性能計算機的應用中使用了創新的方法。他不僅是AAAS,ACM和IEEE的成員,還是美國工程院的院士。
R. Kent Dybvig是印第安納大學計算機科學系的一位教授。在印第安納大學任教兩年之後,他於1987年在北卡羅來納大學獲得了博士學位。他在設計和實現編程語 言的研究上做出了重要的貢獻,包括控制運算符、句法抽象、程序分析、編譯器優化、寄存器分配、多線程以及自動存儲管理等。在1984年,他創建了Chez Scheme軟體並一直是主要的開發人員。Chez Scheme的特點在於快速的編譯時間、可靠性以及能夠高效地運行內存需求巨大的復雜程序,它已經被用於構建企業集成、網頁服務、虛擬現實、機器人葯品抽 檢、電路設計以及其他的商業系統。它還可以用於各種層次的計算機教育以及許多其他領域中的研究。Dybvig是《The Scheme Programming Language, Third Edition》(MIT Press出版社)一書的作者,以及即將發布的「Revised6 Report on Scheme」文檔的編輯。
Michael Feathers是Object Mentor 公司的顧問。在過去七年間,他一直活躍於Agile社群,他的工作主要是與世界各地不同的團隊合作,培訓以及指導。在加入Object Mentor公司之前,Michael設計過一種編程語言,並為這種語言寫了一個編譯器。他還設計了一個龐大的多平台類庫以及用於控制的框架。 Michael開發了CppUnit,也就是最初把JUnit移植到C++;以及FitCpp,也就是把FIT移植到C++。在2005年, Michael編寫了《Working Effectively with Legacy Code》(Prentice Hall出版社)一書。在與各個團隊合作的間隙,他的大多數時間都花在研究大型代碼庫中的設計修改方式方面。
1995年,Karl Fogel和Jim Blandy一起創建了Cyclic軟體公司,這是第一個提供商業CVS支持的公司。1997年,Karl增加了對CVS匿名只讀存儲倉庫訪問的支持,這 樣就可以更方便地訪問開源項目中的開發代碼。1999年,他工作於CollabNet公司,主要從事管理Subversion的創建和開發工作,這是 CollabNet公司和一群開源志願者們從頭開始編寫的開源版本控制系統。2005年,他編寫了《Procing Open Source Software: How to Run a Successful Free Software Project 》(O'Reilly出版社;在http://procingoss.com上有聯機版本) 一書。2006年,他在Google擔任了短期的開源技術專家之後離開Google並成為了Question-Copyright.org網站的全職編 輯。他目前仍然參與了多個開源項目,包括Subversion和GNU Emacs。
Sanjay Ghemawat是一位Google Fellow,工作於Google的系統架構小組。他設計並實現了分布式的存儲系統,文本索引系統,性能分析工具,一種數據表示語言,一個RPC系統,一 個malloc函數實現以及許多其他的庫。在加入Google之前,他是DEC系統研究中心的一位研究人員,主要從事系統性能分析和優化java編譯器的 工作,他還實現了一個Java虛擬機。他於1995年在麻省理工大學獲得博士學位,研究領域為面向對象資料庫的實現。
Ashish Gulhati是互聯網隱私服務Neomailbox的首席開發員,以及Cryptonite的開發員,這是一個支持OpenPGP協議的安全網頁郵件系 統。他有著15年的商業軟體開發經驗,是印度最早的數字版權活動家之一和F/OSS程序員,他編寫了大量的開源Perl模塊,這些模塊可以從CPAN上下 載。在1993~1994年間,他在《PC Quest》和《DataQuest》等雜志上發表了大量文章,這是在印度主流計算機刊物中最早向讀者介紹自由軟體,GNU/ Linux,Web和Internet的文章,在這些文章發表多年以後,印度才擁有了商業的互聯網訪問,這些文章還構成了PC Quest Linux Initiative活動的重要組成部分,這個活動促使自1995年以來,在印度分發了一百萬份Linux光碟。在獲得了一組可穿戴的計算機後,他很快地 成為了一個電子人。
Elliotte Rusty Harold是新奧爾良人,他會定期返回新奧爾良去吃一大碗海鮮干波湯(Gumbo)。不過,他目前住在布魯克林附近的Prospect Heights,和他生活在一起還有他的妻子Beth,狗Shayna,和兩只貓Charm(以誇克命名)和Marjorie(以他的岳母命名)。他是紐 約科技大學的一位副教授,主要講授Java、XML以及面向對象編程。他的Cafe au Lait網站是互聯網上最流行的獨立Java網站之一;他的另一個網站Cafe con Leche 則成為了最流行XML站點之一。他編寫的書籍包括《Java I/O》,《Java Network Programming》和《XML in a Nutshell》(這三本書都由O'Reilly出版社出版),以及XML Bible (Wiley出版社)。他目前的研究領域包括用Java來處理XML的XOM庫、Jaxen XPath引擎以及Amateur媒體播放器。
Brian Hayes為《American Scientist》雜志編寫計算機專欄,他還擁有一個博客。過去,他還為《Scientific American》、《Computer Language》、 以及《The Sciences》等雜志編寫過類似的專欄。他編寫的《Infrastructure: A Field Guide to the Instrial Landscape》(Norton出版社)一書於2005年發行。
Simon Peyton Jones,碩士,於1980年畢業於劍橋大學三一學院。在工作兩年後,他在倫敦大學學院擔任了7年的講師,然後在格拉斯哥大學擔任了9年的教授,後來於 1998年加入微軟研究中心。他的研究領域包括函數式編程語言及其實現和應用。他領導了一系列的研究項目,主要研究用於單處理器機器和並行機的高質量函數 式語言系統的設計和實現。他是函數式語言Haskell的主要設計者,此外他還是被廣泛應用的Glasgow Haskell編譯器(GHC)首席設計師。他還編寫了兩本關於函數式語言實現的教科書。
Jim Kent是加利福尼亞大學聖克魯茲分校基因信息小組(Genome Bioinformatics Group)的一位研究學家。Jim從1983年起就開始編程。在職業生涯的前半段,他主要從事繪畫和動畫軟體的開發,他開發了Aegis Animator、 Cyber Paint以及 Autodesk Animator等獲獎軟體。1996年,由於厭倦了基於Windows API的開發工作,他決定在生物學上追求他的興趣,並於2002年獲得了博士學位。在研究生期間,他編寫GigAssembler——這個程序計算出了第 一批人類基因組——比Celera公司發布的第一批基因組提前了一天,從而使得這批基因組成為免費的專利並且避免了其他的法律問題。Jim發表了40餘篇 科學論文。他目前的研究工作主要是編寫程序,資料庫和網站以幫助科學家分析和了解基因組。
Brian Kernighan於1964年在多倫多大學獲得學士學位,並於1969年在普林斯頓大學獲得電子工程博士學位。他在貝爾實驗室的計算科學研究中心一直工 作到2000年,目前就職於普林斯頓大學的計算機科學系。他編寫了8本著作以及大量的技術論文,並擁有4項專利。他的研究領域包括編程語言、工具、為非專 業用戶設計易用的計算機操作界面等。他還致力於非技術讀者的技術教育工作。
Adam Kolawa是Parasoft公司的創建者之一和CEO,這家公司是自動錯誤預防(Automated Error Prevention ,AEP)解決方案的領先提供商。Kolawa有著多年在各種軟體開發流程中的經驗,這使得他對高科技企業有著獨特的視野,以及成功辨識技術潮流的非凡能 力。因此,他策劃了幾個成功商業軟體產品的開發過程來滿足在提高軟體質量中不斷增長的工業需求——經常在這種潮流被廣泛接受之前。Kolawa參與編寫了 《Bulletproofing Web Applications》(Hungry Minds出版社)一書,他還撰寫了100餘篇評論和技術文章,發表在《The Wall Street Journal》、《CIO》、《Computerworld》、《Dr. Dobb's Journal》以及《IEEE Computer》等期刊上。此外,他還撰寫了大量關於物理學和並行處理方面的科學論文。他現在的簽約媒體包括CNN、 CNBC、 BBC和NPR。Kolawa擁有加利福尼亞理工大學理論物理博士學位,並擁有10項專利發明。2001年,Kolawa獲得了軟體類別的Los Angeles Ernst & Young's Entrepreneur of the Year獎項。
Greg Kroah-Hartman是目前Linux內核的維護人員,負責多個驅動程序子系統以及驅動程序內核、sysfs、 kobject、 kref和debugfs等代碼。他還為啟動linux-hotplug 和 udev等項目提供了幫助,是內核穩定維護團隊中的重要人員。他編寫了《Linux Kernel in a Nutshell》(O'Reilly出版社),並參與編寫了《Linux Device Drivers, Third Edition》(O'Reilly出版社)。
Andrew Kuchling有著11年的軟體工程師經驗,他是Python開發群體中的長期成員。他的一些與Python相關的工作包括編寫和維護數個標準的庫模 塊,編寫一系列的「What's new in Python 2.x」文章以及其他一些文檔,策劃了2006年和2007年的PyCon會議,並是Python軟體基金會的主管。Andrew於1995年畢業於麥吉 爾大學並獲得計算機科學學士學位。他的個人網頁是http://www.amk.ca。
Piotr Luszczek畢業於波蘭克拉科夫礦業與冶金大學,並獲得碩士學位,他的研究領域是並行的核外(out-of-core)庫。他將稠密矩陣計算核應用於 稀疏矩陣直接求解演算法和迭代數值線性幾何演算法中的創新研究使他獲得了博士學位。他把這種思想用來開發使用核外技術容錯庫。目前,他是田納西大學諾克斯維爾 分校的一位研究教授。他的研究工作包括大型超級計算機安裝的標准化評價。他開發了一個自適應的軟體庫,能夠自動選擇最優的演算法來有效地利用現有硬體以及有 選擇地處理輸入數據。他還感興趣於高性能編程語言的設計和實現。
Ronald Mak是高級計算機科學研究所(Research Institute for Advanced Computer Science)的一位資深科學家,在NASA Ames研究中心工作時,他是協同信息系統(Collaborative Information Portal,CIP)的架構師和首席開發人員。在漫步者登錄火星之後,他分別在JPL和Ames對探測任務提供支持。然後,他獲得了加利福尼亞大學聖克 魯茲分校的學術任命,並且他再次與NASA簽約,這次的工作是設計幫助宇航員返回月球的企業軟體。Ron是Willard & Lowe Systems公司的創建人之一和CTO,這是一個針對企業信息管理系統的咨詢公司。他編寫了 數本關於計算機軟體的書籍,他在斯坦福大學分別獲得了數學科學學位和計算機科學學位。
Yukihiro Matz Matsumoto是一位程序員,他是一位日本籍的開源倡導者,他發明了最近非常流行的Ruby語言。他從1993年開始研發Ruby,這和Java語言 一樣久遠。現在他工作於日本Network Applied Communication Laboratory(NaCl,網址為netlab.jp)公司,該公司從1997年起開始贊助Ruby的開發。因為他的真實姓名太長而難以記住,並且 對於非日本的演講者來說難以發音,因此在網上他使用了昵稱Matz。
Arun Mehta是一位電子工程師和計算機科學家,他曾在印度、美國和德國進行過研究和教學工作。他是印度早期計算機活動家,他努力實現了一些方便消費者 (consumer-friendly)的政策,以幫助把現代通信延伸到偏遠地區和貧困地區。他目前的研究領域包括農村無限通信以及幫助殘疾用戶的技術。 他是印度哈里亞納邦Radaur地區JMIT大學計算機工程系的教授和主任。
Rafael Manhaes Monnerat是CEFET CAMPOS的一位IT分析家,以及Nexedi SARL的海外顧問。他的研究領域包括免費/開源系統、ERP以及最新的編程語言。
Travis E. Oliphant於1995年在美國楊百翰大學獲得電子與計算機工程學士學位和數學學士學位,並於1996年在本校獲得電子與計算機工程碩士學位。他於 2001年在明尼蘇達羅切斯特的梅奧研究生院獲得了生物醫學工程博士學位。他是Python語言中科學計算庫SciPy和NumPy的主要編寫者。他的研 究領域包括顯微阻抗成像,異構領域中的MRI重構以及生物醫學逆問題。他目前是楊百翰大學電子與計算機工程的副教授。
Andy Oram是O'Reilly Media的編輯。他從1992年開始就在這家公司工作,Andy目前主要關注自由軟體和開源技術。他在O'Reilly的工作成果包括第一批Linux 系列叢書以及2001年的P2P系列叢書。他的編程技術和系統管理技術大多都是自學的。Andy還是Computer Professionals for Social Responsibility協會的成員並且經常在O'Reilly Network(http://oreillynet.com)和其他一些刊物上撰寫文章,這些文章的主題包括互聯網上的政策問題,以及影響技術創新的潮 流及其對社會的影響。
William R. Otte是田納西范德堡大學電子工程與計算機系(EECS)的一位博士研究生。他的研究領域是分布式實時嵌入(DRE)系統的中間件,目前從事CORBA 組件的部署和配置引擎(DAnCE)開發工作。這個工作主要研究運行時規劃技術,基於組件的應用程序的適應性,以及對應用程序服務質量和容錯需求的規范與 實施。在攻讀研究生之前,William於2005年在范德堡大學計算機系畢業並獲得學士學位,之後在軟體集成系統學院(ISIS)工作了一年。
Andrew Patzer是威斯康星大學醫學院生物信息系的主管。過去15年Andrew是一位軟體開發人員並且編寫了許多文章和書籍,包括 《Professional Java Server Programming》(Peer Information公司)和《JSP Examples and Best Practices》(Apress出版社)。Andrew目前的研究領域為生物信息領域,利用像Groovy這樣的動態語言來發掘大量有效的生物數據並 幫助科學研究人員進行分析。
Charles Petzold是一位自由作家,主要研究領域為Windows應用程序編程。他是《Programming Windows》(Microsoft Press出版社)的作者, 1988年至1999年之間共出版了五版,教育了整整一代程序員的Windows API編程技術。他最新的書籍包括《Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation》(Microsoft Press出版社),以及《Code: The Hidden Language of Computer Hardware and Software》(Microsoft Press出版社),在這本書中他對數字技術進行了獨特的研究。
T. V. Raman的研究領域包括網頁技術和聽覺用戶界面。在20世紀90年代初,在他的博士論文中介紹了音頻格式的概念,叫作AsTeR:Audio System For Technical Readings(技術讀物語音系統),這是一個為技術文檔生成高質量聽覺表示的系統。Emacspeak則將這些思想應用到更廣泛的計算機用戶界面領 域。Raman現在是Google的一位研究人員,主要研究Web應用程序。
Alberto Savoia是Agitar軟體公司的創建人之一和CTO。在創建Agitar之前,他是Google的高級工程主管;在這之前,他還是Sun Microsystems實驗室軟體研究中心的主管。Alberto的主要研究領域是軟體開發技術——尤其是那些幫助程序員在設計和開發階段進行測試和代 碼驗證的工具和技術。
Douglas C. Schmidt是田納西范德堡大學電子工程與計算機(EECS)系的一位教授,計算機科學與工程系的副主任,以及軟體集成系統學院(ISIS)的高級研究 人員。他是分布式計算模式和中間件框架方面的專家,並且已經發表了超過350篇的技術論文和9本書籍,內容涉及的主題很廣,包括高性能通信軟體系統,高速 網路協議並行處理,實時分布式對象計算,並發與分布式系統的面向對象模式,以及模型驅動的開發工具。在他的學術研究之外,Dr. Schmidt還是PrismTechnologies公司的CTO,並且在領導開發應用廣泛開源的中間件平台上有著15年的經驗,在這些平台上包含了豐 富的組件以及實現高性能分布式系統中核心模式的領域特定語言。Dr. Schmidt於1994年於加利福尼亞大學歐文分校獲得計算機科學博士學位。
Christopher Seiwald編寫了Perforce(一種軟體配置管理系統)、Jam(一種構建工具)和「漂亮代碼的七個要素」(本書的第32章,變動的代碼,正是從 這篇文章中提取出了有價值的思想)。在創建Perforce之前,他在Ingres公司管理網路開發小組,他花了數年時間來使得非同步網路代碼看上去很漂 亮。現在他是Perforce軟體公司的CEO,並且仍然從事編碼工作。
Diomidis Spinellis是希臘雅典經濟與商業大學管理科學與技術系的副教授。他的研究領域包括軟體工程工具,編程語言和計算機安全。他在倫敦帝國理工大學獲得 了軟體工程碩士學位和計算機科學博士學位。他發表了超過100篇的技術論文,所涉及的領域包括軟體工程,信息安全以及普適計算。他還編寫了兩本開源方面的 書籍:《Code Reading 》(獲得2004年度Software Development Proctivity獎)和《 Code Quality 》(這兩本書都由Addison-Wesley出版社出版)。他是IEEE Software編輯委員會的成員,主編「Tools of the Trade」專欄。Diomidis是一位FreeBSD提交者(Committer),並且編寫了許多開源軟體包、軟體庫以及工具。
Lincoln Stein是一位碩士/博士,他的研究領域為生物信息數據的集成與虛擬化。在從哈佛大學醫科學院畢業後,他在麻省理工大學Whitehead基因研究所工 作,開發用於老鼠和人類的基因圖譜資料庫。他在冷泉港實驗室開發了各種基因資料庫,包括WormBase,線蟲基因資料庫;Gramene,用於水稻和其 他單子葉植物的比較基因映射資料庫;國際Hap-Map項目資料庫;以及人類基因基礎資料庫Reactome。Lincoln還編寫了《books How to Set Up and Maintain a Web Site》(Addison-Wesley出版社)、《Network Programming in Perl》(Addison-Wesley出版社)、《Official Guide to Programming with CGI.pm 》(Wiley出版社)以及《Writing Apache Moles with Perl and C》(O'Reilly出版社)等書籍。
Nevin Thompson把Yukihiro Matsumoto編寫的第29章內容,把代碼當作文章,從日文翻譯到英文。他的客戶包括日本最大的電視網路,以及Technorati Japan公司和Creative Commons組織。
Henry S. Warren, Jr.在IBM工作了45年,他歷經了從IBM 704到PowerPC的發展過程。他參與過多個軍方指揮與控制系統的開發工作,在紐約大學Jack Schwartz教授指導下從事SETL項目。從1973年起,他在IBM研究部門工作,主要方向為編譯器和計算機架構。Hank目前正在參與Blue Gene Petaflop超級計算機項目。他在紐約大學克朗數學研究所獲得了計算機博士學位。他是《Hacker's Delight》(Addison-Wesley出版社)一書的作者。
Laura Wingerd多年Sybase和Ingres的資料庫產品開發工作形成了她早期對軟體配置管理的觀點。她在Perforce軟體公司創建之初就加盟了這 家公司,並且從她給Perforce客戶的建議中獲得了大量的SCM經驗。她編寫了《Practical Perforce》(O'Reilly出版社)一書以及許多與SCM相關的白皮書。她在Google的技術演講The Flow of Change中首次露面。Laura現在是Perforce 軟體公司產品技術部的副主管,主要負責推動合理的SCM流程以及研究新的並且更好的Perforce使用方式。
Greg Wilson在愛丁堡大學獲得了計算機科學博士學位,他的研究領域包括高性能科學計算,數據虛擬化以及計算機安全。他現在是多倫多大學計算機科學系的一位副教授,並且是《Dr. Dobb's Journal》雜志的特約編輯。
Andreas Zeller於1991年畢業於德國達姆斯塔特理工大學,並於1997年在不倫瑞克理工大學獲得計算機科學博士學位。2001年以來,他一直在德國薩爾蘭 登大學的計算機科學系擔任教授。Zeller主要研究大型程序以及它們的發展歷史,他開發了大量的方法來分析在開源軟體以及IBM、Microsoft、 SAP以及其他公司的商業軟體中失敗的原因。他編寫的《Why Programs Fail: A Guide to Systematic Debugging》(Morgan Kaufmann出版社)獲得了《Software Development Magazine》雜志2006年度的Proctivity大獎。

『肆』 在kali linux 系統中如何安裝gnuradio

10kali 1.09安裝gnuradio,配置軟體無線電教程

GNURadio可謂是開源界無線電愛好者的」軍火庫」。看名字可能你就猜到了,GNURadio是開源的,並且使用GPL協議開源。

項目主頁和介紹:(可能被牆了,自行翻牆)

http://gnuradio.org/redmine/projects/gnuradio/wiki

安裝GNURadio有三種方式:(1)自動化安裝腳本安裝(2)手動編譯安裝

在支持的情況下盡量使用自動化安裝腳本進行安裝,原因是各linux發行版更新源中的GNURadio版本相對較老,可能會有相關的依賴問題。且使用自動化安裝腳本可以使用到最新版本的GNURadio,並且省去了手動編譯安裝的麻煩。

(1)使用自動化編譯腳本進行安裝(推薦)

在/home文件夾內新建一個src文件夾存放安裝腳本源碼:

mkdir src

進入存放源碼與腳本的文件夾:

cd src

下載自動化安裝腳本並執行:

wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio

安裝過車給中會提示用戶是否執行腳本,點擊y即可,然後請求root許可權等,請根據提示操作,另外編譯的時間較長,可能會耗費數小時,請耐心等待。

如果發現無法下載請使用VPN或者其他代理翻牆。

kali1.06,1.09均不支持腳本安裝。需要手動編譯安裝。

其餘Linux發行版可先測試腳本是否支持,再選擇手動編譯的方式。

(2)手動編譯安裝 ,手動編譯的順序是
  1. 安裝各種依賴包
  2. 安裝gnuradio
  3. hackrf / rtlsdr
  4. gr-osmosdr
安裝依賴包

sudo apt-get -y install build-essential cmake git-core autoconf automake libtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0

1

sudo apt-get -y install build-essential cmake git-core autoconf automakelibtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0

編譯GNURadio

git clone --progress http://gnuradio.org/git/gnuradio.git cd gnuradio mkdir build cd build cmake ../ make -j4 #4代表用4核編譯 sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone --progress http://gnuradio.org/git/gnuradio.git

cd gnuradio

mkdir build

cd build

cmake ../

make -j4 #4代表用4核編譯

sudo make install

sudo ldconfig

編譯hackrf

git clone --progress http://github.com/mossmann/hackrf.git cd hackrf/host mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone --progress http://github.com/mossmann/hackrf.git

cd hackrf/host

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON

make

sudo make install

sudo ldconfig

編譯rtlsdr(可選)

git clone --progress git://git.osmocom.org/rtl-sdr cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON sudo make install sudo ldconfig

1

2

3

4

5

6

7

git clone --progress git://git.osmocom.org/rtl-sdr

cd rtl-sdr

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON

sudo make install

sudo ldconfig

編譯gr-osmosdr

git clone --progress git://git.osmocom.org/gr-osmosdr cd gr-osmocom mkdir build cd build cmake ../ make sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone --progress git://git.osmocom.org/gr-osmosdr

cd gr-osmocom

mkdir build

cd build

cmake ../

make

sudo make install

sudo ldconfig

編譯gqrx(可選)

git clone https://github.com/csete/gqrx.git cd gqrx mkdir build cd build qmake ../gqrx.pro make sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone https://github.com/csete/gqrx.git

cd gqrx

mkdir build

cd build

qmake ../gqrx.pro

make

sudo make install

sudo ldconfig

編譯完成後

你可以嘗試以下命令

『伍』 單元測試的測試工具

現在開始介紹單元測試工具,分別按編程語言進行分組介紹。 CppUnit
首先是,這是C++單元測試工具的鼻祖,免費的開源的單元測試框架。由於已有一眾高人寫了不少關於CppUnit的很好的文章,老納就不現丑了,想了解CppUnit的朋友,建議讀一下Cpluser 所作的《CppUnit測試框架入門》,。該文也提供了CppUnit的下載地址。
C++Test
然後介紹C++Test,這是Parasoft公司的產品。[C++Test是一個功能強大的自動化C/C++單元級測試工具,可以自動測試任何C/C++函數、類,自動生成測試用例、測試驅動函數或樁函數,在自動化的環境下極其容易快速的將單元級的測試覆蓋率達到100%]。[]內的文字引自,這是華唐公司的網頁。老納想寫些介紹C++Test的文字,但發現無法超越華唐公司的網頁上的介紹,所以也就省點事了,想了解C++Test的朋友,建議訪問該公司的網站。華唐公司代理C++Test,想要購買或索取報價、試用版都可以找他們。
Visual Unit
最後介紹Visual Unit,簡稱VU,這是國產的單元測試工具,據說申請了多項專利,擁有一批創新的技術,不過老納只關心是不是有用和好用。[自動生成測試代碼 快速建立功能測試用常式序行為一目瞭然 極高的測試完整性 高效完成白盒覆蓋 快速排錯 高效調試 詳盡的測試報告]。[]內的文字是VU開發商的網頁上摘錄的,。前面所述測試要求:完成功能測試,完成語句覆蓋、條件覆蓋、分支覆蓋、路徑覆蓋,用VU可以輕松實現,還有一點值得一提:使用VU還能提高編碼的效率,總體來說,在完成單元測試的同時,編碼調試的時間還能大幅度縮短。算了,不想再講了,老納顯擺理論、介紹經驗還是有興趣的,因為可以滿足老納好為人師的虛榮心,但介紹工具就覺得索然無味了,畢竟工具好不好用,合不合用,要試過才知道,還是自己去開發商的網站看吧,可以下載演示版,還有演示課件。
gtest
gtest測試框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)為編寫C++測試而生成的。它是基於xUnit架構的測試框架,支持自動發現測試,豐富的斷言集,用戶定義的斷言,death測試,致命與非致命的失敗,類型參數化測試,各類運行測試的選項和XML的測試報告。需要詳細了解的朋友可以參閱《玩轉Google單元測試框架gtest系列》該篇文章。 JUnit
JUnit 是 Java 社區中知名度最高的單元測試工具。它誕生於 1997 年,由 Erich Gamma 和 Kent Beck 共同開發完成。其中 Erich Gamma 是經典著作《設計模式:可復用面向對象軟體的基礎》一書的作者之一,並在 Eclipse 中有很大的貢獻;Kent Beck 則是一位極限編程(XP)方面的專家和先驅。JUnit 設計的非常小巧,但是功能卻非常強大。JUnit ——是一個開發源代碼的Java測試框架,用於編寫和運行可重復的測試。他是用於單元測試框架體系xUnit的一個實例(用於java語言)。主要用於白盒測試,回歸測試。
JUnit的好處和JUnit單元測試編寫原則:
好處:可以使測試代碼與產品代碼分開;針對某一個類的測試代碼通過較少的改動便可以應用於另一個類的測試;易於集成到測試人員的構建過程中,JUnit和Ant的結合可以實施增量開發;JUnit是公開源代碼的,可以進行二次開發;可以方便地對JUnit進行擴展;
編寫原則:是簡化測試的編寫,這種簡化包括測試框架的學習和實際測試單元的編寫;是使測試單元保持持久性;是可以利用既有的測試來編寫相關的測試;
JUnit使用幫助
1、junit3.x版本,我們通常使用junit 3.8
(1)、使用junit3.x版本進行單元測試時,測試類必須要繼承於TestCase父類;
(2)、測試方法需要遵循的原則:
A、public的
B、void的
C、無方法參數
D、方法名稱必須以test開頭
(3)、不同的Test Case之間一定要保持完全的獨立性,不能有任何的關聯。
(4)、我們要掌握好測試方法的順序,不能依賴於測試方法自己的執行順序。
dome:
public class TestMyNumber extends TestCase {
private MyNumber myNumber;
public TestMyNumber(String name) {
super(name);
}
// 在每個測試方法執行 [之前] 都會被調用
@Override
public void setUp() throws Exception {
// System.out.println(歡迎使用Junit進行單元測試…);
myNumber = new MyNumber();
}
// 在每個測試方法執行 [之後] 都會被調用
@Override
public void tearDown() throws Exception {
// System.out.println(Junit單元測試結束…);
}
public void testDivideByZero() {
Throwable te = null;
try {
myNumber.divide(6, 0);
Assert.fail(測試失敗);
} catch (Exception e) {
e.printStackTrace();
te = e;
}
Assert.assertEquals(Exception.class, te.getClass());
Assert.assertEquals(除數不能為 0 , te.getMessage());
}
}
2、junit4.x版本
(1)、使用junit4.x版本進行單元測試時,不用測試類繼承TestCase父類,因為,junit4.x全面引入了Annotation來執行我們編寫的測試。
(2)、junit4.x版本,引用了註解的方式,進行單元測試;
(3)、junit4.x版本我們常用的註解:
A、@Before 註解:與junit3.x中的setUp()方法功能一樣,在每個測試方法之前執行;
B、@After 註解:與junit3.x中的tearDown()方法功能一樣,在每個測試方法之後執行;
C、@BeforeClass 註解:在所有方法執行之前執行;
D、@AfterClass 註解:在所有方法執行之後執行;
E、@Test(timeout = xxx) 註解:設置當前測試方法在一定時間內運行完,否則返回錯誤;
F、@Test(expected = Exception.class) 註解:設置被測試的方法是否有異常拋出。拋出異常類型為:Exception.class;
G、@Ignore 註解:注釋掉一個測試方法或一個類,被注釋的方法或類,不會被執行。
dome:
package com.an.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestMyNumber {
private MyNumber myNumber;
@BeforeClass
// 在所有方法執行之前執行
public static void globalInit() {
System.out.println(init all method...);
}
@AfterClass
// 在所有方法執行之後執行
public static void globalDestory() {
System.out.println(destory all method...);
}
@Before
// 在每個測試方法之前執行
public void setUp() {
System.out.println(start setUp method);
myNumber = new MyNumber();
}
@After
// 在每個測試方法之後執行
public void tearDown() {
System.out.println(end tearDown method);
}
@Test(timeout=600)// 設置限定測試方法的運行時間 如果超出則返回錯誤
public void testAdd() {
System.out.println(testAdd method);
int result = myNumber.add(2, 3);
assertEquals(5, result);
}
@Test
public void testSubtract() {
System.out.println(testSubtract method);
int result = myNumber.subtract(1, 2);
assertEquals(-1, result);
}
@Test
public void testMultiply() {
System.out.println(testMultiply method);
int result = myNumber.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivide() {
System.out.println(testDivide method);
int result = 0;
try {
result = myNumber.divide(6, 2);
} catch (Exception e) {
fail();
}
assertEquals(3, result);
}
@Test(expected = Exception.class)
public void testDivide2() throws Exception {
System.out.println(testDivide2 method);
myNumber.divide(6, 0);
fail(test Error);
}
public static void main(String[] args) {
}
}
有興趣的朋友可以下下來仔細研究下,也可以到安安DIY創作室博客一起討論一下。
JUnit-addons
對JUnit的一些補充,比如設置、獲取被測試對象的私有屬性的值,調用被測試對象的私有方法等。
常用類:junitx.util.PrivateAccessor
Spring 測試框架
可以測試基於Spring的應用,通過配置文件和註解自動組裝需要的單元測試對象。
提供了一些常用的J2EE Mock對象,比如HttpSession的Mock類等。
可以支持資料庫自動回滾,以防止對資料庫的單元測試(插入,刪除等)不可重復執行,防止修改資料庫狀態等。
DJUnit
通過代碼自動產生Mock對象,省去了自己手動編寫N多的Mock類。
此外,它的Eclipse插件還可以做到測試覆蓋率、分支統計。
EasyMock
功能同DJUnit,也是通過編程自動Mock掉與測試對象無關的類,方法。

『陸』 linux下c++程序的測試工具有些什麼啊,求推薦

要看程序的類型。如果是ui程序,手工測試為主。
如果是介面,先搞清楚介面類型。如果是ws/http介面可以用soapui
如果是其他類型的介面比如socket等,可以自己用python/java寫測試代碼。

閱讀全文

與linuxcppunit安裝相關的資料

熱點內容
proe教程百度網盤 瀏覽:197
如何控制遠程linux伺服器 瀏覽:740
it教學app有哪些 瀏覽:34
怎麼在ps摳的圖變成矢量文件 瀏覽:405
口袋妖怪銀魂安卓v11 瀏覽:1
網站上芒果tv的賬號都是什麼 瀏覽:104
帶公式的表格如何刷新數據 瀏覽:81
數據標注語音和2d哪個好 瀏覽:145
保存excel文件的方法 瀏覽:655
手機上看不到電腦上的文件 瀏覽:626
關於ps的微信公眾號 瀏覽:612
矩陣論教程 瀏覽:971
字體文件分系統嗎 瀏覽:921
編程一級考試要帶什麼證件 瀏覽:923
extjs表格修改前數據 瀏覽:612
什麼是資料庫的函數 瀏覽:722
oppo手機怎麼用數據線連接電腦 瀏覽:247
恆智天成備份文件在哪裡 瀏覽:976
電腦沒聯網怎麼拷貝文件 瀏覽:224
wps工具欄怎麼換成中文 瀏覽:338

友情鏈接