Learn R Programming

LeLogicielR (version 1.2.1)

writeaddr: Writing a value at some memory address

Description

Writing a value at some memory address

Usage

writeaddr(addr, newval, type = "integer",
size = 4, length = 1, out.of.bounds = FALSE)

Arguments

addr

Integer value. Address in memory.

newval

New value to write at this address.

type

type

size

size

length

length

out.of.bounds

TRUE or FALSE

Value

Nothing is returned.

References

Chapter 9 (Managing Sessions) from the book: The R Software, Fundamentals of Programming and Statistical Analysis

Examples

Run this code
# NOT RUN {
x <- c(8L,9L)
addr <- getaddr(x)$addr.int # Gets the address of the first
                            # box of the 64-box block where x
                            # is stored.
addr
writeaddr(addr,6L) # Write the integer 6 at this address.
x
writeaddr(addr+4L,7L) # An integer is coded over 4 bytes,
                      # hence increment the address by 4 to
                      # get to x[2].
x
x <- c(12.8,4.5)
x
addr <- getaddr(x)$addr.int # Get the address of the first box
                            # of the 128-box block where x is
                            # stored.
writeaddr(addr,6.2)
x
writeaddr(addr+8L,7.1) # A double is coded over 8 bytes.
x
# }

Run the code above in your browser using DataLab