compiler-specific

    2熱度

    1回答

    如果問題不重要,我很抱歉,但我已經搜索並下載了gcc源代碼,但沒有找到滿意的答案。 那麼,編譯器(gcc/clang/etc ...)如何知道libc的文件名?我知道類Unix系統將它命名爲libc.a,libc.so等......但是,例如,mac os x將它命名爲libSystem。我想這個名字在編譯器的代碼中是硬編碼的,但我還沒有發現任何證據。

    2熱度

    1回答

    如何獲得編譯器或其他工具來將一個巨大的源文件與頭文件一起放入各自的* .cpp文件中,然後把所有這些都放到一個大的* .cpp源文件中? 我有數百萬行的代碼和大量的混合宏,並且保護了包含和不包含的內容。要手動進行此操作需要比將我的腦海中的代碼翻譯成機器代碼更長的時間。 P.S.這樣做的季節是微不足道的,不用擔心,我知道這根本不實用。

    2熱度

    1回答

    在一個已經運行的舊代碼中,我找到了一個他們試圖解鎖已經解鎖的互斥體的地方。 我很清楚,解鎖已經解鎖的互斥將導致未定義的行爲。 但是我的疑惑是 我能夠通過檢查編譯器文檔來預測行爲? 有沒有可能導致阻塞線程(死鎖)? 未定義的行爲將在pthread_mutex_unlock上看到它在哪裏解鎖已經解鎖的線程?或者在未來的任何pthread調用中都可以看到未定義的行爲?

    0熱度

    1回答

    人們正在討論編譯器中的動態優化。這是什麼意思?任何人都可以給我一個公平的想法嗎?

    0熱度

    2回答

    我使用__attribute__((packed));將struct的項目存儲在內存中,因爲這對於一些低級開發至關重要。 由於__attribute__((packed));是GCC特定的我不知道是否有類似的解決方案適用於所有ANSI/C89/C99/C11編譯器或至少其中一些。

    -1熱度

    1回答

    我學習UEFI編程,我注意到許多EFI頭文件的顯示與此語法塊我不明白: typedef EFI_STATUS (EFIAPI *EFI_TEXT_STRING) ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String ); 能否請您解釋一下什麼是typedef的論據在這種情況下? 那些IN是怎麼合法的?

    18熱度

    1回答

    從該Haskell 98 report: There is no upper bound on the size of a tuple, but some Haskell implementations may restrict the size of tuples, and limit the instances associated with larger tuples. However, e

    7熱度

    2回答

    如何檢查單個C++ 0x/C++ 11語言功能的存在?我知道Clang有一個很好的系統。 GCC,Visual Studio或Boost呢?我想一種方法是檢測編譯器版本並將其與該版本中引入的功能相關聯。但這很麻煩。有人已經做到了嗎?

    4熱度

    1回答

    我試圖運行一個alignof運算符的例子。當我用gcc編譯它(g ++ -std = C++ 11 alignof.cpp)時,我得不到任何錯誤。 但是,當我使用ICC(ICPC -std = C++ 11 alignof.cpp)我收到以下錯誤,我不知道爲什麼編譯: cenas.cpp(13): error: type name is not allowed std::cout <<