123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include <iostream>
- #include "shm_object.h"
- #include <windows.h>
- #include "size_map.h"
- #include "shm.h"
- struct Test
- {
- char m_type[16];
- int m_version;
- };
- int main(int argc, char** argv)
- {
- uint32_t temp1 = -1073626914;
- bg::ShmOptions opts(false, "Test", nullptr);
- opts.fix_vptr_on_init = false;
- if(!bg::ShmInit(opts))
- {
- printf("cannot init shm system.\n");
- return 1;
- }
- Test* test = bg::ShmNew<Test>();
- strcpy(test->m_type, "sadfsfs");
- test->m_version = 1000;
- Sleep(10000);
- return 0;
- bg::detail::SizeMap sizemap;
- auto temp = sizemap.Init();
- size_t available_size;
- char path[256];
- snprintf(path, 256, "%s-mgr.mmap", "111");
- size_t real_size = 0x9000;
- void* addr = nullptr;
- //
- if(argc <= 1)
- {
- addr = bg::detail::ShmObjectCreate(path, 0x600000000000, &real_size, &real_size);
- Test* a = (Test*)addr;
- strcpy(a->m_type, "sadfsfs");
- a->m_version = 1000;
- bg::detail::GetAvailableMemorySize(&available_size);
- while(true)
- {
- Sleep(100000);
- }
- }
- else
- {
- addr = bg::detail::ShmObjectAttach(path, 0x600000000000, &real_size, &real_size);
- }
- Test* a = (Test*)addr;
- bg::detail::ShmObjectDelete(addr, real_size, path);
- return 0;
- }
|