2012年6月14日 星期四
How to interpret complex C/C++ declarations
Ref:
http://www.codeproject.com/Articles/7042/How-to-interpret-complex-C-C-declarations#right_left_rule
透過Facebook分享
又更懂c語言的pointer and reference觀念後, 又覺得自己不會c語言
C/C++之指標 (pointer),參考 (reference) 觀念整理與常見問題
對於c語言
call by value,
call by pointer/address講解的非常清楚
你還可以了解到pointer to pointer, reference to pointer
以下是我實踐的代碼
供自己日後閱讀
心得就撰寫在代碼裡
閱讀複雜pointer代碼的操作心法
The right-left rule
透過Facebook分享
2011年9月23日 星期五
binutils
GNU toolchain包含三個部份
1. gcc
2. glibc
3. binutils
這邊談到binutils會包含到幾下幾個程式
1. as: GNU assembler
2. ld: GNU linker
3. gasp: GNU assembler pre-preocessor
4. ar: 用來建立與操作靜態函式庫的內容
5. nm: 表列目的檔中的符號
6. objcopy: 複製及轉議目的檔
7. objdump: 顯示與目的檔之內容有關的資訊
8. ranlib: 為靜態函式庫的內容產生索引
9. readelf: 顯示與ELF格式目的檔之內容有關的資訊
10. size: 列印目的檔中各區段的大小
11. strings: 印出目的檔中的可印字符
12. strip: 除去目的檔中的符號
13. c++filt: 將因為C++函式的重複載入而損毀的低階組合語言標籤轉換成使用者層級的名稱
14. addr2line: 將所指定的位址轉換成原碼檔案中的列號
Ref:
建構嵌入式LINUX系統
ISBN: 986-7794-30-3
1. gcc
2. glibc
3. binutils
這邊談到binutils會包含到幾下幾個程式
1. as: GNU assembler
2. ld: GNU linker
3. gasp: GNU assembler pre-preocessor
4. ar: 用來建立與操作靜態函式庫的內容
5. nm: 表列目的檔中的符號
6. objcopy: 複製及轉議目的檔
7. objdump: 顯示與目的檔之內容有關的資訊
8. ranlib: 為靜態函式庫的內容產生索引
9. readelf: 顯示與ELF格式目的檔之內容有關的資訊
10. size: 列印目的檔中各區段的大小
11. strings: 印出目的檔中的可印字符
12. strip: 除去目的檔中的符號
13. c++filt: 將因為C++函式的重複載入而損毀的低階組合語言標籤轉換成使用者層級的名稱
14. addr2line: 將所指定的位址轉換成原碼檔案中的列號
Ref:
建構嵌入式LINUX系統
ISBN: 986-7794-30-3
透過Facebook分享
2011年2月22日 星期二
2011年1月11日 星期二
函式庫的三種類型
- 靜態(static)
- 共享(shared)
- 動態載入(dynamically loaded)
- 靜態函式庫
程式對函式庫內函式的呼叫動作可以在編譯過程內就解析完成。程式與靜態函式庫連結的時候,函式庫內函式的位置都能立刻決定。並且為最後的執行檔預先解析好。
- 共享函式庫
使用共享函式庫的程式裡頭連結函式庫的參考資料。這些資料提供程式執行時,由runtime link editor使用
命名規則: 檔名開頭為lib, 檔名結尾為.so
- 動態載入函式庫
程式可以在執行的任何時候載入並使用的函式庫。與上述差異在於,是在於程式使用它的方式,而不是編譯器或執行環境環境的使用方式。所以靜態或共享函式庫都可以作為動態載入函式庫的使用。
用途在程式模組or plug-in功能。
參考:
GCC完全指南
透過Facebook分享
2009年10月27日 星期二
dvi interface
http://zh.wikipedia.org/wiki/DVI
接頭形式有分成以下三種
接頭形式有分成以下三種
- DVI-D(僅傳送數位訊號)
- DVI-A(僅傳送類比訊號)
- DVI-I(可傳送數位及類比訊號)
透過Facebook分享
訂閱:
文章 (Atom)

