C Standard Library

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

Appelle malloc de la bibliothèque standard C.

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

Appelle calloc de la bibliothèque standard C.

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

Appelez realloc de la bibliothèque standard C.

Voir l'avertissement dans la documentation pour free concernant l'utilisation uniquement de cette fonction sur la mémoire obtenue à l'origine à partir de malloc.

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

Appelle memcpy de la bibliothèque standard C.

Julia 1.10

Le support de memcpy nécessite au moins Julia 1.10.

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

Appelle memmove de la bibliothèque standard C.

Julia 1.10

Le support de memmove nécessite au moins Julia 1.10.

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

Appelle memset de la bibliothèque standard C.

Julia 1.10

Le support de memset nécessite au moins Julia 1.10.

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

Appelez memcmp de la bibliothèque standard C.

Julia 1.10

Le support de memcmp nécessite au moins Julia 1.9.

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

Appelle free de la bibliothèque standard C. N'utilisez cela que sur la mémoire obtenue à partir de malloc, pas sur des pointeurs récupérés d'autres bibliothèques C. Les objets Ptr obtenus à partir de bibliothèques C doivent être libérés par les fonctions free définies dans cette bibliothèque, afin d'éviter des échecs d'assertion si plusieurs bibliothèques libc existent sur le système.

source
Base.Libc.errnoFunction
errno([code])

Obtenez la valeur de errno de la bibliothèque C. Si un argument est spécifié, il est utilisé pour définir la valeur de errno.

La valeur de errno n'est valide qu'immédiatement après un ccall à une routine de bibliothèque C qui la définit. En particulier, vous ne pouvez pas appeler errno à l'invite suivante dans un REPL, car beaucoup de code est exécuté entre les invites.

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

Convertir un code d'erreur d'appel système en une chaîne descriptive

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

Convertir un code d'erreur d'appel système Win32 en une chaîne descriptive [disponible uniquement sur Windows].

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

Convertit une structure TmStruct en un nombre de secondes depuis l'époque.

source
Base.Libc.strftimeFunction
strftime([format], time)

Convertir le temps, donné comme un nombre de secondes depuis l'époque ou un TmStruct, en une chaîne formatée en utilisant le format donné. Les formats pris en charge sont les mêmes que ceux de la bibliothèque standard C.

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

Analyse une chaîne de caractères de temps formatée en un TmStruct donnant les secondes, la minute, l'heure, la date, etc. Les formats pris en charge sont les mêmes que ceux de la bibliothèque standard C. Sur certaines plateformes, les fuseaux horaires ne seront pas analysés correctement. Si le résultat de cette fonction doit être passé à time pour le convertir en secondes depuis l'époque, le champ isdst doit être rempli manuellement. Le définir à -1 indiquera à la bibliothèque C d'utiliser les paramètres système actuels pour déterminer le fuseau horaire.

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

Convertit un nombre de secondes depuis l'époque en format décomposé, avec les champs sec, min, hour, mday, month, year, wday, yday, et isdst.

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

Un FILE* de libc, représentant un fichier ouvert.

Il peut être passé comme argument Ptr{FILE} à ccall et prend également en charge seek, position et close.

Un FILE peut être construit à partir d'un objet IO ordinaire, à condition qu'il s'agisse d'un fichier ouvert. Il doit être fermé par la suite.

Exemples

julia> using Base.Libc

julia> mktemp() do _, io
           # écrire dans le fichier temporaire en utilisant `puts(char*, FILE*)` de libc
           file = FILE(io)
           ccall(:fputs, Cint, (Cstring, Ptr{FILE}), "hello world", file)
           close(file)
           # lire à nouveau le fichier
           seek(io, 0)
           read(io, String)
       end
"hello world"
source
Base.Libc.flush_cstdioFunction
flush_cstdio()

Vide les flux stdout et stderr de C (qui peuvent avoir été écrits par du code C externe).

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

Suspend l'exécution pendant s secondes. Cette fonction ne cède pas au planificateur de Julia et bloque donc le fil Julia sur lequel elle s'exécute pendant la durée du temps de sommeil.

Voir aussi sleep.

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

Créer un fichier spécial FIFO (un tube nommé) à path. Retourner path tel quel en cas de succès.

mkfifo n'est pris en charge que sur les plateformes Unix.

Julia 1.11

mkfifo nécessite au moins Julia 1.11.

source