?? commandline.h
字號(hào):
#ifndef COMMANDLINE_H_
#define COMMANDLINE_H_
/*******************************************************************
** 宏定義,完成命令行參數(shù)中文件擴(kuò)展名的處理
*******************************************************************/
#define ABOUTFILENAME(EXAPN, NUM)\
while(*pchargv!=NULL){ \
pchargv++; \
if(*pchargv=='.') break; \
} \
if(*pchargv!=NULL){ \
if(strcmp(pchargv,EXAPN)) throw CbadCommand("Invalid Filename");}\
else strcat(m_argv[NUM], EXAPN); //處理文件擴(kuò)展名。
/***************************************************************
**宏定義,完成向鏈表尾添加一對(duì)參數(shù)與相應(yīng)的處理函數(shù)
**************************************************************/
#define ADD_PARAMETER(Parameter, Function) \
m_pMobileClass=new CCommandClass(Parameter, Function,NULL);\
if(!m_pMobileClass) throw bad_alloc();\
m_pMobileClass->m_pNextClass=m_pFirstClass;\
m_pFirstClass=m_pMobileClass;
/*****************************************************************
** 類名: CCommandClass
** 功能描述: 該類將成為一張鏈表的一個(gè)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)記錄一個(gè)命令行
** 參數(shù)及其相對(duì)應(yīng)的處理函數(shù),以備處理命令時(shí),調(diào)用相應(yīng)
** 函數(shù)使用。該類只被類CCommandOpt使用。
** 重要的類成員:char m_chParameter: 單字符的命令行參數(shù)。
** void (*m_fnpParameter)(): 處理函數(shù)的指針。
** CCommandClass *m_pNextClass:指向下一個(gè)結(jié)點(diǎn)的指針。
****************************************************************/
class CCommandClass{
public:
char m_chParameter;
void (*m_fnpParameter)(CCompileOption& pa_ComOption);
CCommandClass *m_pNextClass;
CCommandClass(char pa_chParameter,
void (*pa_fnpParameter)(CCompileOption& pa_ComOption), CCommandClass *pa_pNextClass);
};
/*****************************************************************
** 類名: CCommandOpt
** 功能描述: 該類完成所有的命令行處理功能。針對(duì)用戶輸入的命令行參數(shù),
** 在CCommandClass鏈表中查找到相應(yīng)的處理函數(shù),進(jìn)行命令行處理。
** 作 者: 何林強(qiáng)
** 日 期: 2002年5月24日。
** 修 改:
** 日 期:
****************************************************************/
class CCommandOpt{
private:
static int m_argc;
static char **m_argv;
string m_strComline;
CCommandClass *m_pFirstClass; //CCommandClass鏈表的頭指針。
CCommandClass *m_pMobileClass; //鏈表處理的一個(gè)輔助指針
private:
void Lookup_Func(CCompileOption& pa_ComOption,char pa_chParameter);
void OnParameter() throw(bad_alloc); //構(gòu)建命令行參數(shù)處理鏈表的函數(shù)。
static void OnVersion(CCompileOption& pa_ComOption);//以下六個(gè)為相應(yīng)參數(shù)的處理函數(shù)。
static void OnHelp(CCompileOption& pa_ComOption);
static void OnlyScan(CCompileOption& pa_ComOption);
static void OnlyParse(CCompileOption& pa_ComOption);
static void OnlyAnalyze(CCompileOption& pa_ComOption);
static void OnlyCode(CCompileOption& pa_ComOption);
static void OpenSourceFile(string filname);
static void OpenCodeFile(string filname);
public:
CCommandOpt(int argc,char *argv[],CCompileOption& pa_ComOption);
~CCommandOpt();
};
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -