Posted by: kevinlin on: 八月 29, 2008
手動備份log檔案的bat檔案
這樣可以在檔名上加上時間日期
REM 取得日期
FOR /F “tokens=1-4 delims=/ ” %%a IN (“%date%”) DO (
SET _MyDate=%%a%%b%%c%%d
)
REM 取得時間
FOR /F “tokens=1-4 delims=:.” %%a IN (“%time%”) DO (
SET _MyTime=%%a%%b%%c%%d
)
copy .\1\game.log .\紀錄檔\log_%_MyDate%_%_MyTime%(1).log
copy .\2\game.log .\紀錄檔\log_%_MyDate%_%_MyTime%(2).log
copy .\3\game.log .\紀錄檔\log_%_MyDate%_%_MyTime%(3).log
copy .\4\game.log .\紀錄檔\log_%_MyDate%_%_MyTime%(4).log
Posted by: kevinlin on: 八月 29, 2008
要避免程式被多重開啟,其實最簡單的是FindWindow,但是FindWindow只能找設定好的標題或者Class名字對固定的名稱有用,如果你的標題欄會變動的話那就只能投降了。
比較好的方法就是讓他們互斥…
只要在winmain下面加上這段
HANDLE m_hOneInstance;
m_hOneInstance = ::CreateMutex(NULL, FALSE, "MyProgram");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
AfxMessageBox("已經開啟一個程式了");
return false;
}
就只能開啟一次了…
Posted by: kevinlin on: 八月 29, 2008
剛把VC6的一個專案轉到VS2005
發生的一個奇妙的錯誤
Linking…
nafxcwd.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
nafxcwd.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete(void *)” (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
這種錯誤是MFC的library跟C的library衝突,要重新設定link的順序,先nafxcwd.lib再libcmtd.lib
所以就是去專案[屬性頁]裡面找到[連接器]\[輸入] 先在忽略特定程式庫打 nafxcwd.lib libcmtd.lib ,把這兩個忽略掉。
再到其他相依性,打nafxcwd.lib libcmtd.lib,他就會照這個順序去link了。。。
Posted by: kevinlin on: 八月 29, 2008
取得檔案大小還蠻重要的,但是一般取得頂多只能2GB,超過2GB的檔案要怎麼辦??
下面的方法1~3可正確取得2GB以下的FileSize,4跟5兩種方法可以正確取得2GB以上的FileSize
method1
unsigned long GetFileLength( FILE * fileName)
{
unsigned long pos = ftell(fileName);
unsigned long len = 0;
fseek ( fileName, 0L, SEEK_END );
len = ftell ( fileName );
fseek ( fileName, pos, SEEK_SET [...]
Posted by: kevinlin on: 八月 8, 2008
這次來安裝一些繪製圖像基本的的library
我們需要用svn, 在 svn.pspdev.org 下載所需代碼.
打開cygwin, 然後:
$ svn checkout svn://svn.pspdev.org/psp/trunk/zlib
$ svn checkout svn://svn.pspdev.org/psp/trunk/libpng
$ svn checkout svn://svn.pspdev.org/psp/trunk/mikmodlib
它會自動下載這些libraries的最新的原始碼, 下載完畢後我們就可以開始編譯了
但未編譯libpng前, 我們先要編譯zlib:
- cd zlib
- make
- make install
zlib 的相關檔案就會被安裝在”…/pspdev/psp/include”和”…/pspdev/psp/lib”裡面..
接著:
編譯libpng:
- cd libpng
- make
- make install
和zlib一樣 libpng 的相關檔案也會被安裝在”…/pspdev/psp/include”和”…/pspdev/psp/lib”裡面..
編譯mikmodlib:
- cd mikmodlib
- make install
結束後, 你可以在自己的程式理, “#include <png.h>” 來看看能不能work!
Posted by: kevinlin on: 八月 7, 2008
上一篇 PSP Develope @1 把環境設定搞好了
接下來要來做個HelloWorld
在c:\cygwin\home\username 裡面隨便開個目錄 叫[helloworld]好了
建立main.c 到helloworld裡面
/// Hello World – My First App for the PSP
#include
<pspkernel.h>
//這理論上是每一個PSP程式都要include的
#include
<pspdebug.h>
//pspdebug.h包含了print到螢幕上的那個function
PSP_MODULE_INFO("Hello World", 0, 1, 1);
//上面是 程式名 後面是 mode (0 for user mode) 跟 major version 跟 minor version
// Exit callback
int exit_callback(int arg1, int arg2, void *common)
{
sceKernelExitGame();
return 0;
}
// Callback thread
int CallbackThread(SceSize args, void *argp)
{
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return [...]
Posted by: kevinlin on: 八月 6, 2008
最近想要深入玩耍PSP,第一回先來介紹開發環境的設定
最重要的就只有兩個東西1.CYGWIN 2.psptoolchain
可以從這邊下載CYGWIN here. 下載完成後,就能執行安裝了。
安裝時最重要的就是把devel改成install 還有 web裡面的 wget也install,其他可以不用管。
一些囉嗦的說明,可以直接按下一步
理論上直接按下一步,這是要選擇安裝檔案來源,選第一個讓他從網路上下載
這也是直接按下一步,安裝路徑就最好不要改,讓他是c:\cygwin
這是存放下載的一些暫存用的,知道放哪裡就好
選擇下載方式如果Direct Connection不能下載就回來選IE
再來就是選從哪裡下載
Devel改成install
還有wget也要安裝
再來就按下一步讓他安裝,可以去看電視等了。
CYGWIN安裝完成後,桌面會有一個Cygwin的捷徑,點他開啟會看到跟linux一樣的終端介面,指令就自己找找了。
接著就可以繼續安裝psptoolchain了,在這邊下載 here。
下載完後將psptoolchain解壓縮到c:\cygwin\home\user (user是你的windows的username),然後修改c:\cygwin\home\user\.BASHRC 在裡面加入下面這兩行
export PSPDEV=/usr/local/pspdev
export PATH=$PATH:$PSPDEV/bin
接著就可以打開桌面上的cygwin了
打ls,應該可以看到psptoolchain這個目錄,打cd psptoolchain 進入psptoolchain目錄。
接著打./toolchain.sh就會開始進行大概2個小時的安裝,再回去看電視等一下吧!!
安裝完後,就可以開始寫程式編譯了。。。。
Posted by: kevinlin on: 八月 6, 2008
一直以為這樣的服務要自己重新開發,原來已經有現有的了。
做起來就像是 客服只要開著IM軟體,而使用者透過網頁就能跟客服做即時溝通了。在這個講求服務的時代,網站必定要提供這樣功能,已經是大趨勢使然。
用起來會像這張圖
XMPP因為被Google Talk應用而被廣大民眾所接觸。
來些囉嗦的介紹 :
Jabber 是一個即時通訊服務的Server,它是一個openSource的軟體,能讓大家自己架即時通訊的Server,可以在Internet上應用,也可以在區網內應用。
XMPP(Extensible Messaging and Presence Protocol)是基於XML的一種協定,用在near-real-time messaging, presence, and request-response services。 這個協定可能最終允許Internet使用者向Internet上的其他任何人發送即時訊息,即使其OS和瀏覽器不同。XMPP的技術來自於Jabber,其實它是 Jabber的核心協定,所以XMPP有時被誤稱為Jabber協定。Jabber是一個基於XMPP協定的IM應用,除Jabber之外,XMPP還支持很多應用。
Jabber Service軟體有很多,可以參考jabber官方網站的列表:
Jabber官網地址:http://www.jabber.org/
常用Jabber Server:http://www.jabber.org/software/servers.shtml其中最為方便安裝搭建的無疑是Openfire(Wildfire),一款基於GPL的軟體,Openfire有linux、windows和MAC的不同版本,需要java環境,不過軟體本身就有包含了JAVA環境,所以很方便
下載地址:http://www.igniterealtime.org/downloads/index.jsp#openfire
JWChat是一個功能強大,基於Web的Jabber™客戶端。採用AJAX技術開發,這個客戶端只用到了JavaScript與HTML。它具備基本的jabber即時訊息功能,用戶管理,基於MUC協議的群組聊天功能。
下面就來建構系統了
經過測試 這樣的搭配是可以的 :
軟體
版本
openfire
3.4.3
jwchat
1.0beta3
tomcat
6.0
jdk
1.6
過起天價起來看看
最近的回應