rem: unsigned int least, most; ACE_OS::memcpy (&least, &now, sizeof (unsigned int)); ACE_OS::memcpy (&most, &now + sizeof (unsigned int), sizeof (unsigned int));
add: ACE_UINT32 least, most; ACE_OS::memcpy (&least, &now, sizeof (ACE_UINT32)); ACE_OS::memcpy (&most, (unsigned char *) &now + sizeof (ACE_UINT32), sizeof (ACE_UINT32));
context: ACE_gethrtime (){#if defined (ACE_HAS_PENTIUM)  // ACE_TRACE ("ACE_gethrtime");#if defined (ACE_LACKS_LONGLONG_T)  double now;#else  /* ! ACE_LACKS_LONGLONG_T */  ACE_hrtime_t now;#endif /* ! ACE_LACKS_LONGLONG_T */  // See comments about the RDTSC Pentium instruction for the ACE_WIN32  // version of ACE_OS::gethrtime () in ace/OS.i.  //  // Read the high-res tick counter directly into memory variable "now".  // The A constraint signifies a 64-bit int.#if defined (__GNUG__)  asm volatile ("rdtsc" : "=A" (now) : : "memory");// #elif defined (ghs)// The following doesn't work.  For now, this file must be compile with g++.//  asm ("rdtsc");//  asm ("movl %edx,-16(%ebp)");//  asm ("movl %eax,-12(%ebp)");#else# error unsupported compiler#endif#if defined (ACE_LACKS_LONGLONG_T)  // ACE_U_LongLong doesn't have the same layout as now, so construct  // it "properly".  unsigned int least, most;  ACE_OS::memcpy (&least, &now, sizeof (unsigned int));  ACE_OS::memcpy (&most, &now + sizeof (unsigned int), sizeof (unsigned int));  ACE_hrtime_t ret (least, most);  return ret;#else  /* ! ACE_LACKS_LONGLONG_T */  return now;#endif /* ! ACE_LACKS_LONGLONG_T */#else  /* ! ACE_HAS_PENTIUM */# error This file can _only_ be compiled with ACE_HAS_PENTIUM.#endif /* ! ACE_HAS_PENTIUM */}