The R Project SVN R

Rev

Rev 59039 | Rev 68948 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 59039 Rev 61433
Line 43... Line 43...
43
  \item{new}{a list of \code{"DLLInfo"} objects corresponding to the
43
  \item{new}{a list of \code{"DLLInfo"} objects corresponding to the
44
    DLLs loaded by packages.  Can be missing.}
44
    DLLs loaded by packages.  Can be missing.}
45
}
45
}
46
\details{
46
\details{
47
  See \code{\link{dyn.load}} for what sort of objects these functions handle.
47
  See \code{\link{dyn.load}} for what sort of objects these functions handle.
48
  
48
 
49
  \code{library.dynam} is designed to be used inside a package rather
49
  \code{library.dynam} is designed to be used inside a package rather
50
  than at the command line, and should really only be used inside
50
  than at the command line, and should really only be used inside
51
  \code{\link{.onLoad}}.  The system-specific extension for DLLs (e.g.,
51
  \code{\link{.onLoad}}.  The system-specific extension for DLLs (e.g.,
52
  \file{.so} or \file{.sl} on Unix-alike systems,
52
  \file{.so} or \file{.sl} on Unix-alike systems,
53
  \file{.dll} on Windows) should not be added.
53
  \file{.dll} on Windows) should not be added.
Line 57... Line 57...
57
  \code{\link{dyn.load}} is called with \code{DLLpath} set to the
57
  \code{\link{dyn.load}} is called with \code{DLLpath} set to the
58
  package's \file{libs} directory.  See the \dQuote{Windows} section of
58
  package's \file{libs} directory.  See the \dQuote{Windows} section of
59
  the help on \code{\link{dyn.load}} for how to control where dependent
59
  the help on \code{\link{dyn.load}} for how to control where dependent
60
  DLLs are found.
60
  DLLs are found.
61
#endif
61
#endif
62
  
62
 
63
  \code{library.dynam.unload} is designed for use in
63
  \code{library.dynam.unload} is designed for use in
64
  \code{\link{.onUnload}}: it unloads the DLL and updates the value of
64
  \code{\link{.onUnload}}: it unloads the DLL and updates the value of
65
  \code{.dynLibs()}
65
  \code{.dynLibs()}
66
 
66
 
67
  \code{.dynLibs} is used for getting (with no argument) or setting the
67
  \code{.dynLibs} is used for getting (with no argument) or setting the
68
  DLLs which are currently loaded by packages (using \code{library.dynam}).
68
  DLLs which are currently loaded by packages (using \code{library.dynam}).
69
  
69
 
70
  \code{lib.loc} should contain absolute paths: versions of \R prior to
70
  \code{lib.loc} should contain absolute paths: versions of \R prior to
71
  2.12.0 may get confused by relative paths.
71
  2.12.0 may get confused by relative paths.
72
}
72
}
73
\value{
73
\value{
74
   If \code{chname} is not specified, \code{library.dynam} returns an
74
   If \code{chname} is not specified, \code{library.dynam} returns an
Line 78... Line 78...
78
  If \code{chname} is specified, an object of class
78
  If \code{chname} is specified, an object of class
79
  \code{"\link{DLLInfo}"} that identifies the DLL and which can be used
79
  \code{"\link{DLLInfo}"} that identifies the DLL and which can be used
80
  in future calls is returned invisibly.  Note that the class
80
  in future calls is returned invisibly.  Note that the class
81
  \code{"\link{DLLInfo}"} has a method for \code{$} which can be used to
81
  \code{"\link{DLLInfo}"} has a method for \code{$} which can be used to
82
  resolve native symbols within that DLL.
82
  resolve native symbols within that DLL.
83
  
83
 
84
  \code{library.dynam.unload} invisibly returns an object of class
84
  \code{library.dynam.unload} invisibly returns an object of class
85
  \code{"\link{DLLInfo}"} identifying the DLL successfully unloaded.
85
  \code{"\link{DLLInfo}"} identifying the DLL successfully unloaded.
86
 
86
 
87
  \code{.dynLibs} returns an object of class \code{"\link{DLLInfoList}"}
87
  \code{.dynLibs} returns an object of class \code{"\link{DLLInfoList}"}
88
  corresponding corresponding to its current value.
88
  corresponding corresponding to its current value.
Line 98... Line 98...
98
  \sQuote{Value} section of the help for  \code{\link{dyn.unload}}.
98
  \sQuote{Value} section of the help for  \code{\link{dyn.unload}}.
99
}
99
}
100
\seealso{
100
\seealso{
101
  \code{\link{getLoadedDLLs}} for information on \code{"DLLInfo"} and
101
  \code{\link{getLoadedDLLs}} for information on \code{"DLLInfo"} and
102
  \code{"DLLInfoList"} objects.
102
  \code{"DLLInfoList"} objects.
103
  
103
 
104
  \code{\link{.onLoad}}, \code{\link{library}},
104
  \code{\link{.onLoad}}, \code{\link{library}},
105
  \code{\link{dyn.load}}, \code{\link{.packages}},
105
  \code{\link{dyn.load}}, \code{\link{.packages}},
106
  \code{\link{.libPaths}}
106
  \code{\link{.libPaths}}
107
  
107
 
108
  \code{\link{SHLIB}} for how to create suitable DLLs.
108
  \code{\link{SHLIB}} for how to create suitable DLLs.
109
}
109
}
110
\references{
110
\references{
111
  Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
111
  Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
112
  \emph{The New S Language}.
112
  \emph{The New S Language}.
113
  Wadsworth & Brooks/Cole.
113
  Wadsworth & Brooks/Cole.
114
}
114
}
115
\examples{
115
\examples{
116
## Which DLLs were dynamically loaded by packages?
116
## Which DLLs were dynamically loaded by packages?
117
library.dynam() 
117
library.dynam()
118
}
118
}
119
\keyword{data}
119
\keyword{data}