我想知道在linux中是否有__attribute__((selectany))
的替代方案?gcc __attribute __((selectany))for linux的替代方案?
我想定義類似的東西:
char * a[] = { "qwe", "zxc" };
在頭文件
並將其包含在其中會被連接在一起的許多.c文件。 所以鏈接器將看到多個「a」的定義,因此不會鏈接。我讀過這個屬性(selectany),它只使用第一個看到的「a」的定義,不幸的是它只適用於ms窗口。 所以問題是:在linux中是否有其他方法?
編輯:實際的問題是:有沒有辦法指示鏈接器只使用第一個看到的定義,並忽略其他任何其他可能即使它們不同? 我知道有很多方法來定義我的數據,我不是在尋找如何定義我的數據的解決方案,而是我想知道是否有一種方法可以有多個定義,並使鏈接器與第一次看到的工作...
這很有趣,你可以分享你想要最終完成的事情嗎?我明白這個問題,讀完後我只是好奇而已。 – 2011-01-28 11:12:26
我有一些類型的枚舉(例如:STRING,INTEGER,FLOAT等)。因爲你知道類型的值是整數...我需要一個類型的字符串表示,所以這裏來了char * type_names [] = {[STRING] =「string」,...},但正如你可以想象的,我需要在頭文件中的枚舉器附近的定義,所以我把它定義爲靜態const char * [],其周圍有#ifdef INCLUDE_TYPE_NAMES,但是我很好奇如果有一種方法可以在所描述的(在問題中)的方式。 – 0xAF 2011-01-31 10:04:09