【问题标题】:C++ about Intel PCM source code #ifndef INTELPCM_API #define INTELPCM_API #endifC++关于Intel PCM源代码#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 类的装饰,但我不明白这个和谷歌解决方案的关键字。

非常感谢!

可儿

【问题讨论】:

    标签: c++ class


    【解决方案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 时,它确实受到了影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2014-12-08
    • 1970-01-01
    • 2010-12-20
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多