【问题标题】:Purpose of #pragma comment(user) in Visual and #pragma Comment in gccVisual中#pragma comment(user)和gcc中#pragma Comment的目的
【发布时间】:2014-08-29 17:59:19
【问题描述】:

Visual c++ 和 gcc 都有这些指令,它们定义为“用于向可执行文件添加注释”。这样做的具体目的是什么?似乎这些 cmets 会以二进制形式嵌入某处,并且无法在可执行文件中找到。它们是否可以以任何方式检索或有用?

【问题讨论】:

标签: c++ visual-c++ gcc


【解决方案1】:

您似乎误读了此#pragma 的描述。微软的文档说:

在目标文件中放置一般注释。 cmetstring 参数包含注释的文本。链接器会忽略此评论记录。

至少根据这个文档,看起来(因为链接器忽略了记录)这样的注释只会将字符串嵌入到目标文件中,而不是可执行文件中。

显而易见的目的是将版权字符串之类的内容嵌入到作为库提供的目标文件中,供开发人员使用。此类库通常获得许可,允许开发人员将库中的目标文件链接到可执行文件中,但自己重新分发目标文件。

在这种情况下,如果开发人员将目标文件链接到可执行文件,则版权声明将消失(如果许可证需要,则由开发人员提供归属),但如果他们重新- 分发目标文件,原始版权声明将保持不变,或多或少像数字水印。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 2022-06-11
    相关资源
    最近更新 更多