这不是编程问题!
我要为某个应用程序编写一个 DLL。 我有两个选项可供选择:C++ 或 C# 我应该用哪种语言编写 DLL?
这会影响功能吗?
我是一个完全的新手,不知道 C++ 和 C#(但 C# 中的一些小程序)。
用 C++ 或 C# 编写 DLL 的优缺点是什么?
非常感谢您的宝贵时间!
问候, 斯瓦南德!
最佳答案
DLL 最好用 C 编写:)
让我解释一下:
DLL 是在 C++ 进入主流使用之前构思出来的。它们是为 C 语言创建的。您可以使用 C++ 编写 DLL,但您只能从使用与 DLL 相同版本的相同编译器编写的应用程序中轻松使用它们。 C DLL 可以从 .NET 中使用,这与 C++ 不同(是的,我知道,从技术上讲它可以,但它是一种臀部疼痛)。
如果您使用 C#(或任何其他 .NET 语言)创建 DLL,则完全是另一回事 - 它不是 Windows DLL,它只是一个没有入口点 (Main) 的 .Net 程序集,因此可以从通过引用 DLL 的其他 .NET 程序集。
总结:
如果您需要使用 .NET 语言的 DLL - 用 C# 编写,它不会是 Windows dll,只是一个程序集。非常易于使用。
如果您需要仅从 C++ 中使用您的 DLL,并且仅从由同一编译器编写的应用程序中使用,请使用 C++ 编写。不便携,易于使用。
如果您想创建一个可从 .NET、C、C++ 使用且无论编译器如何的通用库,请使用标记为 extern "C"并具有 C- 的 C 或 C++ 独立函数比如参数,比如指针和 POD。
HTH
关于c# - 用于创建 DLL : C++ or C# 的编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3921541/