这不是编程怀疑!
我打算为某些应用程序编写DLL.我有两个选择可供选择:C++或C#我应该用哪种语言编写DLL?
这会影响功能吗?
我是一个完全新手并且不知道C++和C#(但是C#中的一些小程序).
在C++或C#中编写DLL的优点和缺点是什么?
非常感谢您的宝贵时间!
此致,Swanand!
DLL最好用C编写:)
让我解释:
DLL的概念是在没有今天的C++的情况下创建的.它是为C创建的.您可以使用C++编写DLL,但是您只能从使用与DLL相同编译器的相同版本编写的应用程序中轻松使用它们.从C++开始,可以在.NET中使用AC DLL(是的,我知道,技术上它可以,但是臀部很痛).
如果你使用C#(或任何其他.NET语言)创建DLL,那么它是一个完全不同的东西 - 它不是一个Windows DLL,它只是一个没有入口点(Main)的.Net程序集,所以它可以在其他.NET中使用程序集通过引用DLL.
总结一下:
如果你需要使用.NET语言的DLL - 用C#编写它,它不会是一个windows dll,只是一个程序集.非常好用.
如果您需要仅使用来自C++的DLL,而只使用来自同一编译器编写的应用程序,请使用C++编写.不便携,易于使用.
如果要创建可以在.NET,C,C++和编译器中使用的通用库,请使用标记为extern"C"且具有类似C的参数的C或C++独立函数,如指针和POD的.
HTH
这取决于您的目标应用程序.如果您正在编写Win32应用程序,那么C++可能是明智的选择.如果您在.NET中开发可重用的库,请选择C#.