extern

    0熱度

    1回答

    據說,const變量要從外部引用(即有外部鏈接),extern關鍵字是強制性的。所以: const int f = 3; // Definition of f with internal linkage (due to const) extern const int g; // Declaration of g with external linkage 如果這是正確的,那麼如何以下罰款仍然

    1熱度

    1回答

    說我想編寫一個提供自定義輸出流的API(用於C/Linux),如stdout,但我的應該叫not_stdout。所以我可以要求使用我的API的人通過調用初始化爲extern FILE* not_stdout的函數init_the_stream()來始終開始他們的主程序。 但我真的很喜歡我的流在main()之前初始化,所以它的工作原理就像stdout。 我猜想這在一個可移植的方式很難做到,因爲C標準

    12熱度

    1回答

    根據「C#語言規範5.0版」中的「10.12靜態構造函數」一節,靜態構造函數可以標記爲「extern」修飾符,在這種情況下,它被稱爲外部靜態構造函數。 普通(非外部)靜態構造函數是衆所周知的。它們用於初始化靜態字段和屬性。 外部靜態方法通常用於通過P/Invoke調用本地函數。 而且我也知道相當深奧的extern構造函數(另請參閱this question)。例如,String類有幾個這樣的dec

    1熱度

    1回答

    我不明白爲什麼FreeRTOS操作系統不允許改變的extern變量 (MYDATA的) 這裏是我的poject main.c文件 uint16_t Mydata = 0; main() { System_Init(); xTaskCreate(Task1, (const char*)"Task1", 100, NULL, 4, NULL); xTaskCreat

    0熱度

    1回答

    我在我的項目中使用了extern中的變量和函數,以便將來可以與我的其他源文件共享該文件。 我該如何使用它? 我從前的名字dec.h 取得變量和函數的Declaration一個「頭文件」有是名def.c在我Defined這些變量和函數另一個文件。 def.c文件包括dec.h文件。 現在在我的main程序中,當我只包含dec.h文件並嘗試編譯該程序時,編譯器警告爲Unresolved Extern

    -5熱度

    2回答

    當我們聲明的任何全局變量,比如 int x; 它相當於 extern int x; 現在默認的全局變量是由編譯器,這意味着它們分配的內存初始化爲0。但如果我只是寫 extern int x; 然後這將只聲明變量,而沒有內存將分配給它。所以,我的問題是,如果我在int x之前寫extern或者我不寫,如果全局變量爲,編譯器如何區別對待它們?在我簡單地寫int x的情況下,它分配內存,同時

    3熱度

    1回答

    我正在開發輕量級解析器作爲C++ h文件模板庫。 在特定的BNF-like符號中使用重載運算符對某些類應該列舉的類進行描述。我需要一個全局變量作爲一些計數器執行它。 我不想在h-file中使用extern int var;,在cpp-file中使用int var;,因爲我所有的東西都放在單頭文件中,現在用戶只需要包含它。 我可以在頭文件中聲明static int var;,但是這個變量的副本出現在

    2熱度

    3回答

    我試圖使用矢量變量全球和外擴它在另一個文件中使用它,這是我的代碼 頭文件 using namespace cv; typedef struct objectparamstruct { std::vector<KeyPoint> kp_object; Mat des_object; char label[10]; }objectparamstruct; 我的

    0熱度

    1回答

    我在GCC編譯器上編譯後面的程序時感到驚訝。它成功地工作。編譯器只給出警告。 warning: 'i' initialized and declared 'extern' [enabled by default] extern int i = 10;^ 我的代碼: #include <stdio.h> //Compiler version gcc 4.9 extern int i = 10;

    0熱度

    1回答

    我有一些InDesign插件的遺留代碼,我正在嘗試爲使用C++ 11支持的XCode編譯器的InDesign新版本進行編譯。 有一個頭文件AdWrksSession.h,其中包含一個具有C鏈接的類對象,如下所示。 作爲extern對象/變量的聲明所說: extern "C" CAdWrksSession gAdWrksSession; 和cpp文件AdWrksSession.cpp包含具有相同