extern

    1熱度

    2回答

    我的程序編譯時出現任何錯誤,但它不起作用(分段錯誤)。什麼是錯誤? A.H extern int k; extern int j; char funk(char *str[], int i); 變交流 #include "a.h" int k=0; int j=0; char funk(char *str[], int i) { if (str[k][j] == '\0'

    0熱度

    1回答

    我已經被委託編寫一個新的接口到一個傳統的C++ DLL我沒有源代碼,這是 - 由於我以外的原因 - 訪問遺留下的全局類直接應用。 從應用程序,它是這樣的: extern Interface *App; ... Interface App*; // A pointer to our interface class. 然後,從傳統的DLL: if(App->GetStatus()) ret

    6熱度

    2回答

    我試圖找到所有放置#include的地方externC block。是否可以使用預處理器來檢查?我願做這樣的事情添加到我的頭文件: #ifdef EXTERN_C_IS_IN_EFFECT #error File included from extern "C" block! #endif 我也在尋找其他的方式失敗在這種情況下,例如編譯使用一些特殊的屬性。我正在使用gcc 4.4.7。 我

    2熱度

    2回答

    是否還需要使用Cpp文件中使用的全局變量與c文件中定義的全局變量所需的外部「C」? 它用於鏈接C++文件中引用的函數,因爲C++文件中函數名稱的名稱會被修改。 C編譯器是否也更改變量的名稱?

    2熱度

    3回答

    我有一個非常複雜的概念,當我編譯許多文件時會發生什麼 - 主要涉及到從一個文件到另一個文件的可見性。從我讀的內容來看,static將變量或函數的範圍限制在文件本身。 extern則相反。從那以後,我希望能夠從任何文件中簡單閱讀global extern。儘管如此,這在實踐中並不奏效。 的main.c: #include <stdio.h> int main(void){ printf

    1熱度

    2回答

    嗨StackOverflow的巫師使用的extern變量: 我有以下三個簡單的C文件: // File 1 #include "mainPgm.h" void file1() { printf("N1 is now %d.\n", n1); } // File 2 #include "mainPgm.h" void file2() { printf("N

    0熱度

    1回答

    在我的代碼中我有一個extern變量(test.h) - extern int tmp; - 聲明,我也有兩個實現文件,用於linux:test_linux.c和test_windows.c。在那裏,我有一個定義(int tmp = 0;),均在test_linux.c和test_windows.c之間。當然,我在這兩個文件檢查:#ifdef __WIN__ ......和#ifdef __LIN

    0熱度

    2回答

    我有一些常量變量,我想成爲全局變量,其中一些變量只能在定義的文件中可用。所以我使用extern和static關鍵字,像這樣: extern const int kMaxHealth = 100; static NSString * const kName = @"Name"; 這只是一個例子,而那些在不同的文件中定義的,所以這不是一個真實的情況...... 但是,什麼是當沒有修飾符被定義變量

    0熱度

    1回答

    考慮下面的現有代碼(編譯和執行如預期): /* File foo.h */ extern const struct Foo bar[]; /* Definition in foo.cpp */ struct Foo { Foo(int i) : Foo(bar[i]) {} int x; }; 我現在想換Foo到模板類,使得: template <typenam

    0熱度

    2回答

    我對命名空間C++中的extern變量有疑問。這裏是CBVR類 namespace parameters { class CBVR { private: std::string database; public: CBVR(void); void initialize(const std::string &fileName); static