C Standard Library

Base.Libc.mallocFunction
malloc(size::Integer) -> Ptr{Cvoid}

Llama a malloc de la biblioteca estándar de C.

source
Base.Libc.callocFunction
calloc(num::Integer, size::Integer) -> Ptr{Cvoid}

Llama a calloc de la biblioteca estándar de C.

source
Base.Libc.reallocFunction
realloc(addr::Ptr, size::Integer) -> Ptr{Cvoid}

Llama a realloc de la biblioteca estándar de C.

Consulta la advertencia en la documentación de free sobre el uso de esto solo en memoria obtenida originalmente de malloc.

source
Base.memcpyFunction
memcpy(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}

Llama a memcpy de la biblioteca estándar de C.

Julia 1.10

El soporte para memcpy requiere al menos Julia 1.10.

source
Base.memmoveFunction
memmove(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}

Llama a memmove de la biblioteca estándar de C.

Julia 1.10

El soporte para memmove requiere al menos Julia 1.10.

source
Base.memsetFunction
memset(dst::Ptr, val, n::Integer) -> Ptr{Cvoid}

Llama a memset de la biblioteca estándar de C.

Julia 1.10

El soporte para memset requiere al menos Julia 1.10.

source
Base.memcmpFunction
memcmp(a::Ptr, b::Ptr, n::Integer) -> Int

Llama a memcmp de la biblioteca estándar de C.

Julia 1.10

El soporte para memcmp requiere al menos Julia 1.9.

source
Base.Libc.freeFunction
free(addr::Ptr)

Llama a free de la biblioteca estándar de C. Solo usa esto en memoria obtenida de malloc, no en punteros recuperados de otras bibliotecas de C. Los objetos Ptr obtenidos de bibliotecas de C deben ser liberados por las funciones free definidas en esa biblioteca, para evitar fallos de aserción si existen múltiples bibliotecas libc en el sistema.

source
Base.Libc.errnoFunction
errno([código])

Obtiene el valor de errno de la biblioteca C. Si se especifica un argumento, se utiliza para establecer el valor de errno.

El valor de errno solo es válido inmediatamente después de un ccall a una rutina de la biblioteca C que lo establece. Específicamente, no puedes llamar a errno en el siguiente aviso en un REPL, porque se ejecuta mucho código entre avisos.

source
Base.Libc.strerrorFunction
strerror(n=errno())

Convierte un código de error de llamada al sistema en una cadena descriptiva.

source
Base.Libc.FormatMessageFunction
FormatMessage(n=GetLastError())

Convierte un código de error de llamada al sistema Win32 en una cadena descriptiva [solo disponible en Windows].

source
Base.Libc.timeMethod
time(t::TmStruct) -> Float64

Convierte una estructura TmStruct a un número de segundos desde la época.

source
Base.Libc.strftimeFunction
strftime([formato], tiempo)

Convierte el tiempo, dado como un número de segundos desde la época o un TmStruct, a una cadena formateada utilizando el formato dado. Los formatos soportados son los mismos que los de la biblioteca estándar de C.

source
Base.Libc.strptimeFunction
strptime([formato], timestr)

Analiza una cadena de tiempo formateada en un TmStruct que da los segundos, minutos, horas, fecha, etc. Los formatos admitidos son los mismos que los de la biblioteca estándar de C. En algunas plataformas, las zonas horarias no se analizarán correctamente. Si el resultado de esta función se pasará a time para convertirlo en segundos desde la época, el campo isdst debe llenarse manualmente. Establecerlo en -1 indicará a la biblioteca C que use la configuración del sistema actual para determinar la zona horaria.

source
Base.Libc.TmStructType
TmStruct([segundos])

Convierte un número de segundos desde la época a un formato desglosado, con los campos sec, min, hour, mday, month, year, wday, yday y isdst.

source
Base.Libc.FILEType
FILE(::Ptr)
FILE(::IO)

Un FILE* de libc, que representa un archivo abierto.

Se puede pasar como un argumento Ptr{FILE} a ccall y también soporta seek, position y close.

Un FILE se puede construir a partir de un objeto IO ordinario, siempre que sea un archivo abierto. Debe cerrarse después.

Ejemplos

julia> using Base.Libc

julia> mktemp() do _, io
           # escribir en el archivo temporal usando `puts(char*, FILE*)` de libc
           file = FILE(io)
           ccall(:fputs, Cint, (Cstring, Ptr{FILE}), "hello world", file)
           close(file)
           # leer el archivo nuevamente
           seek(io, 0)
           read(io, String)
       end
"hello world"
source
Base.Libc.flush_cstdioFunction
flush_cstdio()

Vacía los flujos stdout y stderr de C (que pueden haber sido escritos por código C externo).

source
Base.Libc.systemsleepFunction
systemsleep(s::Real)

Suspende la ejecución durante s segundos. Esta función no cede al programador de Julia y, por lo tanto, bloquea el hilo de Julia en el que se está ejecutando durante la duración del tiempo de suspensión.

Véase también sleep.

source
Base.Libc.mkfifoFunction
mkfifo(path::AbstractString, [mode::Integer]) -> path

Crea un archivo especial FIFO (un pipe con nombre) en path. Devuelve path tal como está en caso de éxito.

mkfifo solo es compatible con plataformas Unix.

Julia 1.11

mkfifo requiere al menos Julia 1.11.

source