【问题标题】:libc dll file is missing on windows 10Windows 10 上缺少 libc dll 文件
【发布时间】:2023-01-14 08:51:49
【问题描述】:

我正在尝试在 vscode 中运行此代码以完成一项学校任务,但我一直收到缺少文件“libc.dll”的错误消息我对此文件有些困惑,因为我是新手并且不确定在哪里寻找这个文件... 有人可以向我解释此错误的实际含义以及为什么我找不到该文件吗?

from ctypes import *

libc = CDLL("libc.dll")

libc.printf("hello everybody\n".encode('ascii'))

我得到的错误:

回溯(最后一次通话): 文件“c:\Users\User\Desktop\2-3.py”,第 3 行,位于 libc = CDLL("libc.dll")

文件“C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\ctypes_在里面_.py”,第 376 行,在在里面self._handle = _dlopen(self._name, 模式)

FileNotFoundError:找不到模块“libc.dll”(或其依赖项之一)。尝试使用带有构造函数语法的完整路径。

【问题讨论】:

  • rtfm了吗?
  • 好吧,你就是那个试图使用文件 libc.dll 的人。您要使用的文件在哪里?

标签: python c windows dll libc


【解决方案1】:

[GNU]: The GNU C Library (glibc)(如果这是你的库文件指)状态(重点是我的):

GNU C 库项目提供了核心库适用于 GNU 系统和 GNU/Linux 系统,以及许多其他使用 Linux 作为内核的系统。

所以,是其一部分尼克斯世界(哪个不在)。

多发性硬化症相当于阴极射线管(也称为VCRT,MSVCRT,UCRT, ...: [MS.Learn]: Microsoft C runtime library (CRT) reference)。
根据[Python.docs]: ctypes - Loading dynamic link libraries一定要阅读注释):

以下是 Windows 的一些示例。请注意,msvcrt 是包含大多数标准 C 函数的 MS 标准 C 库,并使用 cdecl 调用约定。

例子:

>>> import ctypes as cts
>>> import sys
>>>
>>> sys.version
'3.10.9 (tags/v3.10.9:1dd9be6, Dec  6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)]'
>>>
>>>
>>> crt = cts.CDLL("msvcrt")
>>>
>>> crt.printf
<_FuncPtr object at 0x0000019AE5A48040>

您还应该检查:

注意:我也试过(前一段时间)你的代码尼克斯模拟器(系统2,Cygwin) 但他们没有工作。唯一可以肯定的是世界超级联赛2([MS.Learn]: Install Linux on Windows with WSL),因为它有正品Linux内核,但我不确定这是否与您相关。

猜你喜欢
  • 2021-07-09
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
  • 2013-06-15
  • 2021-11-04
  • 2022-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多