如果你的程序分為多個版本,比如 網絡和個人, 網絡版需要用到網絡函數, 但是個人版就不需要,如果你用if語句判斷一個版本標志是否用網絡函數(比如 send(...))這樣對程序是比較消耗cpu時間的
我已開始用的方法是:
//#define SOFT_VERSION SOFT_VERSION_NETWORK //每次要編譯的時候,就到這里來修改
//#define SOFT_VERSION_NETWORK 0
//#define SOFT_VERSION_PERSONAL 1
在程序里判斷:
if (SOFT_VERSION == SOFT_VERSION_NETWORK)
{
網絡函數
}
這種方法有個不好的地方,有時你會忘記 去改 #define SOFT_VERSION 的值。(我就經常忘記,然后在客戶哪里打電話,告訴我的同事幫我修改再發給我,然后我又得到網吧去下載,...泰羅嗦了:)
今天早晨準備提個問題,看能不能找到更好的辦法, 不過在提問題的時候,我發現這句話:
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
-----------------------------------------------
VC就是這么區分調試版本和發布版本?
我打開 project->setting->c/c++, 在 project option 里面發現 有這個/D "_DEBUG", 然后再msdn翻譯了/D的作用, 頓時恍然大悟。
所以我想在的辦法是
1、在 Set Actinve Config 里面增加四個 單機版的調試和發布, 網絡版的調試和發布。 可以用漢字的哦。單機\網絡的調試版從調試版copy過來. 發布版本從發布版copy過來。
2、在 project->setting->c/c++, 在 project option 里面增加:自己的宏定義,比如我的: 網絡版:/D "SOFT_VERSION_NETWORK" . 個人版:/D "SOFT_VERSION_PERSONAL"
3、再者:在源程序需要用到網絡的地方這么表達就可以了
#ifdef SOFT_VERSION_NETWORK
//網絡函數
#endif
好了,你下次要編譯, 使用 Batch B&uild... 吧! 你還可以自己擴展
---------------------------本文屬于自己的摸索,還有好多高手都會這些,我只不過把它寫出來給初學者看看,讓他們少走些灣路-----------------
謝謝觀賞!