如何使用dll';s

如何使用dll';s,dll,Dll,所以我有一个dll文件(在.Net framework中编码),我想知道其中的所有内容并使用它。但是我不知道dll文件,我的意思是我知道它们是某种类型的库,但是有人能解释一下它是如何工作的吗?我如何知道dll包含哪些函数并运行它们?请特别说明,因为我对dll完全不了解。我建议您退后一步,学习一些.Net教程 如果它确实是一个.NETDLL,那么您可以看到它在VisualStudio中导出了哪些函数(有一个免费版本)但是,如果你不知道DLL中有什么,你只有DLL文件,那对你的用处将非常有限,因为知

所以我有一个dll文件(在.Net framework中编码),我想知道其中的所有内容并使用它。但是我不知道dll文件,我的意思是我知道它们是某种类型的库,但是有人能解释一下它是如何工作的吗?我如何知道dll包含哪些函数并运行它们?请特别说明,因为我对dll完全不了解。

我建议您退后一步,学习一些.Net教程

如果它确实是一个.NETDLL,那么您可以看到它在VisualStudio中导出了哪些函数(有一个免费版本)但是,如果你不知道DLL中有什么,你只有DLL文件,那对你的用处将非常有限,因为知道函数是什么并不能告诉你它们应该如何使用;为此,您需要DLL附带的文档

尽管如此:

  • 运行VisualStudio

  • 创建一个新项目(可能与什么类型无关,可能是Windows窗体项目)

  • 在解决方案资源管理器中,右键单击“引用”,选择“浏览”,然后浏览到DLL


  • 现在,您可以在对象浏览器中看到它提供了哪些功能。

    我建议您后退一步,学习一些.Net教程

    如果它确实是一个.NETDLL,那么您可以看到它在VisualStudio中导出了哪些函数(有一个免费版本)但是,如果你不知道DLL中有什么,你只有DLL文件,那对你的用处将非常有限,因为知道函数是什么并不能告诉你它们应该如何使用;为此,您需要DLL附带的文档

    尽管如此:

  • 运行VisualStudio

  • 创建一个新项目(可能与什么类型无关,可能是Windows窗体项目)

  • 在解决方案资源管理器中,右键单击“引用”,选择“浏览”,然后浏览到DLL


  • 现在,您可以在对象浏览器中看到它提供了哪些函数。

    本机dll和托管dll(根据.NET编译)之间存在差异。如果您有一个为.NET framework编写的dll,那么您可以使用反编译器工具深入研究该库


    是一个免费的开源.NET反编译器。它甚至可以为您创建项目文件!试试看。

    本机dll和托管dll(根据.NET编译)之间存在差异。如果您有一个为.NET framework编写的dll,那么您可以使用反编译器工具深入研究该库


    是一个免费的开源.NET反编译器。它甚至可以为您创建项目文件!试试看。

    如果要创建自己的dll文件,则需要在Visual Studio中创建类库应用程序。类库程序包含类,它们内部没有主函数。所以它从不创建.exe,而是在编写代码后编译后创建.dll文件

    然后,您可以通过执行以下操作将新创建的.dll文件添加到其他应用程序中:

    在解决方案资源管理器中,右键单击“引用”,选择“浏览”,然后浏览到新创建的dll”。一旦它被添加到引用列表中,您就可以通过“使用”语句转到您的编码并添加该名称空间(用于.dll的名称空间),并且您可以访问该名称空间中可用的所有类


    希望这能给大家一个共识。如果您不清楚,请发表评论,我们将使您更清楚地理解。

    如果您想创建自己的dll文件,则需要在Visual Studio中创建类库应用程序。类库程序包含类,它们内部没有主函数。所以它从不创建.exe,而是在编写代码后编译后创建.dll文件

    然后,您可以通过执行以下操作将新创建的.dll文件添加到其他应用程序中:

    在解决方案资源管理器中,右键单击“引用”,选择“浏览”,然后浏览到新创建的dll”。一旦它被添加到引用列表中,您就可以通过“使用”语句转到您的编码并添加该名称空间(用于.dll的名称空间),并且您可以访问该名称空间中可用的所有类

    希望这能给大家一个共识。如果您不清楚,请给出注释,我们将使您更清楚地理解。

    < P>在C、C++的世界中(一般地,“原生”代码)DLL包含编译代码——但是它们包含关于代码本身的<强>几乎没有信息>强>。您可以使用类似的工具查看存在的内容。 每个DLL都包含一个“导出表”,它是其中可调用函数的列表。但是,它不包含关于如何调用这些函数的任何信息——这些信息通常包含在“头”文件中(
    .h
    .hpp
    .hxx
    ,等等);这些文件告诉您可以调用哪些函数

    函数头告诉您如何调用某些函数(基于它们的名称),但它们不会告诉您哪些DLL包含它们。编译代码时,“链接器”会查找一个
    .lib
    文件,该文件包含每个函数的名称及其所在的DLL,并将程序中的这两个文件匹配起来,以使可执行文件正常工作

    所有这些都改变了C#和.NET的世界。在那里,DLL拥有关于自身的完整信息,因此调用DLL中的函数只需要DLL本身。它们的格式稍有不同,您需要(可能已经在您的计算机上)之类的工具来查看其中的信息。VisualStudio的对象浏览器也可以这样做。在C、C++世界中(一般来说,“原生”代码))DLL包含编译代码——但是它们包含关于代码本身的<强>几乎没有信息>强>。您可以使用类似的工具查看存在的内容。 每个DLL都包含一个“导出表”,它是其中可调用函数的列表。然而,它并不包含