0

Hi,

I am new to ruby and I want to write code which makes shared memory and writes to it.Similar to the C code here:

void main(int argc, char* argv[])
{
   HANDLE mappedFile = 0;
   int oneSecond  = 1000;
   char* shared = NULL;
   HANDLE eventHnd;

   eventHnd = CreateEvent(NULL, FALSE, FALSE, "TestSharedEvent");

   // STEP 1
   mappedFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL,
                  PAGE_READWRITE, 0, 4096, "TestSharedMemory");
   printf("CreateFileMapping returned %d\n", mappedFile);
   fflush(NULL);
  
   // STEP 2
   shared = (char*)MapViewOfFile(mappedFile, FILE_MAP_WRITE, 0, 0, 0);
   printf("MapViewOfFile returned %p\n", shared);
   fflush(NULL);

   memset(shared, 0, 4096);
   printf("memset worked\n");
   fflush(NULL);

   int counter = 0;
   while (1)
   {
      sprintf(shared, "value %d", counter++);
      printf("Sending new string: %s\n", shared);
      SetEvent(eventHnd);
      // STEP 5
      //Sleep(1000);
   }

   UnmapViewOfFile(shared);
}

Please suggest .Thanks in advance.

Edited by Ezzaral: Added code tags. Please use them to format any code that you post.

2
Contributors
1
Reply
2
Views
7 Years
Discussion Span
Last Post by tiger86
0

Before you start trying to write such complex code, I would recommend buying a book on ruby. I don't have a ruby book that I would recommend off the top of my head because I'm a Ruby on Rails developer. If you decide you want to go with ruby on rails buy agile web development with rails. I'd recommend looking up the pragmatic programmers and see if they have a book on ruby. I'm sure they do since they are the publisher for the book on rails. Oh one last thing, you can always get free help on the IRC if you go to freenode and join #ruby or if you are interested in ruby on rails join us at #rubyonrails . I hope this helps.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.