May 24, 2005
May 9, 2005
WinNFSd v1.0 在 SourceForge 發表了
之前為了工作需要而寫了一個 NFS server for Windows,WinNFSd v1.0 今天在 SourceForge 上發表了。
這是我第一個公開發表的 open source 的計畫,以 GPL 發表,雖然不是一個多了不起的計畫,但總算跨出了第一步。
之前我有提到我電腦裡的軟體幾乎都是自由軟體或免費軟體,今天我總算能貢獻一下了。
類似的自由軟體我只有找到 SOSSNT,但它似乎不允許 client 做寫入的動作,而且很久沒更新了。
所以我才動手寫了一個,不但允許 client 寫入,也有簡單的文字介面。
這是我第一個公開發表的 open source 的計畫,以 GPL 發表,雖然不是一個多了不起的計畫,但總算跨出了第一步。
之前我有提到我電腦裡的軟體幾乎都是自由軟體或免費軟體,今天我總算能貢獻一下了。
類似的自由軟體我只有找到 SOSSNT,但它似乎不允許 client 做寫入的動作,而且很久沒更新了。
所以我才動手寫了一個,不但允許 client 寫入,也有簡單的文字介面。
May 4, 2005
Compare signed and unsigned integer expression
在 compile C 程式碼的時候可能會出現這個 warning,代表什麼意思呢?
讓我們來看一個例子:
你猜會輸出什麼?答案是 big < small。
這是因為
那如果把
答案是 big > small。
這是因為
讓我們來看一個例子:
unsigned int big = 0x90909090;
int small = -1;
printf("big %c small", big > small? '>' : '< ');你猜會輸出什麼?答案是 big < small。
這是因為
small 轉成 unsigned int 之後變成 0xFFFFFFFF,而大於 0x90909090。那如果把
big 換成 unsigned short,small 換成 short,結果又是如何?unsigned short big = 0x9090;
short small = -1;答案是 big > small。
這是因為
big 和 small 都被轉成 int 了,所以 big 仍然大於 small。May 2, 2005
如何寫一個能編輯大檔案的軟體
ftell 超出檔案大小
以前總以為 C 函式裡頭的
但是在一次意外中,竟讓我發現我錯了。
寫個小程式研究一下,原來是因為
雖然
ftell 回傳值不會超出檔案大小的範圍。但是在一次意外中,竟讓我發現我錯了。
寫個小程式研究一下,原來是因為
fseek 導致的。f = fopen("small", "rb"); //開啟一個小檔案
fseek(f, 100000, SEEK_SET); //故意fseek到超出檔案大小
printf("%dn", ftell(f)); //結果竟然顯示100000雖然
fseek 會回傳成功或失敗,但是失敗時卻不會做任何處理,和我想像中的不一樣啊。

![Syndicate RSS feed [Syndicate this site]](http://pics.yamedia.tw/images/rss2.gif)
![Syndicate ATOM feed [Syndicate this site]](http://pics.yamedia.tw/images/atom.gif)
