【发布时间】:2023-04-04 02:45:02
【问题描述】:
我用 C# 开发了一个处理 TCP/IP 连接的应用程序,在运行了一些诊断程序之后,我得出结论认为编译和运行时可以改进。我决定用 C++ 重写整个程序,因为它在 Lunix 环境中运行也更流畅。
有没有办法在 C++ 中使用 C# 库,例如 Sockets、Net 和 Net.IPAddress?
我对此做了一些研究,发现我可以通过以下方式在 C++ 中调用这些库:#using (shevron)System.dll> 但我很犹豫是否会在 Lunix 环境中导致开销和问题。
【问题讨论】:
-
如果您担心代码的可移植性(到 Linux)和性能,您需要用 C++ 重写代码。在 C++ 中使用相同的旧 C# 代码和一些额外的库将无济于事。此外,仅用 C++ 编写代码不会自动使其跨平台
-
“Lunix”?你的意思是“Linux”吗? Microsoft 的 C++ 语言扩展 C++/CLI 是为 .Net 互操作性而设计的,但很确定这不适用于单声道 Does Mono .NET support and compile C++ / CLI?
-
您不必担心“开销和问题”,您的程序永远不会在 Linux 或任何其他 Unix 风格上运行。这种 C++ 互操作风格仅在 Windows 上可用。
-
#using 指令是 C++/CLI 功能。
标签: c# c++ sockets tcp libraries