我想导入一些C代码但覆盖其main()
函数。我可以通过在C代码的主声明前加上__attribute__((weak))
来在Unix中执行此操作,但是,这不会在Windows中编译,因为Strawberry Perl的GCC和MinGW的GCC都不会识别__attribute__((weak))
。
在线阅读文档,__declspec
似乎功能相似。是否有__declspec
等同于Unix GCC的__attribute__((weak))
宏?
这是我发布的earlier问题的更具体版本。
答案 0 :(得分:1)
如果您愿意使用MSVC的另一种方式,我认为会起作用。
/* * pWeakValue MUST be an extern const variable, which will be aliased to * pDefaultWeakValue if no real user definition is present, thanks to the * alternatename directive. */ extern const char * pWeakValue; extern const char * pDefaultWeakValue = NULL; #pragma comment(linker, "/alternatename:_pWeakValue=_pDefaultWeakValue")
有关其他选项,请参阅this old SO answer。
答案 1 :(得分:0)
还有__declspec(selectany)