【问题标题】:What are underscored symbols in a VB DLL?VB DLL 中的下划线符号是什么?
【发布时间】:2010-09-18 23:34:46
【问题描述】:

我在 VS2005 中有一个 C++ 应用程序并导入一个 VB DLL。 IntelliSense 按预期向我显示了 DLL 中的所有符号,但它也再次显示所有(或几乎所有)符号,并带有下划线前缀(尽管其中没有 @s)。为什么是这样?下划线项目与普通项目有什么区别?

【问题讨论】:

    标签: c++ dll com vb6


    【解决方案1】:

    在(某些)c# 编码标准中,下划线前缀表示私有变量,这可以解释它...是 VB 还是 VB.Net?

    【讨论】:

    • 老派 VB,不是 vb.net。我不认为这是一个约定,因为它们在原始 VB 中看起来并不是这样写的。
    【解决方案2】:

    符号是属性吗?如果是这样,这些可能只是支持属性的私有变量。

    【讨论】:

    • 所有符号:结构体、变量等
    【解决方案3】:

    假设您使用的是 VB6,前导下划线版本 _Klass 是 Vb 为类 Klass 生成的默认接口。这个网站有一个很好的解释: http://www.15seconds.com/issue/040721.htm

    【讨论】:

      【解决方案4】:

      查看这篇关于 Name Mangling 的 wiki 文章以深入了解:

      http://en.wikipedia.org/wiki/Name_mangling

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-16
        • 2015-03-02
        • 1970-01-01
        • 2013-09-16
        • 2010-10-08
        • 1970-01-01
        • 1970-01-01
        • 2017-11-27
        相关资源
        最近更新 更多