Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
1

помогите проблема указатели и windows x64.

11.03.2012, 16:49. Показов 2269. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
дебагер ошибок не пишет компилируется)...на другом компьютере .ехе запускается где ХРх86...у меня нет вот пишет такую ошибку ...не могу понять что это...запустил под админом...
Миниатюры
помогите проблема указатели и windows x64.  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2012, 16:49
Ответы с готовыми решениями:

HP Pavilion g7 - 2160er переустановил Windows HP x64 на Ultimate x64 - проблема с подсветкой монитора
HP Pavilion g7 - 2160er переустановил windows home premium x64 на Ultimate x64/ Стала выеживаться...

Проблема с установкой windows 8 x64
<a href="https://savepice.ru" target="_blank" title="хостинг картинок"><img...

Проблема с установкой windows-7 x64
Пользуюсь программой UltraISO. При записывании образа на флешку форматом USB-HDD выдаёт...

Windows 7 x64 для многоядерных систем DNA X64 Seven 2010 - после неудачной установки windows 10 pro пропала ак
windows 7 x64 для многоядерных систем DNA X64 Seven 2010 - после неудачной установки windows 10...

29
53 / 53 / 19
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 16:54 2
Ну дебаггер же сообщает ошибку. Непроинициализирована p_p. Она у вас неизвестно чему равна, присвойте ей адекватное значение.
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 16:58  [ТС] 3
я пробовал ни чего не меняется суть в том что на машине№1 х32 работает на машине№2 где х64 нет.
...код я специально сократил чтоб суть было видно...
0
53 / 53 / 19
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 17:01 4
Вы отдельно компилируете исходники на этих машинах?
1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
11.03.2012, 17:01 5
maxht вам компилятор пишет понятным языком, что преждем чем использовать указатель его нужно проинициализировать! присвойте вашему указателю адрес структуры в памяти!
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 17:10  [ТС] 6
нет... компилирую на х64 все норм...создал .ехе на х32ХР работает 1гб памяти...на х64 Вин7 16Гб памяти не работает вот что пишет...zip1(2,3) CXX0030 ошибка.не возможно вычислить выражение...
0
53 / 53 / 19
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 17:15 7
Варианты:
1. Вы выполняете один и тот же код на разных архитектурах
2. Вы таки не присваиваете адекватное значение.
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 17:25  [ТС] 8
panicwassano pc *p_p; это что не инициализация? с типом ини. всегда так работало пока не сел на новую машину. и p_p адрес выделяется я проверял 4кбайт(на х86) на х64 выделение не происходит...

Добавлено через 3 минуты
Duha666- pc *p_p; это что тогда? ...дело в работе с памятью как я полагаю но понятия не имею как проблему решить(

я думал это какаето известная проблема...
проверти код у себя кому интересно)))
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,699
11.03.2012, 17:32 9
Цитата Сообщение от maxht Посмотреть сообщение
pc *p_p; это что не инициализация?
нет это объявления указателя
C++
1
pc *p_p=new pc;
Вот это инициализация

Цитата Сообщение от maxht Посмотреть сообщение
и p_p адрес выделяется
серьезно???
Цитата Сообщение от maxht Посмотреть сообщение
p_p адрес выделяется я проверял 4кбайт
как проверял???
т.е три инта это 4к байта???

Добавлено через 49 секунд
Цитата Сообщение от maxht Посмотреть сообщение
я думал это какаето известная проблема...
ну так тебе и написали не выделил память
1
53 / 53 / 19
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 17:35 10
pc * p_p - объявление p_p, как указателя.
p_p = &jd - один из вариантов инициализации
Указатель в x32 - 4 байта, указатель в x64 - 8 байт.
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 17:49  [ТС] 11
посмотрел адрес куда записан р_р добавил 1 и получил на 4кбайт больше и sizeof(р_р) тож 4кбайт
ооо заработало спасибо ))) интересно для указателей на типы переменных инициализацию никогда не делал и никто не советовал и работает... да и на структуры первый раз такой глюк... ведь при объявлении выделяется память?..
0
Kastaneda
11.03.2012, 17:50
  #12

Не по теме:

Цитата Сообщение от Duha666 Посмотреть сообщение
Указатель в x32 - 4 байта, указатель в x64 - 8 байт
Немного не так, в х32 - 32 бита, в х64 - 64 бита. Байт не всегда 8 бит.

1
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
11.03.2012, 17:51 13
Цитата Сообщение от maxht Посмотреть сообщение
ведь при объявлении выделяется память?..
Для хранения самого указателя да - на стеке. Для объекте, на который указатель ссылается, - нет.
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:05  [ТС] 14
посмотрел адрес куда записан р_р добавил 1 и получил на 4кбайт больше и sizeof(р_р) тож 4кбайт

ооо заработало спасибо pc *p_p=new pc; ))) интересно для указателей на типы переменных инициализацию никогда не делал и никто не советовал и работает... да и на структуры первый раз такой глюк... ведь при объявлении выделяется память?..

p_p = &jd ага вот так я сразу делал и нет...не работает

Добавлено через 13 минут
да ток теперь инициализировать придется многое и мусора будет хоть и не много но как то не правильно...delete*ов уж много выходит...знать бы причину проблемы в корне...я же говорю это вот первый раз такое на новой машине...


fasked-- дак привильно обект и так уже гдет хранится он имеет значение и адрес
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
11.03.2012, 18:07 15
Цитата Сообщение от maxht Посмотреть сообщение
fasked-- дак привильно обект и так уже гдет хранится он имеет значение и адрес
Только вот указатель на него не указывает
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:09  [ТС] 16
Цитата Сообщение от Kastaneda Посмотреть сообщение

Не по теме:


Немного не так, в х32 - 32 бита, в х64 - 64 бита. Байт не всегда 8 бит.

у меня на int 4кбайта...
0
53 / 53 / 19
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 18:11 17
Цитата Сообщение от maxht Посмотреть сообщение
у меня на int 4кбайта...
Ошибаетесь. В любой x64 системе, указатель - 64 бита, в x32 - 32 бита.
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:17  [ТС] 18
sizeof(int);==4
0
53 / 53 / 19
Регистрация: 10.03.2012
Сообщений: 138
11.03.2012, 18:21 19
Во-первых 4 байта, а не кбайта. Во вторых, это размер типа int, а не указателя. И указатель вообще не зависит от типа.
1
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 14
11.03.2012, 18:31  [ТС] 20
не я был не прав не работает!!!!!...после /pc *p_p=new pc;/ память под /p_p/ выделялась а вот при вызове/p_p.zip1/ ошибка
0
11.03.2012, 18:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2012, 18:31
Помогаю со студенческими работами здесь

Из-за чего разница в FPS между Windows 7 x64 и Windows 10 x64 в игре World Of Tanks?
В Общем DirectX отметается сразу! Во первых! Разница на одном и том же железе меж Dx11 и Dx12 НЕ...

Не могу подключиться к Oracle 12c database x64, OS windows 8.1 x64 через orasession delphi
Здравствуйте Хотел перенести БД на новый ПК, там windows 8.1 x64 и установил Oracle 12c database...

Где взять и как подцепить к Code Blocks бесплатный компилятор x64 стандарта C++11 для Windows 7 x64?
Где взять и как подцепить к Code Blocks бесплатный компилятор x64 стандарта C++11 для Windows 7 x64?

X86 или x64 под Windows 10/x64
Только начинаю разбираться с написанием драйверов и как обычно уже миллион вопросов. Установлена...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru