Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.10.2011, 06:47   #1
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию Ошибка при компиляции.

В чем собственно причина ошибки в этом коде? Взято из книги Подбельского на 112-113 стр(жаль книга древняя, но зато понятная).
Код:

#include "iostream.h"
#include "conio.h"
void main (void)
{ char *computer=(char *)0x000FFFE;
   cout << "\n прога выполняется на ";
   switch (*computer)
  {
      case (char)0xFF: cout << "эвм типа IBM PC. "; break;
      case (char)0xFE: cout << "эвм типа IBM PC XT. "; break;
      case (char)0xFD: cout << "эвм типа IBM PCjr. "; break;
      case (char)0xFC: cout << "эвм типа IBM PC AT. "; break;
      default: cout << "неизвестный тип эвм";
  }
  getch();
}

Предположительно(при переводе с анг. на рус. текста ошибки) это закрытий участок памяти. Ось - SP3 Zver. Юзаю "С++ Builder 6".
Ошибка на картинке
Изображения
Тип файла: jpg Безымянный.jpg (38.6 Кб, 43 просмотров)
__________________
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума   Ответить с цитированием
Старый 07.10.2011, 07:12   #2
TinMan
Участник клуба
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
Репутация: 728
По умолчанию

Ты пытаешься выполнить под виндой досовскую прогу. Она честно лезет в системную память, полагая, что так и нужно )). Лучше найди виндусовые примеры для обучения.

Только это ошибка не компиляции! Это ошибка выполнения.
__________________
Предпочитаю на "ты".
TinMan вне форума   Ответить с цитированием
Старый 07.10.2011, 07:35   #3
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию

Спасибо, TinMan(Жестянщик 0_о). Я долго пытался отрыть книгу нормальную. Перелапотил штук 5. По первым 50 страницам мне "всё стало понятно" и над ними было произведено действие "shift+del". Этот пример показывает работу с указателями, и код понятный (хоть и не рабочий). Мне попросту срочно надо освоить С++, потом OpenCL, и к этому разобраться, как использовать технологию CUDA. И собрав воедино сие мечтаю сделать графический движок со всеми наворотами. Дипломный проект такой хочу замутить, ибо я на 5 курсе.
__________________
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума   Ответить с цитированием
Старый 07.10.2011, 07:44   #4
TinMan
Участник клуба
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
Репутация: 728
По умолчанию

Пожалуйста )). План несколько сжатый, по-моему. Вникай, там видно будет ). Посоветовать книгу не смогу, к сожалению..
Цитата:
Сообщение от Rin Посмотреть сообщение
TinMan(Жестянщик 0_о)

"The Tin Woodman, sometimes referred to as the Tin Man"
__________________
Предпочитаю на "ты".
TinMan вне форума   Ответить с цитированием
Старый 07.10.2011, 08:06   #5
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию

Ничего, Pascal с нуля за полтора месяца(начиная с терминов "var", "const", "процедуры и фунуции" и заканчивая потоками и чуть-чуть WIN32 API) выучил . Думаю и с этим разберёмся. Мне это интересно!
Цитата:
"The Tin Woodman, sometimes referred to as the Tin Man"
Я предполагал, но лучше спросить, чем строить догадки .
__________________
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума   Ответить с цитированием
Старый 07.10.2011, 09:07   #6
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
Репутация: 16
По умолчанию

а тут случайно ошибка не в том, что вместо char надо юзать wchar_t ?
Kukurudza вне форума   Ответить с цитированием
Старый 07.10.2011, 10:45   #7
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,740
Репутация: 1932

icq: 216409213
По умолчанию

нет

................................... ..
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 07.10.2011, 11:34   #8
Blade
Software Engineer
Профессионал
 
Аватар для Blade
 
Регистрация: 07.04.2007
Адрес: Москва
Сообщений: 1,618
Репутация: 389

icq: 303547894
По умолчанию

Цитата:
Сообщение от Rin Посмотреть сообщение
Мне попросту срочно надо освоить С++, потом OpenCL, и к этому разобраться, как использовать технологию CUDA. И собрав воедино сие мечтаю сделать графический движок со всеми наворотами. Дипломный проект такой хочу замутить, ибо я на 5 курсе.
Самому не смешно?
Вы либо совершенно не представляете то, о чем говорите, либо не вполне адекватны.
__________________
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума   Ответить с цитированием
Старый 07.10.2011, 12:32   #9
pproger
C++ hater
СуперМодератор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,305
Репутация: 1393

skype: vvviperrr00
По умолчанию

2Rin
как человек, который не знает, что такое виртуальная память и как она связана с физической ВООБЩЕ что-то может написать? тем более на с/с++

2TinMan
Цитата:
Она честно лезет в системную память, полагая, что так и нужно ))
в какую еще "системную" память? он обращается по виртуальному адресу, который видимо не отображается на физический, вот и ловит исключение при разыменовании
pproger вне форума   Ответить с цитированием
Старый 07.10.2011, 13:02   #10
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию

pproger, а с чего вы взяли , что я не знаю про виртуальную память и как она связана с физической? Про страницы, разбитые на 4 Кб, про биты присутствия виртуальной странички в физ памяти и т.д.Расскажите мне про сегментную, страничную и сегментно-страничную организацию, которую я по дисциплине "Организация ЭВМ и систем" изучал. А ещё можете мне поведать про разные DLL типа ntdll, kernel, hal. Про то, что в ОС есть, оказывается, ядро, которое защищено, и просто так не залезть туда. Что процессор работает в реальном режиме и защищённом. Мне всегда нравилась сравнение форумов:
"Американский форум. Вы задали вопрос, вам дали ответ.
Еврейский форум. Вы задали вопрос, вам задали вопрос.
Русский форум. Вы задали вопрос, и вам долго и nxfntkmyj разжёвывают, какой вы му*ак."
Так к чему я веду? Ах, да. Я прихожу на форум за помощью, а не за упрёками, за которыми ничего не стоит.

Blade, почему мне должно быть смешно? И, пожалуйста, разъясните Ваше высказывание:
Цитата:
Вы либо совершенно не представляете то, о чем говорите, либо не вполне адекватны.
__________________
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 07.10.2011 в 13:26.
Rin вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компиляции Dario Общие вопросы C/C++ 2 05.04.2011 21:45
Ошибка при компиляции vovchok777 Общие вопросы C/C++ 1 26.12.2010 17:07
Ошибка при компиляции DKENT Общие вопросы Delphi 4 10.09.2010 15:31
Ошибка при компиляции Коля-Коля Общие вопросы Delphi 0 09.09.2010 18:38
Ошибка при компиляции haste39 Общие вопросы C/C++ 4 13.11.2009 01:24


18:03.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru