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