我想知道在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