2013年4月2日 星期二

Pass the string array to some function.



傳遞字串陣列時,若已有事先指定每個字串的長度,則需於fun1 parameter中填入一樣的長度

否則會發生segment fault...

...

int fun1(char str[][5]){

        printf("str:%s.\n", str[0]);

        return 0;
}


int main(){
        char a[5][5];
        sprintf(a[0], "%xh", 32);
        fun1(a);
        return 0;
}

2012年12月28日 星期五

新版大象機

今日在開封街某藥局入手的電動吸鼻器 - 新版的大象機 
可以調整吸力...




2012年12月18日 星期二

i9103 刷機方式

1. 從聯強拿回維修後的手機,會是ICS 4.0.4,可以先用odin刷回原廠的2.3.6 (從I9103ZSKK5_I9103OZSKK5_BRI(2.3.6).zip解壓縮出.md5),然後再用odin刷進CWM,就可以使用CWM來更換kernel為ardatdat_9103_kernel_v1.8.3_1.32G(136-8-8).zip。

2. 如果之後想升級到ICS 4.0.4,可先使用odin刷回原廠的2.3.6,再使用kies作線上更新,但不知為什麼刷到ICS 4.0.4後,螢幕鎖定的功能是失效的。

3. 如果想刷第三方的ICS 4.0.4,可以使用CWM來安裝MaZel_II_ROM_0919.zip。

p.s.1 開機後按下home+音量下鍵即可進入odin (挖礦)模式,進入後,再插上USB cable與NB相連,即可在odin 1.8.5看到手機ID。

p.s.2 開機後按下home+音量上鍵即可進入CWM模式。


2012年12月3日 星期一

Override signal action/handler的使用方式 in Linux

Linux process支援signal的機制,可以使用Linux command - "kill"去對某個process發送signal,
你也可以去捕捉想捕捉的signal,然後去override default signal action/handler...

如果想捕捉下面兩個signals,可以override它們的signal action function
(SIGKILL與SIGSTOP不能如此捕捉)

SIGSEGV - Core Invalid memory reference
SIGTERM - Term Termination signal

取得目錄下的所有檔案 in LINUX (another approach)

#include <dirent.h>
    ...
    struct dirent **namelist;
    int filenumber;
    filenumber = scandir(".", &namelist, 0, alphasort);
    while(n--) {
            printf("%s\n", namelist[n]->d_name);
            free(namelist[n]);
        }
        free(namelist);
    }
...

2012年10月16日 星期二

Virtualbox的網路設定

1. 如果guest使用NAT方式,guest會使用host網路上網,但現在在公司內如果host使用有線網路,guest是無法利用host上網,假如host改用wifi連外網,即可讓guest透過host的wifi連出去。可利用此方式讓guest OS可以連上internet做些更新。

2. 如果guest使用橋接介面卡方式,則會讓guest模擬一張網卡,可透過host的網卡向DHCP server要到一組實體IP。

3. 如果單純只是要讓host可以與guest相連,如http server,則可使用僅限主機介面卡,這可讓guest產生一組192.168.56.101的虛擬IP,此時host即可使用這虛擬IP與guest相連接。