Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于创建DLL的编程语言:C++;或C#_C#_C++_Dll - Fatal编程技术网

用于创建DLL的编程语言:C++;或C#

用于创建DLL的编程语言:C++;或C#,c#,c++,dll,C#,C++,Dll,这不是一个编程问题 我将为一些应用程序编写一个DLL。 我有两个选项可以选择:C++或C语言,我应该用哪种语言编写DLL? 这会影响功能吗 我是一个完全新手,不知道C++和C语言(但是C语言中的一些小程序)。 < C++或C>/p>中编写DLL的利弊是什么? 非常感谢您抽出时间 问候,, 斯瓦南德 这将取决于您的目标应用程序。如果你正在编写Win32应用程序,那么C++可能是明智的选择。如果您正在.NET中开发可重用库,请选择C# > P>当你说C++是指标准C++还是“托管”版本?< /P>

这不是一个编程问题

我将为一些应用程序编写一个DLL。 我有两个选项可以选择:C++或C语言,我应该用哪种语言编写DLL? 这会影响功能吗

我是一个完全新手,不知道C++和C语言(但是C语言中的一些小程序)。 < C++或C>/p>中编写DLL的利弊是什么? 非常感谢您抽出时间

问候,,
斯瓦南德

这将取决于您的目标应用程序。如果你正在编写Win32应用程序,那么C++可能是明智的选择。如果您正在.NET中开发可重用库,请选择C#

> P>当你说C++是指标准C++还是“托管”版本?< /P>

如果你是指后者,那么你就不会比C语言写的更糟了,因为管理C++是一种替代.NET语言,实际上我认为你有更多的可用功能,虽然它不是像C ^那样写的简单语言。

如果你是指管理C++,利弊不必改变库。但是对于编码来说,易用性和可用库很重要。 既然你说你是菜鸟,我建议你去c#。这要容易得多,而且你在网上有很多资料来源。 但是如果您计划使用一些本地代码,需要CLR支持,那么C++是唯一的选择。p>


祝你好运

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++,而不使用编译器,则使用C或C++独立的函数标记为Extn“C”,并具有C类参数,如指针和POD的


    HTH

    投票以主观和辩论的方式结束。谢谢大家。。。。所以,我的标题是C#way…告诉我们您的DLL的用途…非常感谢您的建议@好的,我猜,既然OP是DLL的新版本,他可能不知道COM是什么:)DLL通常最好用C接口编写,但通常更容易用标准C++写在下面。