Spec-Zone.ru › Julia 1.11

Библиотека стандартных функций 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API