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) -> Int
C 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) -> Float64
Bir 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]) -> path
path
'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.