【发布时间】:2008-10-13 00:30:28
【问题描述】:
我听说你可以在 C# 代码中直接下拉到 C++。 这是怎么做到的?还是我听错了?
注意:我不是指 C++/CLI。
【问题讨论】:
我听说你可以在 C# 代码中直接下拉到 C++。 这是怎么做到的?还是我听错了?
注意:我不是指 C++/CLI。
【问题讨论】:
您可能会想到unsafe blocks,在那里您可以编写看起来很像 C++ 的代码,因为您可以使用指针。
【讨论】:
你听错了。
【讨论】:
您可以从 C 下拉到汇编,因为 C 是指令集半不可知论的汇编。
您可以从 C++ 降级到 C,因为 C++ 是 C 加上其他一些使其丑陋或美得可怕的东西,这取决于您的观点。
你不能从 C# 降到 C++,因为它们是完全不同的东西。除了花括号和分号语法之外,它们之间没有直接关系。 C# 不是 C++ 的超集,也不是它的子集,也不是它的兄弟(但可能是第二个表亲)。
也就是说,C# 提供了在所有抽象级别与外部代码交互的工具,从 Platform-Invoke(调用用 C 编写的函数)到 COM 再到各种其他类型。但 C# 本身与这些东西没有直接关系。
【讨论】:
您为什么需要这样做?您可以引用本机 C 库,但我非常怀疑您是否可以在托管代码中运行本机代码。
【讨论】:
您可以通过 .NET 轻松地与 COM 对象交互。
【讨论】: