2015-04-06 272 views
2

$$在下面的语句中是什么语义?

extern UINT32 Load$$ER_RAM_RO$$Base;

有其中使用由包含该定义的连接体,如下所示的XML文件:

<GlobalVariable Name="Image$$ER_RAM_RO$$Base" Value="ADDR(STACK_TOP) + 8"/>

回答

5

这是一个识别符的字符,就像字母数字字符和下划线。在标识符中允许$对于C和C++是a GNU extension。您可以使用-fdollars-in-identifiers标志明确启用它。在这里它似乎用于命名约定,其中$$分隔命名空间组件。

+1

<>您可以使用-fdollars-in-identifiers标志明确地启用它不是在这个例子中,但是有可能通过让链接器读取XML文件中的值来填充该部分(ER_RAM_RO),例如? – Sarvavyapi