最近在處理driver 效率問題,要很在乎每個宣告實際的大小,還有type的大小
sizeof 就常常用,還好arm 板子上跟pc 的沒差太多...
但!!! 還是得小心用阿 囧>
以下是用sizeof 在系統上求出
--
首先
int 是 4 bytes (32bits)
char 是 1
--
常常用sizeof 不只求位元大小還可以用來求長度
筆記幾個要小心的地方:
char *str = "0123456789"
sizeof(str) ==>4
sizeof(*str) ==> 1
<<不要對指標亂來取來這招 囧!!!>>
char str[] = "0123456789"
sizeof(str) ==>11個(\0)
sizeof(*str) ==> 1
但是
char str[100] = "0123456789"
sizeof(str) ==>100
<<亂來沒好處阿!!! 那可不是字串大小!!!>>
int value[100];
value[0] = 10;
sizeof(value) ==>400 (4*100)
因為char 是1 int 是4
---
所以sizeof 是用來算記憶體大小,在complier時期就會知道的數字,要找長度
還是乖乖用strlen()唷~~~
那個... 執行期間的sizeof是邪魔歪道(誤
2010年12月1日 星期三
[Linux] vim 加速上班的心情
Vim 有多好用就不用說了,(其實也沒多好用,就編輯器而已 = =)
記錄一下。
以下操作都在
編輯 /etc/vim/vimrc
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
map <F8> :set hls!<BAR>set hls?<CR>
map <f9> :Tlist<CR>
a: 全部模式都可以用滑鼠
v: Visual mode
n: Normal mode
i: insert mode
其他模式就不列了。
不用a的話可以用
set mouse=vn
把各種模式串起來
記錄一下。
以下操作都在
編輯 /etc/vim/vimrc
- 讓你的vim 看得懂C 語言的特徵!!!
- 每次開啟檔案都會自動跳到上一次停留的地方(這太重要了~讓你工作馬上回神)
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
- 讓找的字便亮一點啊
- 自訂熱鍵
map <F8> :set hls!<BAR>set hls?<CR>
map <f9> :Tlist<CR>
- 打開滑鼠支援(我還沒適應用滑鼠 囧>)
a: 全部模式都可以用滑鼠
v: Visual mode
n: Normal mode
i: insert mode
其他模式就不列了。
不用a的話可以用
set mouse=vn
把各種模式串起來
訂閱:
文章 (Atom)