Библиотека стандартных функций C
Base.Libc.mallocФункция
malloc(size::Integer) -> Ptr{Cvoid}
Вызов функции malloc из стандартной библиотеки C.
Base.Libc.callocФункция
calloc(num::Integer, size::Integer) -> Ptr{Cvoid}
Вызов функции calloc из стандартной библиотеки C.
Base.Libc.reallocФункция
realloc(addr::Ptr, size::Integer) -> Ptr{Cvoid}
Вызов функции realloc из стандартной библиотеки C.
См. предупреждение в документации для free относительно использования этой функции только с памятью, первоначально выделенной с помощью malloc.
Base.memcpyФункция
memcpy(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}
Вызов функции memcpy из стандартной библиотеки C.
Поддержка memcpy требует не менее Julia 1.10.
Base.memmoveФункция
memmove(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}
Вызов функции memmove из стандартной библиотеки C.
Поддержка memmove требует не менее Julia 1.10.
Base.memsetФункция
memset(dst::Ptr, val, n::Integer) -> Ptr{Cvoid}
Вызов функции memset из стандартной библиотеки C.
Поддержка memset требует не менее Julia 1.10.
Base.memcmpФункция
memcmp(a::Ptr, b::Ptr, n::Integer) -> Int
Вызов функции memcmp из стандартной библиотеки C.
Поддержка memcmp требует не менее Julia 1.9.
Base.Libc.freeФункция
free(addr::Ptr)
Вызов функции free из стандартной библиотеки C. Используйте только для освобождения памяти, выделенной с помощью malloc, а не для указателей, полученных из других библиотек C. Объекты Ptr, полученные из библиотек C, должны освобождаться функциями, определёнными в этих библиотеках, чтобы избежать ошибок утверждения, если на системе существуют несколько libc библиотек.
Base.Libc.errnoФункция
errno([code])
Получение значения errno из библиотеки C. Если указан аргумент, он используется для установки значения errno.
Значение errno имеет смысл только непосредственно после вызова ccall функции C-библиотеки, которая устанавливает его. То есть, вы не можете вызвать errno в следующей строке в REPL, потому что между строками выполняется много кода.
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.FILEТип
FILE(::Ptr) FILE(::IO)
Объект libc FILE*, представляющий открытый файл.
Он может быть передан в качестве аргумента Ptr{FILE} к ccall, а также поддерживает seek, position и close.
Объект FILE может быть создан из обычного объекта IO файла, при условии, что это открытый файл. Он должен быть закрыт после использования.
Примеры
julia> using Base.Libc
julia> mktemp() do _, io
# write to the temporary file using `puts(char*, FILE*)` from libc
file = FILE(io)
ccall(:fputs, Cint, (Cstring, Ptr{FILE}), "hello world", file)
close(file)
# read the file again
seek(io, 0)
read(io, String)
end
"hello world"
исходный код
Base.Libc.flush_cstdioФункция
flush_cstdio()
Очистка потоков C stdout и stderr (которые могут быть изменены внешним кодом C).
Base.Libc.systemsleepФункция
systemsleep(s::Real)
Приостановка выполнения на s секунд. Эта функция не уступает планировщику Julia и, следовательно, блокирует поток Julia, на котором она выполняется, в течение всего времени приостановки.
См. также sleep.
Base.Libc.mkfifoФункция
mkfifo(path::AbstractString, [mode::Integer]) -> path
Создание специального файла FIFO (именованная очередь) по адресу path. Возвращает path без изменений при успехе.
mkfifo поддерживается только на платформах Unix.
mkfifo требует не менее Julia 1.11.
© 2009–2024 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.11/base/libc/