C Standard Library
Base.Libc.malloc — Functionmalloc(size::Integer) -> Ptr{Cvoid}C standart kütüphanesinden malloc çağrısı yapın.
Base.Libc.calloc — Functioncalloc(num::Integer, size::Integer) -> Ptr{Cvoid}C standart kütüphanesinden calloc çağrısı yapar.
Base.Libc.realloc — Functionrealloc(addr::Ptr, size::Integer) -> Ptr{Cvoid}C standart kütüphanesinden realloc çağrısı yapın.
free ile ilgili belgelerdeki uyarıya bakın; bu işlemi yalnızca malloc ile başlangıçta elde edilen bellek üzerinde kullanın.
Base.memcpy — Functionmemcpy(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}C standart kütüphanesinden memcpy çağrısı yapın.
memcpy desteği en az Julia 1.10 gerektirir.
Base.memmove — Functionmemmove(dst::Ptr, src::Ptr, n::Integer) -> Ptr{Cvoid}C standart kütüphanesinden memmove çağrısı yapın.
memmove desteği en az Julia 1.10 gerektirir.
Base.memset — Functionmemset(dst::Ptr, val, n::Integer) -> Ptr{Cvoid}C standart kütüphanesinden memset çağrısı yapın.
memset desteği en az Julia 1.10 gerektirir.
Base.memcmp — Functionmemcmp(a::Ptr, b::Ptr, n::Integer) -> IntC standart kütüphanesinden memcmp çağrısı yapın.
memcmp desteği en az Julia 1.9 gerektirir.
Base.Libc.free — Functionfree(addr::Ptr)C standart kütüphanesinden free çağrısı yapar. Bunu yalnızca malloc ile elde edilen bellek üzerinde kullanın, diğer C kütüphanelerinden alınan işaretçiler üzerinde değil. C kütüphanelerinden elde edilen Ptr nesneleri, sistemde birden fazla libc kütüphanesi varsa, doğrulama hatalarını önlemek için o kütüphanede tanımlanan serbest bırakma fonksiyonlarıyla serbest bırakılmalıdır.
Base.Libc.errno — Functionerrno([kod])C kütüphanesinin errno değerini alır. Bir argüman belirtilirse, errno değerini ayarlamak için kullanılır.
errno değerinin geçerliliği, yalnızca onu ayarlayan bir C kütüphanesi rutinine yapılan bir ccall'dan hemen sonradır. Özellikle, bir REPL'deki bir sonraki istemde errno'yu çağırmak mümkün değildir, çünkü istemler arasında birçok kod çalıştırılır.
Base.Libc.strerror — Functionstrerror(n=errno())Bir sistem çağrısı hata kodunu açıklayıcı bir dizeye dönüştürür.
Base.Libc.GetLastError — FunctionGetLastError()Win32 GetLastError fonksiyonunu [sadece Windows'ta mevcut] çağırın.
Base.Libc.FormatMessage — FunctionFormatMessage(n=GetLastError())Bir Win32 sistem çağrısı hata kodunu tanımlayıcı bir dizeye dönüştür [yalnızca Windows'ta mevcuttur].
Base.Libc.time — Methodtime(t::TmStruct) -> Float64Bir TmStruct yapısını epoch'tan itibaren geçen saniye sayısına dönüştürür.
Base.Libc.strftime — Functionstrftime([format], time)Zamanı, epoch'tan itibaren geçen saniye sayısı veya bir TmStruct olarak verilen, belirtilen formatı kullanarak biçimlendirilmiş bir dizeye dönüştürür. Desteklenen formatlar, standart C kütüphanesindeki ile aynıdır.
Base.Libc.strptime — Functionstrptime([format], timestr)Biçimlendirilmiş bir zaman dizesini, saniye, dakika, saat, tarih vb. veren bir TmStruct'a ayrıştırır. Desteklenen biçimler, standart C kütüphanesindekilerle aynıdır. Bazı platformlarda, zaman dilimleri doğru bir şekilde ayrıştırılmayabilir. Bu işlevin sonucu, epoch'tan itibaren saniyelere dönüştürmek için time'a geçirilecekse, isdst alanı manuel olarak doldurulmalıdır. Bunu -1 olarak ayarlamak, C kütüphanesine zaman dilimini belirlemek için mevcut sistem ayarlarını kullanmasını söyleyecektir.
Base.Libc.TmStruct — TypeTmStruct([saniye])Epoch'tan itibaren geçen saniye sayısını, sec, min, hour, mday, month, year, wday, yday ve isdst alanlarıyla ayrıştırılmış formata dönüştürür.
Base.Libc.FILE — TypeFILE(::Ptr)
FILE(::IO)A libc FILE*, açılmış bir dosyayı temsil eder.
ccall için bir Ptr{FILE} argümanı olarak geçirilebilir ve ayrıca seek, position ve close destekler.
Bir FILE, sıradan bir IO nesnesinden oluşturulabilir, sağlanan dosya açık olmalıdır. Daha sonra kapatılmalıdır.
Örnekler
julia> using Base.Libc
julia> mktemp() do _, io
# libc'den `puts(char*, FILE*)` kullanarak geçici dosyaya yaz
file = FILE(io)
ccall(:fputs, Cint, (Cstring, Ptr{FILE}), "hello world", file)
close(file)
# dosyayı tekrar oku
seek(io, 0)
read(io, String)
end
"hello world"Base.Libc.flush_cstdio — Functionflush_cstdio()C stdout ve stderr akışlarını boşaltır (dış C kodu tarafından yazılmış olabilir).
Base.Libc.systemsleep — Functionsystemsleep(s::Gerçek)s saniye boyunca yürütmeyi askıya alır. Bu işlev, Julia'nın zamanlayıcısına geçiş yapmaz ve bu nedenle uyku süresi boyunca çalıştığı Julia ipini engeller.
Ayrıca bkz. sleep.
Base.Libc.mkfifo — Functionmkfifo(path::AbstractString, [mode::Integer]) -> pathpath'te bir FIFO özel dosyası (adlandırılmış boru) oluşturur. Başarı durumunda path'i olduğu gibi döndürür.
mkfifo yalnızca Unix platformlarında desteklenmektedir.
mkfifo, en az Julia 1.11 gerektirir.