C Standard Library
Base.Libc.malloc
— Functionmalloc(size::Integer) -> Ptr{Cvoid}
Appelle malloc
de la bibliothèque standard C.
Base.Libc.calloc
— Functioncalloc(num::Integer, size::Integer) -> Ptr{Cvoid}
Appelle calloc
de la bibliothèque standard C.
Base.Libc.realloc
— Functionrealloc(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
.
Base.memcpy
— Functionmemcpy(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}
Appelle memcpy
de la bibliothèque standard C.
Le support de memcpy
nécessite au moins Julia 1.10.
Base.memmove
— Functionmemmove(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}
Appelle memmove
de la bibliothèque standard C.
Le support de memmove
nécessite au moins Julia 1.10.
Base.memset
— Functionmemset(dst::Ptr, val, n::Integer) -> Ptr{Cvoid}
Appelle memset
de la bibliothèque standard C.
Le support de memset
nécessite au moins Julia 1.10.
Base.memcmp
— Functionmemcmp(a::Ptr, b::Ptr, n::Integer) -> Int
Appelez memcmp
de la bibliothèque standard C.
Le support de memcmp
nécessite au moins Julia 1.9.
Base.Libc.free
— Functionfree(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.
Base.Libc.errno
— Functionerrno([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.
Base.Libc.strerror
— Functionstrerror(n=errno())
Convertir un code d'erreur d'appel système en une chaîne descriptive
Base.Libc.GetLastError
— FunctionGetLastError()
Appelez la fonction Win32 GetLastError
[disponible uniquement sur Windows].
Base.Libc.FormatMessage
— FunctionFormatMessage(n=GetLastError())
Convertir un code d'erreur d'appel système Win32 en une chaîne descriptive [disponible uniquement sur Windows].
Base.Libc.time
— Methodtime(t::TmStruct) -> Float64
Convertit une structure TmStruct
en un nombre de secondes depuis l'époque.
Base.Libc.strftime
— Functionstrftime([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.
Base.Libc.strptime
— Functionstrptime([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.
Base.Libc.TmStruct
— TypeTmStruct([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
.
Base.Libc.FILE
— TypeFILE(::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"
Base.Libc.flush_cstdio
— Functionflush_cstdio()
Vide les flux stdout
et stderr
de C (qui peuvent avoir été écrits par du code C externe).
Base.Libc.systemsleep
— Functionsystemsleep(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
.
Base.Libc.mkfifo
— Functionmkfifo(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.
mkfifo
nécessite au moins Julia 1.11.