Определить l/r endian в runtime
От: nen777w  
Дата: 23.12.08 17:09
Оценка:
Есть ли способ в runtime кроссплатформенно, для любого С/С++ компилятора, определить l/r endian для всех интегральных типов, включая указатель?
Пока что у меня на уме два способа, первый простой — переложить это на пользователя посредством определения соответствующего define, но это потребует открытия исходного кода библиотеки (либо её части).
Второй не менее тупой, что то вроде (код писал прямо на месте):

 long l = 10;
_asm {
  push l;  
}
 byte check;
   _asm {
     pop check;
   }
   if( check = 10 )
   {
     //left endian
   } 
   else
   {
     //right endian
   }


Что мне тоже не нравится так как это сделать с float Я пока не в курсе, разве что сравнивать с заранее подготовленным шаблоном.

p.s.
Сори если вопрос покажется глупым. Возможно я не всё ещё понимаю до конца правильно.
l/r endian
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.