Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как хранятся стандартные типы данных в памяти? сравнивал Visual Studio Net и 6.0... 
:(
    Опции темы
Гость_Dreamer
Дата 6.4.2005, 15:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Столкнулся с такой проблемой. (Или это у меня глюки у самого какие-то?)

В Visual studio 6 у меня был такой фрагмент кода, который занимался пересылкой чисел по последовательному порту. Особенности пересылки состоят в том, что надо передовать побайтно.
Передавал типы unsigned int и float.
Делал следующим образом.

/* фрагмент кода, где подготавливаются данные для передачи.
tchar - байт, который надо передать
SendTChar(unsigned char) - функция, которая передает этот байт на внешний прибор
itemp - два байта данных для передачи (целое число)
ftemp - вещественное число */

unsigned short int itemp;
float ftemp;
unsigned char * ctemp;

/* .........Где-то тут itemp и ftemp приняли нужные значения, которые надо передать*/


//Теперь передадим оба байта числа itemp
ctemp=(unsigned char*)&itemp;
SendTChar(*ctemp);
SendTChar(*(ctemp+1));

//а теперь ftemp
ctemp=(unsigned char*)&ftemp;
SendTChar(*ctemp);
SendTChar(*(ctemp+1));
SendTChar(*(ctemp+2));
SendTChar(*(ctemp+3));

//Конец кода.

Пример. Пусть itemp=10500;ftemp=-0.05;

Соответственно hex-код переданных данных будет таков:
29
04

bd
4c
cc
cd

Все хорошо работает. Но вот поставил Visual Studio.Net и откомпилировал все там.
В результате получилось

04
29

cd
cc
4c
bd


Получилось, что в шестой студии компилятор расолагает перемнные в естественном порядке, а в Net - младшими байтми вперед.
Это как-то опционально меняется, или это раз и навсегда так сделано?
Всем спасибо.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0370 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.