由买买提看人间百态

topics

全部话题 - 话题: declspec
(共0页)
c***k
发帖数: 1589
1
来自主题: Programming版 - C pre-compiling 如何用macro替换括号?
早知道把问题说明白就好了
VC有个compiler extension:declspec(selectany)
declspec就是一个声明之类的东西,括号里面可以是各种东西
gcc没这个,但有一个类似的
__attribute__((weak))
因为有太多这样的东西了 (> 10000),所以我需要一个macro
#define declspec(selectany) __attribute__((weak))
但这样是不行的,因为macro里,括号表示argument
这样所有的declspec(阿猫阿狗)都会被替换了
X****r
发帖数: 3557
2
来自主题: Programming版 - C pre-compiling 如何用macro替换括号?
你其它那些阿猫阿狗准备怎么办?
要是阿猫阿狗的种类不多的话,你可以这么办:
#define declspec(x) declspec_##x
#define declspec_selectany __attribute__((weak))
#define declspec_dllimport declspec(dllimport)
#define declspec_dllexport declspec(dllexport)
其它阿猫阿狗同理。
不过你真的想要declspec(阿猫阿狗)维持原样?不是__declspec(阿猫阿狗)?
s******n
发帖数: 21
3
来自主题: Programming版 - C#程序调用Windows C++ DLL的问题
Not quite understand your question... I was talking aout calling into
unmanaged(native) dlls from managed applications (.NET). I believe __
declspec( dllimport ) is a native C++ only attribute.
k**********g
发帖数: 989
4
要記住這些是關鍵詞,在工作上遇到時再翻書。類似的還有declspec, align, va_arg,
__VA_ARGS__, stringify macro等。
k**********g
发帖数: 989
5
要記住這些是關鍵詞,在工作上遇到時再翻書。類似的還有declspec, align, va_arg,
__VA_ARGS__, stringify macro等。
(共0页)