C Standard Library

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

Rufen Sie malloc aus der C-Standardbibliothek auf.

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

Rufen Sie calloc aus der C-Standardbibliothek auf.

source
Base.Libc.reallocFunction
realloc(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.

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

Rufen Sie memcpy aus der C-Standardbibliothek auf.

Julia 1.10

Die Unterstützung für memcpy erfordert mindestens Julia 1.10.

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

Ruft memmove aus der C-Standardbibliothek auf.

Julia 1.10

Die Unterstützung für memmove erfordert mindestens Julia 1.10.

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

Ruft memset aus der C-Standardbibliothek auf.

Julia 1.10

Die Unterstützung für memset erfordert mindestens Julia 1.10.

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

Ruft memcmp aus der C-Standardbibliothek auf.

Julia 1.10

Die Unterstützung für memcmp erfordert mindestens Julia 1.9.

source
Base.Libc.freeFunction
free(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.

source
Base.Libc.errnoFunction
errno([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.

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

Konvertiert einen Fehlercode eines Systemaufrufs in einen beschreibenden String.

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

Konvertiert einen Win32-Systemaufruf-Fehlercode in eine beschreibende Zeichenfolge [nur verfügbar unter Windows].

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

Konvertiert eine TmStruct-Struktur in eine Anzahl von Sekunden seit der Epoche.

source
Base.Libc.strftimeFunction
strftime([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.

source
Base.Libc.strptimeFunction
strptime([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.

source
Base.Libc.TmStructType
TmStruct([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.

source
Base.Libc.FILEType
FILE(::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"
source
Base.Libc.flush_cstdioFunction
flush_cstdio()

Spült die C stdout- und stderr-Streams (die möglicherweise von externem C-Code beschrieben wurden).

source
Base.Libc.systemsleepFunction
systemsleep(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.

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

Erstellt eine FIFO-Sonderdatei (eine benannte Pipe) unter path. Gibt path im Erfolgsfall unverändert zurück.

mkfifo wird nur auf Unix-Plattformen unterstützt.

Julia 1.11

mkfifo erfordert mindestens Julia 1.11.

source