| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package main
-
- import(
- "fmt"
- "time"
- //"strings"
- "unsafe"
- "github.com/hidez8891/shm"
- )
- const SHM_NAME = "my_shm"
- const SHM_SIZE = 4 * 1000 * 1000
- type MyData struct {
- ss string
- ii int
- }
- func main() {
- w, err := shm.Create(SHM_NAME, SHM_SIZE)
- if err != nil {
- fmt.Printf("fail: create shared memroy %v", err)
- }
-
- const sz = int( unsafe.Sizeof( MyData{} ) )
-
- data := MyData{ss:"hello world", ii:100}
- var asByteSlice []byte = (*(*[sz]byte)(unsafe.Pointer(&data)))[:]
-
- n, err := w.WriteAt(asByteSlice, 0)
- if err != nil {
- fmt.Printf("fail: write shared memroy %v", err)
- }
-
- fmt.Printf("wn==>%d", n)
-
- /*r, err := shm.Open("aaa", 64)
- if err != nil {
- fmt.Printf("fail: open shared memroy %v", err)
- }
-
- buf := make([]byte, len(data))
- n, err = r.ReadAt(buf, 0)
- if err != nil {
- fmt.Printf("fail: read shared memroy %v", err)
- }
- fmt.Println("rn==>%d", n)
-
- r.Close()
- */
- time.Sleep(time.Duration(30)*time.Second)
-
- //w.Close()
-
- }
|