我已經構建了一個靜態庫,以便在我的iPhone應用程序中進行鏈接。這個庫使用了一些全局變量和函數,就像在C.我的問題是,例如使用時: extern
void do_stuff (const int a)
{
return a*a;
}
extern const int a_variable;
extern const int an_array[DEFINED_VALUE];
我有2個cpp文件&一個頭文件,我已經包含在這兩個cpp文件中。它是這樣的: abc.h extern uint32_t key;
a.cpp #include "abc.h"
uint32_t key;
int main
{
.............
}
b.cpp #include "abc.h"
int main
{
printf("Key: %.8x\n", k
我在我的pro * C程序中有這些行。函數initAverage(int i)是用C語言定義的,我試圖在.pcc(Pro C++)文件中調用這個函數。 我得到一個錯誤 Error: initAverage(int i);was declared before with a different language
extern "C"
{
int initAverage(int i);
}
這是我關於堆棧溢出的第一個問題,所以要溫和。 讓我先解釋我想看到的確切行爲。如果你熟悉C#,那麼你知道將變量聲明爲「只讀」允許程序員爲該變量賦值一次。進一步嘗試修改該變量將導致錯誤。 我在做什麼之後:我想確保我定義的任何和所有單級類都可以在我的程序中準確實例化一次(更多細節在底部)。 我要實現我的目標的方法是使用的extern聲明一個全局參考單噸(我將在同一時間我選擇以後實例。我有幾分像這樣, n