2013年10月31日 星期四

.a .so

.a 一堆 .o 合起來

.so  shared objects

/include 裡面 放的  一堆 .h 檔案


告訴 compiler 說 這類型的檔案  存在於某個地方


.so 是在 link 的時候 把這項 library 給  link 起來
讓   這些可以用

例如   說  printf 這個 function 的 被實做出來 並且放在 某個 .so裡面
在 程式 run 的時候才會呼叫出來
就是這個ˇ道理
通常  會放在 lib/ 下面




轉自 http://bbs.chinaunix.net/thread-1332374-1-1.html

Archive 相當於某個人(這個可能是你也可能是別人)在編一個程序的時候中途留下了很多.o 文件沒用光。怎麼辦? Archive 起來,以後寫別的程序用得著。所以你的程序如果用了archive,連接到的是“靜態”庫,庫好像已經和你的程序化為一體,不分彼此。

Shared object 呢?你的心態又不一樣了。你寫程序,寫著寫著發現很多程序都要用到同一段代碼,怎麼辦?直接copy 過去省事啊,不過維護起來麻煩。用 archive?也還行,只是有點浪費空間了。那怎麼辦?一拍大腿,點子來了,share 一下這個object,這樣既方便維護,又節省空間。

現實環境裡兩種情況都有,自己想想清楚每一種的目的是要幹啥就行了。

2013年10月30日 星期三

tar 進階版



如果 檔案 是  有 zip 的  !!

則 需要下列的指令

tar -zxvf  myfile.tgz


or
gunzip myfile.tgz |  tar -xv


Sudo

sudo 使用方式如下

以下是 example

 command.sh 是 要下的指令

sudo -u root   ./command.sh



2013年10月3日 星期四

觀看環境變數


command line 下
export
會列出所有的環境變數的值
即可

設定 環境變數 方法

注意  環境變數 是一種變數
它可以是  一個變數  例如  TILE_ROOT= /opt/tilera/....
表示 當在 Makefile 或是 其他 scritp  檔案的時候  讀取到 TILE_ROOT 會自動變成  /opt/tiler/...

要設定方法就是  export TILE_ROOT=/opt/tilera/... 即可以當下設定好此變數

如果說 是 當輸入 g++ 的時候  shell 可以找到  這執行黨的 目錄 就必須把 這個執行黨(g++)所在的目錄 給 設定到環境變數裡面 也就是說 也就是 是設定到 PATH 這個變數裡面


ex  /mynewpath/

PATH =$PATH:/mynewpath/

以上的表示 會把 現有的 環境變數 加上/mynewpath/ 這個環境

PATH =PATH  + "your new environment path"