main.cpp 1.5 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. bg::ShmOptions opts(false, "Test", nullptr);
  14. opts.fix_vptr_on_init = false;
  15. if(!bg::ShmInit(opts))
  16. {
  17. printf("cannot init shm system.\n");
  18. return 1;
  19. }
  20. Test* test = bg::ShmNew<Test>();
  21. strcpy(test->m_type, "sadfsfs");
  22. test->m_version = 1000;
  23. Sleep(10000);
  24. return 0;
  25. bg::detail::SizeMap sizemap;
  26. size_t temp111 = bg::detail::SizeMap::CalcAlignment(0x1F000);
  27. auto temp = sizemap.Init();
  28. size_t available_size;
  29. bg::detail::GetAvailableMemorySize(&available_size);
  30. char path[256];
  31. snprintf(path, 256, "%s-mgr.mmap", "111");
  32. size_t real_size = 0x9000;
  33. void* addr = nullptr;
  34. //
  35. if(argc <= 1)
  36. {
  37. addr = bg::detail::ShmObjectCreate(path, 0x600000000000, &real_size, &real_size);
  38. Test* a = (Test*)addr;
  39. strcpy(a->m_type, "sadfsfs");
  40. a->m_version = 1000;
  41. bg::detail::GetAvailableMemorySize(&available_size);
  42. while(true)
  43. {
  44. Sleep(100000);
  45. }
  46. }
  47. else
  48. {
  49. addr = bg::detail::ShmObjectAttach(path, 0x600000000000, &real_size, &real_size);
  50. }
  51. Test* a = (Test*)addr;
  52. bg::detail::ShmObjectDelete(addr, real_size, path);
  53. return 0;
  54. }