ID EN
Foreign & C Interface

dyn.load

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Muat atau keluarkan DLL (juga dikenal sebagai objek bersama), dan uji apakah fungsi C atau subrutin Fortran tersedia.

Syntax

R
dyn.load(x, local = TRUE, now = TRUE, ...)
dyn.unload(x)<p></p><p>is.loaded(symbol, PACKAGE = "", type = "")</p>

Arguments

Parameter Deskripsi
x a character string giving the pathname to a DLL, also known as a dynamic shared object. (See ‘Details’ for what these terms mean.)
local a logical value controlling whether the symbols in the DLL are stored in their own local table and not shared across DLLs, or added to the global symbol table. Whether this has any effect is system-dependent. It is ignored on Windows.
now a logical controlling whether all symbols are resolved (and relocated) immediately the library is loaded or deferred until they are used. This control is useful for developers testing whether a library is complete and has all the necessary symbols, and for users to ignore missing symbols. Whether this has any effect is system-dependent. It is ignored on Windows.
&#8230; other arguments for future expansion. See section ‘Windows’ below.
symbol a character string giving a symbol name.
PACKAGE if supplied, confine the search for the name to the DLL given by this argument (plus the conventional extension, .so, .sl, .dll, …). This is intended to add safety for packages, which can ensure by using this argument that no other package can override their external symbols. This is used in the same way as in .C, .Call, .Fortran and .External functions.
type The type of symbol to look for: can be any ("", the default), "Fortran", "Call" or "External".

Return Value

Fungsi dyn.load digunakan untuk efek sampingnya yang menghubungkan DLL yang ditentukan ke gambar R yang dijalankan. Panggilan ke .C, .Call, .Fortran dan .External kemudian dapat digunakan untuk menjalankan fungsi C yang dikompilasi atau subrutin Fortran yang terdapat di perpustakaan. Nilai kembalian dyn.load adalah objek kelas DLLInfo. Lihat getLoadedDLLs untuk informasi tentang kelas ini. Fungsi dyn.unload memutuskan tautan DLL. Perhatikan bahwa membongkar DLL dan kemudian memuat ulang DLL dengan nama yang sama mungkin berfungsi atau tidak: di Solaris

Details

Objek yang memuat dyn.load disebut 'perpustakaan yang dapat dimuat secara dinamis' (disingkat menjadi 'DLL') di semua platform kecuali macOS, yang menggunakan istilah tersebut untuk jenis objek yang berbeda. Di Unix, mereka juga disebut 'objek bersama dinamis' ('DSO'), atau disingkat 'objek bersama'. (Standar POSIX menggunakan 'file objek yang dapat dieksekusi', tetapi tidak ada orang lain yang melakukannya.) Lihat 'Lihat Juga' dan manual 'Menulis Ekstensi R' dan 'Instalasi dan Administrasi R' untuk cara membuat dan menginstal DLL yang sesuai. Sayangnya sangat sedikit platform (misalnya, Compaq Tru64) yang tidak menangani argumen PACKAGE dengan benar, dan mungkin salah menemukan simbol yang ditautkan ke R. Argumen tambahan pada dyn.load mencerminkan aspek berbeda dari argumen mode pada rutinitas dlopen() pada sistem POSIX. Mereka tersedia bagi kita

Contoh

Example
R
# NOT RUN {
## expect all of these to be false in R >= 3.0.0.
is.loaded("supsmu") # Fortran entry point in stats
is.loaded("supsmu", "stats", "Fortran")
is.loaded("PDF", type = "External") # pdf() device in grDevices
# }

See Also

library.dynam to be used inside a package's .onLoad initialization. SHLIB for how to create suitable DLLs. .C .Fortran .External .Call.