gpt4 book ai didi

winapi - 从 Julia 调用 Win32 函数

转载 作者:行者123 更新时间:2023-12-04 00:26:12 25 4
gpt4 key购买 nike

我想使用 ccall 从 julia 调用文件 I/O 函数(即 CreateFile、WriteFile 等)。

我是否必须在 ccall 中指定一个库名称作为参数才能从 win32 api 调用任何函数?如果是,如何确定对应的dll的名称?

最佳答案

是的,您确实需要提供库名称。 ccall 的第一个参数是 (:function, "library") 形式的元组。因此,如果您调用 GetTickCount,它将是 (:GetTickCount, "kernel32")

您还需要指定调用约定、返回值类型和参数类型。在 GetTickCount 的情况下,它将是:

tickCount = ccall( (:GetTickCount, "kernel32"), stdcall, UInt32, () )

要了解调用约定、返回值类型和参数类型,请在 MSDN 上查找该函数。例如,GetTickCount 在这里:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408.aspx .请注意,在页面的最底部是一个表格,其中包含导出函数的库的名称。在本例中,kernel32

此处详细介绍了所有内容:http://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/

关于winapi - 从 Julia 调用 Win32 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30555994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com