查看: 2880|回復: 3
打印 上一主題 下一主題

[解決] Easyx 無法解析的外部指令

[複製鏈接]
  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    樓主
    發表於 2014-9-8 09:53:43 | 顯示全部樓層
    能貼完整的錯誤資訊嗎??

    [C++] 純文本查看 復制代碼
    #define _CRT_SECURE_NO_WARNINGS

    這一行是關閉VC++的警告功能,詳細資訊參考這裡
    http://msdn.microsoft.com/zh-tw/library/8ef0s5kh.aspx

    至於StdAfx.h這個標頭就只是把所有要include的header全集中到這裡。VC++有一個功能叫做「先行編譯標頭檔」,可以把固定的標頭檔先行編譯起來,加快後續的編譯速度 ( 你沒看過編譯一個專案花上半個小時的程式吧XD ) ,至於前後#開的只是避免這一個header被重複include的保護措施,這還滿常見的,格式通常如下


    [C++] 純文本查看 復制代碼
    #ifndef _HEADER_NAME_H
    #define _HEADER_NAME_H
    //CODE HERE
    
    
    #endif //ifndef 的結尾

    如果_HEADER_NAME_H沒有被定義的話,就編譯#ifndef到#endif中間的程式碼,此時_HEADER_NAME_H被定義了(第二行),所以當你第二次include時,就不會編譯到ifndef裡的東西

    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    頭香
    發表於 2014-9-8 16:41:53 | 顯示全部樓層
    1. 要了解WINAPI對於字串有兩種版本的函數,以最常用的MessageBox來說,可以發現MessageBox有兩定義:MessageBoxA
    MessageBoxW
    觀察參數,只有一個地方不一樣MessageBoxA是LPCSTR,MessageBoxW是LPCWSTR,LPCSTR就是const char *,但是LPCWSTR是const wchar_t *,於是有了區別。
    VC++預設的專案屬性是用unicode,用的是W系列;如果你要用A系列(ASCII),要到專案屬性設定字元集為ASCII。


    通常字元沒搞好很容易爛掉就是了
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表