C 标准库
Base.Libc.malloc
— 函数malloc(size::Integer) -> Ptr{Cvoid}
调用 C 标准库中的 malloc
。
Base.Libc.calloc
— 函数calloc(num::Integer, size::Integer) -> Ptr{Cvoid}
调用 C 标准库中的 calloc
。
Base.Libc.realloc
— 函数realloc(addr::Ptr, size::Integer) -> Ptr{Cvoid}
调用 C 标准库中的 realloc
。
Base.memcpy
— 函数memcpy(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}
调用 C 标准库中的 memcpy
。
对 memcpy
的支持需要至少 Julia 1.10。
Base.memmove
— 函数memmove(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}
调用 C 标准库中的 memmove
。
对 memmove
的支持需要至少 Julia 1.10。
Base.memset
— 函数memset(dst::Ptr, val, n::Integer) -> Ptr{Cvoid}
调用 C 标准库中的 memset
。
对 memset
的支持需要至少 Julia 1.10。
Base.memcmp
— 函数memcmp(a::Ptr, b::Ptr, n::Integer) -> Int
调用 C 标准库中的 memcmp
。
对 memcmp
的支持需要至少 Julia 1.9。
Base.Libc.free
— 函数free(addr::Ptr)
调用 C 标准库中的 free
。仅对从 malloc
获取的内存使用此函数,不要对从其他 C 库获取的指针使用此函数。 从 C 库获得的 Ptr
对象应由该库中定义的释放函数释放,以避免在系统上存在多个 libc
库时出现断言失败。
Base.Libc.errno
— 函数errno([code])
获取 C 库的 errno
值。如果指定了参数,则使用它来设置 errno
的值。
errno
的值仅在对设置它的 C 库例程进行 ccall
后立即有效。具体而言,您无法在 REPL 中的下一个提示符处调用 errno
,因为在提示符之间执行了大量代码。
Base.Libc.strerror
— 函数strerror(n=errno())
将系统调用错误代码转换为描述性字符串
Base.Libc.GetLastError
— 函数GetLastError()
调用 Win32 GetLastError
函数 [仅在 Windows 上可用]。
Base.Libc.FormatMessage
— 函数FormatMessage(n=GetLastError())
将 Win32 系统调用错误代码转换为描述性字符串 [仅在 Windows 上可用]。
Base.Libc.time
— 方法time(t::TmStruct) -> Float64
将 TmStruct
结构转换为自纪元以来的秒数。
Base.Libc.strftime
— 函数strftime([format], time)
使用给定的格式将时间(以自纪元以来的秒数或 TmStruct
表示)转换为格式化字符串。支持的格式与标准 C 库中的格式相同。
Base.Libc.strptime
— 函数strptime([format], timestr)
将格式化时间字符串解析为 TmStruct
,其中包含秒、分钟、小时、日期等。支持的格式与标准 C 库中的格式相同。在某些平台上,时区不会被正确解析。如果此函数的结果将传递给 time
以将其转换为自纪元以来的秒数,则应手动填充 isdst
字段。将其设置为 -1
将告诉 C 库使用当前系统设置来确定时区。
Base.Libc.TmStruct
— 类型TmStruct([seconds])
将自纪元以来的秒数转换为分解格式,其字段为 sec
、min
、hour
、mday
、month
、year
、wday
、yday
和 isdst
。
Base.Libc.flush_cstdio
— 函数flush_cstdio()
刷新 C stdout
和 stderr
流(可能已被外部 C 代码写入)。
Base.Libc.systemsleep
— 函数