- Oct 31 Sat 2009 11:36
C++中關於extern的意義
- Feb 13 Fri 2009 23:37
如何在 linux 中更新現在時間
# ntpdate clock.stdtime.gov.tw
ps : linux 主機必需要連上網路
- Jan 27 Sun 2008 01:25
「條件運算子」(Conditional operator)
它的使用方式如下:
條件式 ? 成立傳回值 : 失敗傳回值
範例程式:
#include
int main(int argc,char *argv[])
{
// a = 1 表示為 true 反之為 false
int a = 0;
int b = 20;
int x = 11;
// 若 a 為 true 則 x = b
// false 則 x = c
x = ( a ? b : c);
printf("x = %d\n",x);
return 0;
}
- Dec 28 Fri 2007 01:13
新手使用 yum
yum 是 fedora 內建的套件管理工具.....
使用方法>
當想要install 一個套件時
最常遇見的問題:
Another app is currently holding the yum lock; waiting for it to exit...
Another app is currently holding the yum lock; waiting for it to exit...
Another app is currently holding the yum lock; waiting for it to exit...
這是因為 yum 的預設是會自動更新的....
此時剛好在更新....所以無法 install
解決方式2種:
(1)找出process 然後 kill 它
(2)關掉這個service,方法如下
a.su
b.打密碼
c.service yum-updatesd stop
d.chkconfig --level 5 yum-updatesd stop
- Dec 05 Wed 2007 23:19
資料型態(datatype)

關鍵字 | 位長 | 範圍 | printf chars |
char |
1 | -128..127 (或0..255,與體系結構相關) | %c |
unsigned char |
1 | 0..255 | |
signed char |
1 | -128..127 | |
int |
2 (Dos或win16) or 4 (win32或unix) |
-32768..32767 or -2147483648..2147483647 |
%i, %d |
unsigned int |
2 (Dos或win16) or 4 (win32或unix) |
0..65535 or 0..4294967295 |
%u |
signed int |
2 (Dos或win16) or 4 (win32或unix) |
-32768..32767 or -2147483648..2147483647 |
%i, %d |
short int |
2 | -32768..32767 | %hi |
unsigned short |
2 | 0..65535 | %hu |
signed short |
2 | -32768..32767 | |
long int |
4 | -2147483648..2147483647 | %li, %ld |
unsigned long |
4 | 0..4294967295 | %lu |
signed long |
4 | -2147483648..2147483647 | |
long long |
8 | -9223372036854775808..9223372036854775807 | %lli |
unsigned long long |
8 | 0..18446744073709551615 | %llu |
float |
4 | 3.4x10-38..3.4x10+38 (7 sf) | %f, %e, %g |
double |
8 | 1.7x10-308..1.7x10+308 (15 sf) | %f, %e, %g |
long double |
8 或以上 | 編譯器相關 | %Lf, %Le, %Lg |
- Nov 10 Sat 2007 02:10
Linking to C function in C++
則需加入如下宣告:
#ifdef __cplusplus
- Nov 07 Wed 2007 05:25
計算機概論(bit byte word ....的轉換)
原因主要是因為資料的大小給錯或是亂給

-----------------------------------------------------------------
- 位元(bit, b)
- 位元組(byte, B)
- 字組(word)
------------------------------------------------------------------
結論:
所以它們之間的關系為:
bit 可以代表0,1
1byte = 8 bits
1word = 2 bytes = 16bits
1doubleword = 2 words = 4bytes = 32bit
- Oct 31 Wed 2007 06:08
VirtualBox(虛擬機器...類似vmware)
但是看看自己手上的vmware...再看看官網上的版本 = ="
於是開始在google上尋找 突然發現有個東西叫...VirtualBox...就用它吧
原因:沒有什麼原因,只是剛好在google上看到,而且是GPL...
VirtualBox的官方網站(英文)
http://www.virtualbox.org/
VirtualBox的下載位置
http://www.virtualbox.org/wiki/Downloads
以下為它的下載頁面上的內容

在下載之前,要先確定你現在正在使用那種作業系統(OS)
而且有一點要注意
Please note that the package architecture must fit your host operating system architecture. So if you are running a 32-bit kernel on a 64-bit capable CPU you have to install the 32-bit version (x86/i386). On the other side you must install the AMD64 version if your host OS is 64-bit!
上面的內容是寫說(英文不夠好...有翻錯的話囧rz..)
如果你的OS是與64位元的CPU相容的32bit Kernel核心 你要去下載(X86/i386)
如果你的OS是64bit的Kernel核心 就要下載AMD64這個版本
在安裝完後,會出現一個畫面

上面的意思大概是說,要不要加入他們收集的統計資料中...應該沒有差吧@@
不過有點我很好奇....為啥安裝時,它會自動先選擇簡體呀....明明有內建繁體...怪了

以上...先寫到這樣....
- Oct 29 Mon 2007 23:48
Firefox 遇到的怪問題 menuite ??
1.修正 C:\Program Files\Mozilla Firefox\extensions\{CAFEEFAC-0016-0000-0001-ABCDEFFEDCBA}
\chrome.manifest 內容中的
locale javaconsole1.6.0_01 zh-TW chrome/locale/zh_TW/ffjcext/
改成
locale javaconsole1.6.0_01 zh-TW chrome/locale/zh-TW/ffjcext/
2.然後以安全模式開啟firefox C:\Program Files\Mozilla Firefox\firefox.exe” -safe-mode 退出firefox,再以正常方式啟動firefox就可以了。
有圖有真相:

- Oct 25 Thu 2007 00:25
callback的補充
如果系統或是函式是要求你給一個function pointer,
這個function pointer指到一個實際的函式(多半這個函式是你自己寫的)。
然後它會在適當的時間呼叫此function,則此function就是所謂的 callback function。
因為這個function是被『callback』了。
- Oct 25 Thu 2007 00:05
何謂callback function
用Google找了一下.....嗯....

簡單的說就是回傳某個函數的指標, 呼叫者便可透過這個函數指標直接執行函數...
以下是我找到的範例
//---------------------------------------------------
//說明:
// 這個是一個callback function...
// 由Google上找到的例子加以修改而成的...
//---------------------------------------------------
//若要測試,記得只能存成.c檔...
//(有warning,可以不用理)
//不可以存成.cpp檔...因為complier不會過...
//---------------------------------------------------
#include <stdio.h>
//就是structure
struct table
{
char id;
void *func;
};
void *funcA() { printf("This is funcA()\n"); }
void *funcB() { printf("This is funcB()\n"); }
void *funcC() { printf("This is funcC()\n"); }
void *funcD() { printf("This is funcD()\n"); }
const struct table tb[] = { {1, funcA},
{2, funcB},
{3, funcC},
{4, funcD} };
//宣告callback function的prototype(原型)
void (*func)(void);
int main(int argc,char *argv[])
{
int index, i;
index = 1;
for (i = 0; i < 4; i++)
{
if (index == tb[i].id)
{
func = tb[i].func;
func();//呼叫callback function
}
index++;
}
printf("如果在這裡呼叫callback function呢?\n");
func();
return 0;
}
輸出的結果:
This is funcA()
This is funcB()
This is funcC()
This is funcD()
如果在這裡呼叫callback function呢?
This is funcD()
Press any key to continue
心得:要用心體會呀!!!!
- Oct 20 Sat 2007 14:17
在Linux上安裝套件
在Linux上要安裝一個套件,最重要的是要去看README、INSTALL等說明文件
因為它會告訴你,怎麼做才會安裝成功。
通常安装一個套件的步驟是:(以gtk為例)
tar jxvf gtk+-2.4.13.tar.bz2 (解開套件)
cd gtk+-2.4.13/ (進入解開套件的目錄下)
執行./configure
PS:似乎在某些環境下./configure會造成terminal退出
可以試試看.configure (目前是沒有遇到這種情形啦@@)
若configure成功後,則會建立Makefile
再來執行make
PS:若configure沒有成功,此時執行make,則會出現以下的訊息
"make: *** No targets specified and no makefile found. Stop."
make成功後
執行make install 則會開始安裝了。
--------------------------------------------------------------------
(小結)安裝套件的步驟
(1) 先去看一看README、INSALL(雖然英文不夠好...但總有一天你會開竅的)
(2) ./configure
(3) make clean (為什麼多了這個步驟...因為以前可能有編譯失敗過)
(所以為了以防萬一...clean掉一些*.o等東西)
(4) make
(5) make install
--------------------------------------------------------------------
- Jul 03 Mon 2006 08:02
安裝PCMANX
灌完Fedora Code IV之後,那接下來要做什麼呢??
來...灌軟體好了...PCMANX是用來上BBS的軟體.....
1.首先先以root登入到Fedora Code IV裡面。
(不要以其它的使用者登入,不然會發生權限的問題。例如:無法移動檔案到特定的目錄下)
2.到 http://pcmanx.csie.net/ 下載最新版的PCMANX 到 /usr/local/src/ 下
3.打開終端機 (在 應用程式→附屬應用程式→終端機 )
4.在終端機上 打入 cd /usr/local/src
5.解壓縮 打入 tar -zxvf pcmanx-gtk2-0.3.4.tar.gz
(pcmanx-gtk2-0.3.4.tar.gz 是 檔名)
6.解完壓縮後,我們可以發現多了一個pcmanx-gtk2-0.3.4的資料夾
(可以 指令 ls -al 查看)
7.接下來 進入 資料夾內 , 請打cd pcmanx-gtk2-0.3.4
8.查看說明檔(可省略)
真正開始安裝:
9.開始偵測環境 並 指定安裝的路徑 打入 ./configure --prefix=/usr/local/pcmanx
10.開始編譯 打入 make clear;make
11.安裝 打入 make install
12.安裝成功後,回到 /usr/local/pcmanx/ 下,請打cd /usr/local/pcmanx
13.打 ls -al 可以發現 三個資料夾 分別是 bin、lib、share
14.進入bin資料夾內,請打 cd bin
15.執行pcmanx 請打./pcmanx
PCMANX的執行畫面:

- Jul 02 Sun 2006 11:57
終於將Linux給灌好了