2014-07-23 70 views
0

我有一个函数指针的声明如下:什么是clang equivaivalent这个声明的函数指针__stdcall?

extern long (__stdcall *FooPtr)(int* i); 

也就是说,一个指向功能的函数指针与stdcall调用(在VS术语)被调用。

如何翻译此声明以便铿锵理解?

+0

'__attribute __((stdcall))'也许? – deviantfan

+1

你试过Google搜寻'clang stdcall'吗?答案就在结果页面上,你甚至不需要点击任何结果。 – Mehrdad

+0

我也看到了,但由于标题它并不完全似乎是重复的。我们应该做些什么吗? –

回答

1
__attribute__((stdcall)) 

是正确答案:clang支持the following list of attributes,其语法与gcc的非常相似。

例如

#if defined(__clang__) || defined(__GNUC__) 
    #define stdCallConv __attribute__ ((stdcall)) 
#else 
    ...