一直在想這篇文章該不該寫,因為這篇文章更像是教你如何使用乙個ide這種文章,毫無價值可言。但思來想去還是應給寫。上篇文章主要說了編譯原理和過程,這篇文章就是理論聯絡實際的典範。並且很多任務程師一輩子都不會有這樣的經歷,寫下這篇文章,對那些剛剛接觸到linux,用eclipse程式設計的人是有一定幫助的。並且對如何把visual studio 工程轉移到linux下編譯是有一定參考價值的。
1、debug 和 release
圖一
2、makefile
由於工程是從visual studio工程移植過來的,所以需要設定自動生成makefile。makefile其實就是編譯規則,這個也是可以單獨寫一篇文章的,這裡先不說了。
圖二
3、include
程式編譯的時候去查詢標頭檔案的地方,在選擇新增到目錄的時候一定要選擇所有語言,因為c++裡很有可能用到了c語言的特性,也可以直接新增組合語言。
圖三
由於工程專案裡有很多目錄,所以必須手動新增標頭檔案查詢目錄,這個時候有個技巧,就是開啟vs的專案工程檔案,配合vim很容易匯出eclipse需要包含檔案配置。如果不知道eclipse配置檔案格式,可以先在eclipse裡新增乙個配置檔案,然後在匯出。這樣就知道eclipse配置格式了,觀察發現eclipse標頭檔案寫在三處。還有symbols,都可以在配置裡直接配置。
4、symbols
gcc裡的-d選項,就是自定義巨集,這個的用處很多,比如你linux和windows網路庫不是一套**,你可以在呼叫位置,用巨集隔開,在編譯windows的時候定義windows巨集,編譯linux的時候定義linux巨集,除錯模式加debug巨集,不想除錯模式新增ndebug。
圖四
5、libraries 和 library path
library path很好理解,就是去對應的目錄查詢對應的庫檔案,libraries這個比較特殊,在windows下你寫什麼名字,在編譯過程中就去對應目錄查詢,但在linux下libraries對應gcc裡的-l 選項,在載入對應庫檔案(so, a)都是在選項前面加lib在結尾加.a,比如工程依賴乙個庫檔案libpthread.a那我需要寫成pthread就可以,這樣在鏈結庫檔案的時候才可以找到。
圖五
6、source location
這個功能用來定位原始碼位置的,預設情況下工程生成makefile是查詢所有工程下的cc檔案生成makefile,如果引用外部檔案就需要在這裡新增,並且還提供篩選功能,比如你引用外部一些檔案,需要排除出去,這時候就可以用filter功能。
圖六
本文完,這下我和我的小夥伴們再也不用害怕這些看起來很複雜,功能巨無霸的ide了, 其實他們只不過是給大家提供了視覺化操作的頁面,讓大家更加高效便捷的去完成事情。如果對它地層所涉及的知識不清楚,用工具只能帶來更多困擾。如果對背後執行的原理和技術很熟悉的話,不管ide如何變化,都要遵循這些原理,不管作業系統如何變化,整個計算機理論知識暫時是不會被顛覆的,所以說在學習的時候一定要知其所以然,這樣才能走的更遠。
Centos環境下部署遊戲伺服器 簡介
一 前言 在接觸這個作業系統之前我一直使用的是ubuntu和mac os,這次由於遊戲是測試版本,沒有專業的運維人員去做這件事情,只能我這個稍微懂一點linux的人來做這件事情了。由於涉及到的內容比較多,因此將這些內容分成不同的內容來寫,這樣也符合軟體的設計原則 kiss原則 每篇文章盡力只說一件事...
Centos環境下部署遊戲伺服器 軟體安裝
這篇文章主要介紹一下遊戲伺服器需要安裝的軟體和需要修改的配置。現介紹下專案,本專案伺服器端是c mysql組合,客戶端是as寫的,需要安裝的服務為mysql,php,apache,以及乙個nodejs的指令碼。mysql安裝和配置 1 安裝 yum install mysql mysql serve...
在centos環境下部署yara
今天接到乙個任務 在centos的環境下部署yara,沒系統版本要求,能執行yara。本文純屬個人安裝成功後的總結與心得。如有重複,還請見諒。本次安裝採用的是編譯安裝的安裝方式 在安裝之前請先確定你的系統中是否已經安裝automake libtool make 和 gcc 沒有請安裝。安裝命令如下 ...