Windows通用知識講解二

weixin_33894992發表於2017-04-07
NMAKE
Makefile是一個解釋執行的工具,根據Makefile檔案中的定義,編譯和連結程式,最終生成檔案。
Makefile(Windows下是.mak檔案)
定義編譯和連結等操作的指令碼檔案(把專案的處理命令寫入),一般對整個專案進行處理。
示例
HELLO:    //依賴行。大小寫均可,建議全部大寫
    cl.exe hello.c /c    //命令列
    rc.exe hellownd.rc    //命令列
    link.exe hello.obj hellownd.res user32.lib    //命令列
Makefile檔案可以有多個依賴行
執行方式--使用NMAKE命令執行
NMAKE首先找到第一個依賴行,檢查依賴行的依賴項,如果發現依賴項,首先執行依賴項命令列,執行完所有依賴項命令後,再執行自己命令列。
NMAKE類似於Linux下的make,但是執行指定的依賴來行時,按照'nmake /f 1.mak 依賴行',其中/f是執行指定的依賴行
BOOL WriteConsole(
HANDLE        hConsoleOutput,//標準輸出控制程式碼,通過GetStdHandle()獲取
const VOID    *lpBuffer,//輸出內容buffer
DWORD        nNumberOfCharsToWrite,//輸出內容buffer的長度--即使用者需要輸出內容的長度
LPDWORD        lpNumberOfCharsWritten,//實際輸出內容的長度--有可能輸出不完全,需要再次輸出
LPVOID        lpReserved//備用引數
);
Windows中的控制程式碼幾乎都是用來表示記憶體地址的(但不是指標),但是有三個控制程式碼例外:標準輸出控制程式碼、標準輸入控制程式碼、標準錯誤控制程式碼
HANDLE GetStdHandle(
DWORD nStdHandle
);
引數:
STD_INPUT_HANDLE--The standard input device. Initially, this is the console input buffer, CONIN$.
STD_OUTPUT_HANDLE--The standard output device. Initially, this is the active console screen buffer, CONOUT$.
STD_ERROR_HANDLE--The standard error device. Initially, this is the active console screen buffer, CONOUT$.
寬位元組字元
wchar_t    每個字元佔2個位元組
chat    每個字元佔1個位元組或2個位元組(英文字母佔1個位元組,漢字佔2位元組)
wchar_t本質上是unsigned short型別,定義時,需要增加"L",通知編譯器按照雙位元組編譯字串,採用UNICODE編碼
需要使用支援wchar_t函式操作寬位元組字串。例如:
wchar_t *pwtext=L"hello world";
wprintf(L"%s\n",pwtext);

 

相關文章