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) -> IntAppelez 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) -> Float64Convertit 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]) -> pathCré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.