extern

    1熱度

    2回答

    我知道static關鍵字使C函數/變量是文件作用域。 我讀過,如果我想打一個變量全局範圍(由多個文件訪問),我應該怎麼做: 在.c文件: int my_global_var; // main().... 在 .h文件 : extern int my_global_var; 因此,任何一個將包括我.h文件將能夠引用my_global_var這已經是extern版。 而且我也讀過這個功能也

    1熱度

    4回答

    我在Objective C++類中包含名爲「AniUtils.h」的C文件。我明白,如果我要將C文件包含在C++文件中,我需要使用'extern'C''。讓我感到困惑的是,在extern C中包裝include指令似乎並不奏效,而在文件主體中放置extern C卻沒有。 因此,包裝include指令不起作用。 extern "C" { #include "AniUtils.h" }

    1熱度

    3回答

    我將一些可怕的傳統C++代碼從gcc 3.x移植到4.x 在頭文件中有這樣的構造: extern class ErrorLog { . . . } error_log, debug_log; 在3.X它編譯和工作正常,但在4.x的,我有很多形式 undefined reference to `error_log' undefined reference to `ErrorLo

    1熱度

    3回答

    我正在試圖讓遊戲進行中更模塊化。我希望能夠聲明遊戲中所有ro​​om_t對象的單個數組(room_t rooms []),並將其存儲在world.cpp中並從其他文件中調用它。 下面的截斷代碼不起作用,但它是我得到的。我想我需要使用extern,但一直沒能找到一個正確工作的方法。如果我嘗試在頭文件中聲明數組,我會得到一個重複的對象錯誤(因爲每個文件都會調用world.h,我會假設)。 的main.

    20熱度

    5回答

    這是一個後續問題an answer到Is it possible to typedef a pointer-to-extern-「C」-function type within a template? 此代碼失敗,g++編譯時,Visual C/C++,和科莫C/C++與基本上相同的錯誤消息: #include <cstdlib> extern "C" { static int do

    0熱度

    2回答

    我必須已經睡着了,因爲我看到奇怪的東西。 我有一個名爲ListSorter(.h/.m)的類,它有兩個extern方法。 的.H樣子: @interface ListSorter : NSObject { BOOL eersteKeer; Menu_Versie_DrieAppDelegate *appDelegate; } -(void)convertList; -(

    1熱度

    1回答

    我一直在試圖從外部文件導出程序至主組件程序,但沒有奏效。 下面是來自外部文件的測試代碼: ; Export procedure Summa format PE GUI 4.0 include 'win32a.inc' section '.code' code readable executable proc Summa Public Summa ret 2 endp ,並在

    0熱度

    2回答

    我全部, 我有一個win32應用程序和幾個必須使用全局變量的DLL。在每個DLL我把 extern MYTYPE* myvariable = NULL; ,並在主程序中我有 MYTYPE* myvariable = NULL; mavariable = new MYTYPE(); .... 現在,當DLL加載MYVARIABLE爲NULL,我不能使用它。我怎樣才能與所有的DLL共享主程

    8熱度

    2回答

    我有我已經在一些.h文件中聲明的枚舉:在一個單獨的.cpp typedef enum { NONE, ONE, TWO, THREE } MYENUM; 我不能做到這一點: extern enum MYENUM; //works extern MYENUM TWO; //makes sence, TWO is not an INSTANCE of M

    2熱度

    4回答

    extern alias dll1; extern alias dll2; ... public void DoStuff1(){ dll1::NameSpace.Class.Method(); } public void DoStuff2(){ dll2::NameSpace.Class.Method(); } 我想什麼,能夠做的是: public voi