main.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include <iostream>
  2. #include "shm_object.h"
  3. #include <windows.h>
  4. #include "size_map.h"
  5. #include "shm.h"
  6. struct Test
  7. {
  8. char m_type[16];
  9. int m_version;
  10. };
  11. int main(int argc, char** argv)
  12. {
  13. uint32_t temp1 = -1073626914;
  14. bg::ShmOptions opts(false, "Test", nullptr);
  15. opts.fix_vptr_on_init = false;
  16. if(!bg::ShmInit(opts))
  17. {
  18. printf("cannot init shm system.\n");
  19. return 1;
  20. }
  21. Test* test = bg::ShmNew<Test>();
  22. strcpy(test->m_type, "sadfsfs");
  23. test->m_version = 1000;
  24. Sleep(10000);
  25. return 0;
  26. bg::detail::SizeMap sizemap;
  27. auto temp = sizemap.Init();
  28. size_t available_size;
  29. char path[256];
  30. snprintf(path, 256, "%s-mgr.mmap", "111");
  31. size_t real_size = 0x9000;
  32. void* addr = nullptr;
  33. //
  34. if(argc <= 1)
  35. {
  36. addr = bg::detail::ShmObjectCreate(path, 0x600000000000, &real_size, &real_size);
  37. Test* a = (Test*)addr;
  38. strcpy(a->m_type, "sadfsfs");
  39. a->m_version = 1000;
  40. bg::detail::GetAvailableMemorySize(&available_size);
  41. while(true)
  42. {
  43. Sleep(100000);
  44. }
  45. }
  46. else
  47. {
  48. addr = bg::detail::ShmObjectAttach(path, 0x600000000000, &real_size, &real_size);
  49. }
  50. Test* a = (Test*)addr;
  51. bg::detail::ShmObjectDelete(addr, real_size, path);
  52. return 0;
  53. }