![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
То есть при соблюдении следующих условий проблем никогда не возникнет? : - объект создается динамически программой и используется только внутри этой программы - объект существует пока программа работает - объект не должен передаваться между разными модулями программы (.dll, .exe и т.п.), если модули могли быть написаны на разных языках программирования или собраны разными компиляторами, а также сохраняться на диск или передаваться во внешний источник - программа должна быть пересобрана заново на новой архитектуре, перенос исполнимого файла между компьютерами не допускается |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
SABROG, не слишком ли много условностей ? к тому же по большей мере не относящейся к так называемой проблеме, о которой ведете речь..
это вообше каким боком тут ? а это ? слишком далеко копнули, "проблема" выше .. получить проблему можно легко, не имея ни модулей, ни других языков, просто приведя многобайтовое значение к битовой структуре. Если предназначен для чтения той же самой программой, то никаких проблем..
Ну а битовые поля тут при чем ? Это сообщение отредактировал(а) mes - 28.3.2010, 20:19 |
||||
|
|||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
В той же программе? То есть я создал объект, затем сделал memcpy как для unsigned char* по другому адресу и получил косяк при обратном преобразовании? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
имелись ввиду "длинные" значения, такие как short, int.. с зависимым порядком байт адрес не причем, ну и само битовое представление тоже косвенно.. важен привод к другому типу, например А а = *(А*) &i; // i - int, sizeof(a) == sizeof (i); то результат неопределен (будет зависеть от платформы) хотя на приведенную конструкцию компилятор должен закричать, но от memcpy уже не спасет. при обратном преобразовании, если были учтены размеры и не было потери данных, будет все в порядке. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |