C Standard Library
Base.Libc.malloc — Functionmalloc(size::Integer) -> Ptr{Cvoid}Rufen Sie malloc aus der C-Standardbibliothek auf.
Base.Libc.calloc — Functioncalloc(num::Integer, size::Integer) -> Ptr{Cvoid}Rufen Sie calloc aus der C-Standardbibliothek auf.
Base.Libc.realloc — Functionrealloc(addr::Ptr, size::Integer) -> Ptr{Cvoid}Ruft realloc aus der C-Standardbibliothek auf.
Siehe Warnung in der Dokumentation für free bezüglich der Verwendung nur für Speicher, der ursprünglich von malloc erhalten wurde.
Base.memcpy — Functionmemcpy(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}Rufen Sie memcpy aus der C-Standardbibliothek auf.
Die Unterstützung für memcpy erfordert mindestens Julia 1.10.
Base.memmove — Functionmemmove(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}Ruft memmove aus der C-Standardbibliothek auf.
Die Unterstützung für memmove erfordert mindestens Julia 1.10.
Base.memset — Functionmemset(dst::Ptr, val, n::Integer) -> Ptr{Cvoid}Ruft memset aus der C-Standardbibliothek auf.
Die Unterstützung für memset erfordert mindestens Julia 1.10.
Base.memcmp — Functionmemcmp(a::Ptr, b::Ptr, n::Integer) -> IntRuft memcmp aus der C-Standardbibliothek auf.
Die Unterstützung für memcmp erfordert mindestens Julia 1.9.
Base.Libc.free — Functionfree(addr::Ptr)Rufen Sie free aus der C-Standardbibliothek auf. Verwenden Sie dies nur für Speicher, der von malloc erhalten wurde, nicht für Zeiger, die aus anderen C-Bibliotheken abgerufen wurden. Ptr-Objekte, die aus C-Bibliotheken erhalten wurden, sollten mit den in dieser Bibliothek definierten Freifunktionen freigegeben werden, um Assertion-Fehler zu vermeiden, wenn mehrere libc-Bibliotheken im System vorhanden sind.
Base.Libc.errno — Functionerrno([code])Holen Sie den Wert von errno der C-Bibliothek. Wenn ein Argument angegeben ist, wird es verwendet, um den Wert von errno zu setzen.
Der Wert von errno ist nur unmittelbar nach einem ccall zu einer C-Bibliotheksroutine gültig, die ihn setzt. Insbesondere können Sie errno nicht an der nächsten Eingabeaufforderung in einem REPL aufrufen, da zwischen den Eingabeaufforderungen viel Code ausgeführt wird.
Base.Libc.strerror — Functionstrerror(n=errno())Konvertiert einen Fehlercode eines Systemaufrufs in einen beschreibenden String.
Base.Libc.GetLastError — FunctionGetLastError()Rufen Sie die Win32-Funktion GetLastError [nur verfügbar unter Windows] auf.
Base.Libc.FormatMessage — FunctionFormatMessage(n=GetLastError())Konvertiert einen Win32-Systemaufruf-Fehlercode in eine beschreibende Zeichenfolge [nur verfügbar unter Windows].
Base.Libc.time — Methodtime(t::TmStruct) -> Float64Konvertiert eine TmStruct-Struktur in eine Anzahl von Sekunden seit der Epoche.
Base.Libc.strftime — Functionstrftime([format], time)Konvertiere die Zeit, die als Anzahl von Sekunden seit der Epoche oder als TmStruct angegeben ist, in einen formatierten String unter Verwendung des angegebenen Formats. Unterstützte Formate sind die gleichen wie die in der Standard-C-Bibliothek.
Base.Libc.strptime — Functionstrptime([format], timestr)Analysiere einen formatierten Zeitstring in eine TmStruct, die die Sekunden, Minuten, Stunden, das Datum usw. angibt. Unterstützte Formate sind die gleichen wie die in der Standard-C-Bibliothek. Auf einigen Plattformen werden Zeitzonen möglicherweise nicht korrekt analysiert. Wenn das Ergebnis dieser Funktion an time übergeben wird, um es in Sekunden seit der Epoche zu konvertieren, sollte das Feld isdst manuell ausgefüllt werden. Es auf -1 zu setzen, teilt der C-Bibliothek mit, die aktuellen Systemeinstellungen zur Bestimmung der Zeitzone zu verwenden.
Base.Libc.TmStruct — TypeTmStruct([Sekunden])Konvertiert eine Anzahl von Sekunden seit der Epoche in ein aufgeschlüsseltes Format mit den Feldern sec, min, hour, mday, month, year, wday, yday und isdst.
Base.Libc.FILE — TypeFILE(::Ptr)
FILE(::IO)Ein libc FILE*, das eine geöffnete Datei darstellt.
Es kann als Ptr{FILE}-Argument an ccall übergeben werden und unterstützt auch seek, position und close.
Ein FILE kann aus einem gewöhnlichen IO-Objekt konstruiert werden, vorausgesetzt, es handelt sich um eine geöffnete Datei. Es muss anschließend geschlossen werden.
Beispiele
julia> using Base.Libc
julia> mktemp() do _, io
# in die temporäre Datei schreiben mit `puts(char*, FILE*)` aus libc
file = FILE(io)
ccall(:fputs, Cint, (Cstring, Ptr{FILE}), "hello world", file)
close(file)
# die Datei erneut lesen
seek(io, 0)
read(io, String)
end
"hello world"Base.Libc.flush_cstdio — Functionflush_cstdio()Spült die C stdout- und stderr-Streams (die möglicherweise von externem C-Code beschrieben wurden).
Base.Libc.systemsleep — Functionsystemsleep(s::Real)Unterbricht die Ausführung für s Sekunden. Diese Funktion gibt nicht an den Julia-Scheduler ab und blockiert daher den Julia-Thread, auf dem sie ausgeführt wird, für die Dauer der Schlafzeit.
Siehe auch sleep.
Base.Libc.mkfifo — Functionmkfifo(path::AbstractString, [mode::Integer]) -> pathErstellt eine FIFO-Sonderdatei (eine benannte Pipe) unter path. Gibt path im Erfolgsfall unverändert zurück.
mkfifo wird nur auf Unix-Plattformen unterstützt.
mkfifo erfordert mindestens Julia 1.11.