C++关于Intel PCM源代码#ifndef INTELPCM_API #define INTELPCM_API #endif
Posted
技术标签:
【中文标题】C++关于Intel PCM源代码#ifndef INTELPCM_API #define INTELPCM_API #endif【英文标题】:C++ about Intel PCM source code #ifndef INTELPCM_API #define INTELPCM_API #endif 【发布时间】:2015-05-10 06:26:50 【问题描述】:我正在阅读 IntlePCM 源代码。 在 cpucounters.h 中,我对这些陈述感到困惑。
#ifndef INTELPCM_API
#define INTELPCM_API
#endif
class INTELPCM_API PCM
...
INTELPCM_API 的作用是什么? 它似乎是 PCM 类的装饰,但我不明白这个和谷歌解决方案的关键字。
非常感谢!
可儿
【问题讨论】:
【参考方案1】:您可以尝试查看用于构建它的 Makefile。在编译命令行上定义该符号的值将具有在关键字“class”和“PCM”之间“剪切和粘贴”该值的效果。如果您要找到一些实际价值,那么它可能会为他们试图完成的工作提供一些线索。
作为通过 Makefile 的替代方法,您可以告诉编译器在预处理后(编译前)停止。以 gcc 为例,这是通过 -E 标志完成的,尝试:
gcc -E cpucounters.h > somefile.txt
somefile.txt 的内容将包含 C 代码,但在预处理器完成其魔法之后。这将显示实际传递给编译器的内容,并且可能更容易解码。
【讨论】:
谢谢,@BarryGackle 我试过了:class INTELPCM_API PCM
->class PCM
。似乎 INTELPCM_API 实际上没有任何意义......但是当我尝试使用 boost.python 公开类 PCM 时,它确实受到了影响。以上是关于C++关于Intel PCM源代码#ifndef INTELPCM_API #define INTELPCM_API #endif的主要内容,如果未能解决你的问题,请参考以下文章