#pragma AVRT_CODE_BEGIN - 这是什么意思?

时间:2012-04-17 09:46:00

标签: c++ visual-studio visual-c++

我保留了一些代码,有如下行:

#pragma AVRT_CODE_BEGIN   
//some code
#pragma AVRT_CODE_END

我无法理解他们,
我用Google搜索了,但除了代码示例之外什么都没得到:Click me
你知道AVRT_CODE_BEGIN和AVRT_CODE_END是什么意思吗?
请告诉我。非常感谢。

1 个答案:

答案 0 :(得分:0)

有一些编译器指令可以将代码发送到特定的链接器段,而不是默认的链接器段,用于使用AVRT库进行音频处理。它似乎是Microsoft的内部功能。这些段可能存在优化或安全性。我发现这个头文件显示了含义:

-numberWithInteger:

// These are copied out of the old AvRt.h file.
#define AVRT_CODE_BEGIN   code_seg( push, "RT_CODE" )
#define AVRT_DATA_BEGIN   data_seg( push, "RT_DATA" )
#define AVRT_BSS_BEGIN    bss_seg( push, "RT_BSS" )
#define AVRT_CONST_BEGIN  const_seg( push, "RT_CONST" )
#define AVRT_VTABLES_BEGIN AVRT_CONST_BEGIN
#define AVRT_CODE_END   code_seg( pop )
#define AVRT_DATA_END   data_seg( pop )
#define AVRT_BSS_END    bss_seg( pop )
#define AVRT_CONST_END  const_seg( pop )
#define AVRT_VTABLES_END AVRT_CONST_END
#define AVRT_DATA __declspec(allocate("RT_DATA"))
#define AVRT_BSS __declspec(allocate("RT_BSS"))
#define AVRT_CONST __declspec(allocate("RT_CONST"))