IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information
DWORD dwBufLen = sizeof(AdapterInfo); // Save memory size of buffer
DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen);
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; // Contains pointer to
do {
if(strcmp(pAdapterInfo->IpAddressList.IpAddress.String,"0.0.0.0")!=0)
{
int a=0;
}
pAdapterInfo = pAdapterInfo->Next; // Progress through
// linked list
}
while(pAdapterInfo); // Terminate if last adapter
星期四, 4月 02, 2009
星期一, 1月 12, 2009
星期四, 10月 30, 2008
星期日, 8月 10, 2008
GCC G++
參數: -O (大寫)
說明: 在編譯過程做最佳化,以提升增快程式執行速度。
參數: -Idir_name
說明: 將目錄 'dir_name' 設定為搜尋標頭檔目錄之一。
簡化: -I
參數: -Ldir_name
說明: 將目錄 'dir_name' 設定為搜尋程式庫目錄之一。
簡化: -L
參數: -lname
說明: 聯結程式庫 libname.a 。
範例一:本例中假設你的程式檔名為test.c,數學函數如 sin等,所要聯結的程式庫為 libm.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
範例二:本例中假設你的程式檔名為 test.c,使用到 X window 函數,所需的 include 檔放在 /usr/X11R6/include 中,所須聯結的程式庫放在 /usr/X11R6/lib,所要聯結的程式庫為 libX11.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
提供進一步的資訊以便使用者找尋程式中的錯誤。
參數: -Wall
說明: 輸出較多的警告訊息,以便找出程式的錯誤。
參數: -g
說明: 在編譯出可執行檔時,附加執行時除錯資訊,以供 gdb 讀取 (若要使用 ABSoft 的除錯程式,則須將參數改為 -gdwarf )。
參數: -c
說明: 僅編譯成 object 檔而不進行程式庫聯結。
參數: -E
說明:展開程式中的巨集以便了解巨集是否依照預期方式展開。
聯結數個 object 成可執行檔。
參數: -o
範例: 將 'test1.o'、'test2.o' 和程式庫聯結後成為可執行檔 test。
gcc test1.o test2.o -o test
參數: -S
範例:編譯 test.c 產生對應的組合語言程式碼檔 test.s。
說明: 在編譯過程做最佳化,以提升增快程式執行速度。
參數: -Idir_name
說明: 將目錄 'dir_name' 設定為搜尋標頭檔目錄之一。
簡化: -I
參數: -Ldir_name
說明: 將目錄 'dir_name' 設定為搜尋程式庫目錄之一。
簡化: -L
參數: -lname
說明: 聯結程式庫 libname.a 。
範例一:本例中假設你的程式檔名為test.c,數學函數如 sin等,所要聯結的程式庫為 libm.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
範例二:本例中假設你的程式檔名為 test.c,使用到 X window 函數,所需的 include 檔放在 /usr/X11R6/include 中,所須聯結的程式庫放在 /usr/X11R6/lib,所要聯結的程式庫為 libX11.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
提供進一步的資訊以便使用者找尋程式中的錯誤。
參數: -Wall
說明: 輸出較多的警告訊息,以便找出程式的錯誤。
參數: -g
說明: 在編譯出可執行檔時,附加執行時除錯資訊,以供 gdb 讀取 (若要使用 ABSoft 的除錯程式,則須將參數改為 -gdwarf )。
參數: -c
說明: 僅編譯成 object 檔而不進行程式庫聯結。
參數: -E
說明:展開程式中的巨集以便了解巨集是否依照預期方式展開。
聯結數個 object 成可執行檔。
參數: -o
範例: 將 'test1.o'、'test2.o' 和程式庫聯結後成為可執行檔 test。
gcc test1.o test2.o -o test
參數: -S
範例:編譯 test.c 產生對應的組合語言程式碼檔 test.s。
星期二, 8月 05, 2008
星期二, 1月 30, 2007
phpMyAdmin
執行下列動作前~請先確定您建立了 MySQL 管理使用者,請參考[教學]phpMyAdmin 建立 MySQL 管理者
為了避免您的 phpMyAdmin 門戶大開,請務必要修改您的 phpMyAdmin 登入 config 檔,防止外人進入您的 mysql 造成資料庫被刪除的危機。
首先,打開 phpMyAdmin/config.inc.php
找到
代碼:
$cfg['PmaAbsoluteUri'] =
請在等號的後方填入您的 phpMyAdmin 路徑,例如:
代碼:
$cfg['PmaAbsoluteUri'] = 'http://takeneko.no-ip.com/phpMyAdmin/';
接下來,修改成為限定登入的方式,找到
代碼:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname
這個是您的 MySql 的伺服器名稱,如果您是使用網路空間,請洽詢您的網路空間提供商,所提供的 MySql 的伺服器名稱,假如您是架設在 Windows 系統(非 Server 系列)之上,通常為 localhost。
然後,找到下面兩段語法:
代碼:
$cfg['Servers'][$i]['controluser'] = 'xxxxxx'; // MySQL control user settings
// (this user must have read-only
紅色xxxxxx輸入您的 MySql 管理帳號
$cfg['Servers'][$i]['controlpass'] = 'xxxxxx'; // access to the "mysql/user"
// and "mysql/db" tables)
紅色xxxxxx輸入您的 MySql 管理密碼
最後要以瀏覽器開啟登入畫面的設定,找到:
代碼:
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
竹貓
把預設的 config 修改成紅色字體的 http,還有紅色字體的 root 移除,接著儲存檔案關閉就可以了。
代碼:
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
為了避免您的 phpMyAdmin 門戶大開,請務必要修改您的 phpMyAdmin 登入 config 檔,防止外人進入您的 mysql 造成資料庫被刪除的危機。
首先,打開 phpMyAdmin/config.inc.php
找到
代碼:
$cfg['PmaAbsoluteUri'] =
請在等號的後方填入您的 phpMyAdmin 路徑,例如:
代碼:
$cfg['PmaAbsoluteUri'] = 'http://takeneko.no-ip.com/phpMyAdmin/';
接下來,修改成為限定登入的方式,找到
代碼:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname
這個是您的 MySql 的伺服器名稱,如果您是使用網路空間,請洽詢您的網路空間提供商,所提供的 MySql 的伺服器名稱,假如您是架設在 Windows 系統(非 Server 系列)之上,通常為 localhost。
然後,找到下面兩段語法:
代碼:
$cfg['Servers'][$i]['controluser'] = 'xxxxxx'; // MySQL control user settings
// (this user must have read-only
紅色xxxxxx輸入您的 MySql 管理帳號
$cfg['Servers'][$i]['controlpass'] = 'xxxxxx'; // access to the "mysql/user"
// and "mysql/db" tables)
紅色xxxxxx輸入您的 MySql 管理密碼
最後要以瀏覽器開啟登入畫面的設定,找到:
代碼:
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
竹貓
把預設的 config 修改成紅色字體的 http,還有紅色字體的 root 移除,接著儲存檔案關閉就可以了。
代碼:
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
SCim
SCIM 也是現在很多人用的輸入法,最有名的就是裡面的「酷音」吧。
請先安裝以下套件:
# sudo apt-get install scim
# sudo apt-get install scim-chinese
# sudo apt-get install scim-config-socket
# sudo apt-get install scim-gtk2-immodule
# sudo apt-get install scim-tables-zh
接著編輯 ~/.gnomerc 加上
export LANG=zh_TW.UTF-8
export LC_CTYPE=zh_TW.UTF-8export
XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="scim"
export XIM_PROGRAM="scim -d"
export QT_IM_MODULE="scim"
scim -f x11 -d
scim -f socket -d
阿駕
請先安裝以下套件:
# sudo apt-get install scim
# sudo apt-get install scim-chinese
# sudo apt-get install scim-config-socket
# sudo apt-get install scim-gtk2-immodule
# sudo apt-get install scim-tables-zh
接著編輯 ~/.gnomerc 加上
export LANG=zh_TW.UTF-8
export LC_CTYPE=zh_TW.UTF-8export
XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="scim"
export XIM_PROGRAM="scim -d"
export QT_IM_MODULE="scim"
scim -f x11 -d
scim -f socket -d
阿駕
Gentoo 練習
- /etc/init.d/sshd start 打開 ssh server
- /etc/runlevels/ //開機啟動
- nano -w /etc/resolv.conf 裡面也DNS的設定
- nano -w /etc/make.conf 放置編譯參數
- nano -w /etc/modules.autoload.d/kernel-2.6 需要把網路卡先加上去 //設定模組您將需要將想要開機時自動載入的模組放到
- nano -w /etc/fstab 磁碟機掛載設定
- vi /etc/fonts/fonts.conf
- nano -w /etc/conf.d/net 網路卡設定
- nano -w /etc/hosts 寫入網路資訊
- nano -w /etc/rc.conf 系統資訊 <---KDE要在這邊設定
- /etc/X11/xorg.conf X的設定檔 <-- 滑鼠也要在這設
export 環境變數...有時會需要
如果開機要加入x 就要rc-update -a xdm default
/usr/portage/app-i18n/scim
http://www.gentoo.org.tw/proj/ebuild/ebuild.xml //最佳化中文
/ .bashrc // 加入中文參數 export LANG="zh_TW.Big5"
export LC_ALL="zh_TW.Big5"gcin 安裝 /kde/autostart ln /usr/bin/gcin
export XMODIFIERS="@im=SCIM"
startkde
中文字型 /etc/fonts/fonts.conf 加入
ACCEPT_KEYWORDS="~x86" emerge
lsmod //看使用中的drvier
lspci //查硬體資料
安裝音效卡 之後在 /etc/modules.autoload.d/kernel-2.6 裡加上開機啟動
snd_intel8x0
snd_mixer_oss
snd_pcm_oss
qpkg -l 安裝套件資料......
打開無線網路
modprobe ath_pciiwconfig ath0 essid default
ln -s net.eth- net.ath0
./net.ath0 start
vi /etc/conf.d/net <---加無線的dhcp
dmsg
lspci 要安裝 pciutils
root的顏色 cp /etc/skel/ *.* 到root裡來..就ok之後在source .bashrc
USE="cjk nls arts kde qt ssl scim zh_TW X dvd alsa cdr"
consol看中文locale
emerge fam //
acpid 管理notebook上按鍵
Linux SSH 程式 SCREEN
rc-update add sshe default (設定起動開起)
/etc/init.d/sshd start (打開sshd)
如果要連上不同帳號 sssh Hisashi@140.130.13.114
如果不用之就直接 ssh 140.130.13.114 幾即可
ssh sreen -R Ctrl +a +d or Ctrl +a +c
/etc/init.d/sshd start (打開sshd)
如果要連上不同帳號 sssh Hisashi@140.130.13.114
如果不用之就直接 ssh 140.130.13.114 幾即可
ssh sreen -R Ctrl +a +d or Ctrl +a +c
如何 Register ?
REGSVR32 /u C:\DXSDK\Samples\C++\DirectShow\Filters\Dump\Debug_Unicode\dump.ax
/u是解除
如這行指令就能註冊了...
如果還要更方便就要修改
工具=>資料夾選項=>檔案類型=> 加一個新的檔案類型
執行動作: 名稱
用來執行動作的應用程式 C:\WINDOWS\system32\regsvr32.exe /u "%1"
這樣就完成了!! 之後按右鍵就會出現了趣的事了
/u是解除
如這行指令就能註冊了...
如果還要更方便就要修改
工具=>資料夾選項=>檔案類型=> 加一個新的檔案類型
執行動作: 名稱
用來執行動作的應用程式 C:\WINDOWS\system32\regsvr32.exe /u "%1"
這樣就完成了!! 之後按右鍵就會出現了趣的事了
Director SDK 環境 設定
安裝Director SDK 後
編譯Direct show
X:\DXSDK\Samples\C++\DirectShow\BaseClasses
編譯baseclasses.dsp檔
進Visual C++後 打開 Build=>set Active Configure
選取Debug 和 Debug Release 編譯後會產生
Strmbase.lib 和 Strmbase.lib 之後把這兩檔案放至 X:\DXSDK\Lib
在把所有的 .H檔放在 C:\DXSDK\Include方便以後使用
要把Strmbase.lib 和 Strmbase.lib 註冊一下
之後就可以打開GraphEdit了
編譯Direct show
X:\DXSDK\Samples\C++\DirectShow\BaseClasses
編譯baseclasses.dsp檔
進Visual C++後 打開 Build=>set Active Configure
選取Debug 和 Debug Release 編譯後會產生
Strmbase.lib 和 Strmbase.lib 之後把這兩檔案放至 X:\DXSDK\Lib
在把所有的 .H檔放在 C:\DXSDK\Include方便以後使用
要把Strmbase.lib 和 Strmbase.lib 註冊一下
之後就可以打開GraphEdit了
(接)重灌gentoo
一個字...蠢...沒有DNS MIRRORS又怎麼出現啦....耍白吃勒...
忘東忘西的各性呀..><" 這次在/etc/make.conf 多加了USE參數..hmm "cjk nls " 一定要加外多加了 kde dvd 幾個..hmm...
我就是從錯誤中學習...
之後就一連串的到了裝核心的時候了...
http://dev.gentoo.org/~brix/papers/X31/X31.html
這勒...有x31的相關說明...有前輩已經搞出了點東西
可以抄一抄...
把dotconfig copy 到 usr/src/linux-x 下的.config
在make menuconfig 存一下..多補些東西
hmm
make就ok了....
不過要先研讀好...核心設定...不然編出來的可能只是白編了
http://www.study-area.org/linux/system/linux_kernel.htm
忘東忘西的各性呀..><" 這次在/etc/make.conf 多加了USE參數..hmm "cjk nls " 一定要加外多加了 kde dvd 幾個..hmm...
我就是從錯誤中學習...
之後就一連串的到了裝核心的時候了...
http://dev.gentoo.org/~brix/papers/X31/X31.html
這勒...有x31的相關說明...有前輩已經搞出了點東西
可以抄一抄...
把dotconfig copy 到 usr/src/linux-x 下的.config
在make menuconfig 存一下..多補些東西
hmm
make就ok了....
不過要先研讀好...核心設定...不然編出來的可能只是白編了
http://www.study-area.org/linux/system/linux_kernel.htm
補一下..安裝 Portage 光碟安裝
tar -xvjf /mnt/cdrom/snapshots/portage-20040710.tar.bz2 -C /mnt/gentoo/usr
# mkdir /mnt/gentoo/usr/portage/distfiles
# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/
最後總結一下...
這次重灌很久...遇到不少問題..
編核心時 現在已經有一份好的genkernel的 dotconfig可以用了
X11的xorng.conf 也有一份
這兩個重點要收藏好..
在來是輸入法的問題...scim..在.bashrc....打錯大寫小寫有差,,..所以別打錯
星期三, 9月 13, 2006
玩win32 MFc 很重要的東西
Message Routing
Message Loops
Message Maps
在MFC中很多東西都被藏起來了,所以為了瞭解,就必須找些win32的source code來參考一下,馬上就會得到解答.
其中WM_USER(即0x0400)及以後的數字,均為使用者定義訊息代碼。
Message Loops
Message Maps
在MFC中很多東西都被藏起來了,所以為了瞭解,就必須找些win32的source code來參考一下,馬上就會得到解答.
Msg msg
while(GetMessage(&msg,NULL,0,0))<-- from 32api
{
TranslateMessage(&msg); <-- from 32api
DispatchMessage(&msg); <-- from 32api 會呼叫WinProc去處理Message
}
其中WM_USER(即0x0400)及以後的數字,均為使用者定義訊息代碼。
星期三, 8月 23, 2006
char 陣列 指標 問題
char* s1 = "abcde";
char* s2 = "abcde";
char s3[] = "abcde";
char s4[] = "abcde";
char* skk = "abcde";
printf("%p\n", s1);
printf("%p\n", s2);
printf("%p\n", s3);
printf("%p\n", s4);
printf("%p\n", skk);
所得到的
s1
s2
skk位置都會一樣
char aa[64];
cout<<\sizeof(aa)<<\endl; //大小64
\strcpy(aa,"ddd");
cout<<\strlen(aa)<<\endl; 長度3
char*a="~~~~~~~~~~~~";
char a[]="~~~~~~~~~~~~";
printf("%s\n",a);
printf("%s\n",*a); //只會顯示~
Blog E
最好搞清楚一點這小東東
星期四, 7月 27, 2006
朋友函數 friends
friend 不會受到 private protected public 的影響!!
friend有可能是一個namespace的函式.也可能是class member function 也可能是朋友類別 .
當 class test{
};
架構定義下之後並沒有配制到記憶體內,只有當 test aa;時才會,這和JAVA小小的不同
JAVA要new過之後才算數.
friend有可能是一個namespace的函式.也可能是class member function 也可能是朋友類別 .
當 class test{
};
架構定義下之後並沒有配制到記憶體內,只有當 test aa;時才會,這和JAVA小小的不同
JAVA要new過之後才算數.
星期三, 7月 19, 2006
MFC 讀一張bmp and 秀出來
如果要用DIB就要傳一堆的參數給DIB的section
比如說加上一些有的沒的資料結構
struct {
BITMAPINFOHEADER info;
DWORD Bitfield[3];
}Header;
可以存一些BMP裡面的資訊,比如說,size,
void CChildView::OnPaint()
{
CPaintDC dc(this);
HDC memDC;
memDC=::GetDC(0);
HDC dd;
dd=::CreateCompatibleDC(memDC);
hbitmap=(HBITMAP)::LoadImage(::GetModuleHandle(0), _T("acropolis.bmp"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
holdbitmap=::SelectObject(dd,hbitmap);
// Attach(memDC);
// memDC.CreateCompatibleDC(dc);
BitBlt(dc,0,0,1024,600,dd,0,0,SRCCOPY); //BitBLT是秀圖用的funtion 第一個參數是準備要秀圖的dc,後面的dd是存好圖的的dd,第一個x,y是基準座標,然後是大小,後面的x,y是dd裡面的坐標.最後要加上SRCCOPY
比如說加上一些有的沒的資料結構
struct {
BITMAPINFOHEADER info;
DWORD Bitfield[3];
}Header;
可以存一些BMP裡面的資訊,比如說,size,
void CChildView::OnPaint()
{
CPaintDC dc(this);
HDC memDC;
memDC=::GetDC(0);
HDC dd;
dd=::CreateCompatibleDC(memDC);
hbitmap=(HBITMAP)::LoadImage(::GetModuleHandle(0), _T("acropolis.bmp"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
holdbitmap=::SelectObject(dd,hbitmap);
// Attach(memDC);
// memDC.CreateCompatibleDC(dc);
BitBlt(dc,0,0,1024,600,dd,0,0,SRCCOPY); //BitBLT是秀圖用的funtion 第一個參數是準備要秀圖的dc,後面的dd是存好圖的的dd,第一個x,y是基準座標,然後是大小,後面的x,y是dd裡面的坐標.最後要加上SRCCOPY
星期一, 7月 17, 2006
星期四, 7月 13, 2006
Makefile 小試身手
main.cpp
#include <iostream>
using namespace std
int main(void)
{
cout << "Can You Feel My World?" ;
return 0;
}
----------------------------------------------
all:main.cpp
<tab> g++ main.cpp -g -o run
注意一點 <tab>要按tab 按了g++那行變紅色才ok不然不會過的呦
等瞭解多一點在寫個解釋的文
訂閱:
文章 (Atom)