【问题标题】:Don't know how to load and use dll file in C不知道如何在 C 中加载和使用 dll 文件
【发布时间】:2016-07-12 18:57:37
【问题描述】:

我找不到太多关于在 C 程序中加载 DLL 文件的教程,但在我发现的教程中,他们说我不应该使用 c(最好使用 c++)。为什么? 我正在使用 Geany 和 c 在 Windows 7 64 位上工作,并且我有一个其他人编写的 dll 文件,我需要使用其中定义的函数。那么您能否以最简单的方式解释我如何做到这一点或推荐一个教程。

谢谢。 附言。我是新手,所以要温柔

【问题讨论】:

  • 使用 LoadLibrary 和 GetProcAddress
  • 与往常一样,C++ 是否比 C 更好是一个有争议的问题。 :-)
  • 我的问题更多是在加载 DLL 文件时哪个更好,因为我找到了很多教程如何在 c++ 中执行此操作,只有一个关于如何在 c 中执行此操作,我说不要t 使用 C。

标签: c windows dll load


【解决方案1】:

为了使您的程序使用 DLL 文件,您必须指示编译器将该库包含在您的项目中。通常,该库由一个.lib 文件(用于链接到您的.exe)、一个.dll 文件(用于动态链接代码)和一个包含大量.h 文件的include 文件夹组成。您不能单独使用 .dll 文件,您必须拥有头文件和 lib 文件。

首先,您必须将 libinclude 文件夹分别添加到库和包含目录中,我不知道在您使用的确切 IDE 中这是如何完成的,但通常您可以做到从项目的属性页面。

然后,您必须将库的名称(不包括扩展名)添加到项目的“库”属性中。

第三,对于要在程序中使用的所有库组件,您必须在 .c 文件的顶部#include "header.h"

然后,您应该能够简单地编译,并将 dll 文件移动到与您的程序相同的文件夹中,如果星星对齐,您应该没问题。

请注意,某些库可以静态链接到您的程序中,这意味着通常包含在 .dll 文件中的代码将直接编译到您的可执行文件中。


C++ 比 C 更好,因为它是 C,但具有更多功能,例如,使用字符串的内置功能就是其中之一。另一个是拥有更好的 OOP(面向对象编程)。 帮自己一个忙,远离在线教程,四处寻找适合您选择的语言的一般推荐书籍,然后从头到尾阅读。

一般来说,除非你有充分的理由不使用 C++,否则你应该使用它。

我建议要么迁移到 Windows 上的 Visual Studio Community,或者更好的是,切换到 Linux 进行编码并学习如何使用 autoconf,你的大脑会感谢你的。

【讨论】:

  • 感谢您的回答,现在很清楚了。还有一个问题,我的文件中是否还需要某种代码,例如 LoadLibrary 和 GetProcAddress?
  • @DSDS 这取决于,如果库不自动加载 DLL 文件,那么您将不得不使用 LoadLibrary 自己加载它。检查特定库的文档以获取任何额外信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2012-02-23
  • 2012-07-06
  • 1970-01-01
相关资源
最近更新 更多