conditional-compilation

    3熱度

    2回答

    我的項目有一堆#ifdefs。這些#ifdef使用的宏通常通過使用'/D'選項的命令行來獲得不同的構建配置。 Visual Studio錯誤地假定這些宏沒有被定義,並且灰顯了這些#ifdefs中存在的代碼塊。問題不在於語法突出顯示 - 我可以將灰色代碼從選項中變爲彩色代碼;主要問題是我無法去#ifdef內部存在的任何函數的函數定義。我嘗試閱讀有關Visual Studio hint files,但

    2熱度

    1回答

    這是我對NSLog()智能變體的搜索。 BetterLog()的一個關鍵特性是NSLog()替代版本無法用於發佈和分發版本。所提出的解決方案(參見例如Is it true that one should not use NSLog() on production code?)定義了預處理器符號,以根據構建類型來控制BetterLog()的定義。通常爲: #ifdef DEBUG_MODE

    5熱度

    2回答

    英特爾C++與Qstd=c++0x編譯時是否預定義一些宏?像GCC中的__GXX_EXPERIMENTAL_CXX0X__? __cplusplus仍然是199711。 任何方式來檢測C++ 0x編譯?

    1熱度

    2回答

    我有一個運行在嵌入式設備上的Java應用程序。由於不同的設備運行不同版本的設備SDK,因此我必須針對〜5種不同的設備SDK組合進行構建。 其中一種組合不支持現有對象上的特定方法,而完全從SDK中省略另一個對象。 我在我的程序中使用了這個方法和對象,但是隻有在某個配置中,所以我想回退到不支持它的設備上的另一個配置。 我很樂意在編譯或運行時執行此回退行爲。 什麼是有條件地刪除此代碼的最簡單方法? 代碼

    1熱度

    1回答

    我正在爲Windows和xbox構建XNA 4.0應用程序。 在Windows版本中,我引用IronPython和未在緊湊的框架支持的一些CLR/DLR裝配調試控制檯。我也有幾個參考這些項目的部分類。 我知道我可以從xbox項目中刪除引用來保持兼容性。但是,我還需要刪除引用這些項目的類。問題是這些類是由其他需要它們的類實例化的,但僅限於Windows。 顯而易見的解決這一窘境只是在#if預處理指令

    11熱度

    7回答

    在C#中使用條件編譯代碼的替代方案是什麼? 我有一個有很多基於#ifdef的代碼的類。有時我的代碼是不可讀的。 尋找重構技術,爲更好的可讀性和代碼維護與許多#if DEFS使用

    2熱度

    2回答

    我嘗試從Cython pxd有條件地編譯(或生成)到c代碼。我讀過,我可以DEF定義一個值和IF來根據它的值有條件地生成,但是我怎麼能得到這個值從pxd文件之外得到? 具體而言這兩種情況現在有趣對我來說: 給出一些命令行定義了用Cython,preferrably通過Cython.Distutils setuptools的方式 將extern-ED C頭文件定義了一些值,並有條件地定義使用基於該值

    5熱度

    1回答

    我知道,如果我將代碼標記爲DEBUG代碼,它不會在RELEASE模式下運行運行,但它仍會被編譯到程序集中嗎?我只是想確保我的程序集不會被額外的方法臃腫。 [Conditional(DEBUG)] private void DoSomeLocalDebugging() { //debugging }

    0熱度

    2回答

    爲什麼下面的代碼不能編譯(snippet)? public enum ApplicationType : int { CONSOLE = 1, WINDOWS_FORMS = 2, ASP_NET = 3, WINDOWS_SERVICE = 4, MUTE = 5 } //#if(false) //#

    5熱度

    1回答

    假設我有一個很長的算法,我希望可以詳細地調試它。到目前爲止,我只是在代碼中添加了很多if verbose then printf "whatever",但是如果我不想在詳細模式下使用它,則會強制代碼執行許多無用的測試。 有沒有辦法獲得一個簡單的條件編譯,如果一個標誌被設置,它可以忽略printf行? 東西,比如我可以在C使用#IFDEF DEBUG printf .. #ENDIF