Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Программа в C++

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Программа в C++
Имя
Сообщение << Старые топики   Новые топики >>
Программа в C++ - 2011-05-07 12:57:27.130000   
germes92

Сообщений: 15
Оценки: 0
Присоединился: 2010-02-15 16:28:45.810000
Подскажите в чем ошибка не компилируется,программа для определения типа видеоконтролера, даты BIOS и на исправность НМД!
#include <iostream.h>
#include<conio.h>
void main()
{
            clrscr();
            char far b, *b1, *b2;
            int B, B1;
            outportb(0x70,0xE0);
b = intportb(0x70);
B = (int) *b&8;
if (B == 0) cout<<"HMD ispraven";
else cout<<"HMD ne ispraven";
cout<<"\n\n";
b1 = ( char far * ) 0x00400010;
cout<<*b1;
B1 = (int) *b&48;

switch (B1) {
case 0: cout<<"Ne ispol'zuetsa ili EGA"; break;     
case 16: cout<<"CGA, EGA, VGA v rejime 40x25";break;
case 32: cout<<"CGA, EGA, VGA v rejime 80x25";break;
case 48: cout<<"Monohromniy kontroler"; break;
}
cout<<"\n\n";

b2 = ( char far * ) 0xF000FFF5;
cout<<"Data sozdaniya BOIS:\n";
for(int i = 0;i<8; i++) cout<<*(b2++);
getch();
}

Post #: 1
RE: Программа в C++ - 2011-05-07 15:02:37.960000   
KwanzaBot

Сообщений: 129
Оценки: 0
Присоединился: 2011-04-18 19:45:33.773333
Что компилятор выводит?
Post #: 2
RE: Программа в C++ - 2011-05-07 16:51:57.183333   
ShyRka

Сообщений: 235
Оценки: 0
Присоединился: 2010-07-09 10:55:56.626666
Да это не код а хрень какая то.. сначала выправи синтаксические ошибки.. к примеру:
char far b, *b1, *b2; что это???
должно быть так:
char far, b, *b1, *b2;
и т.д. учись и внимательно переписывай примеры!!!
Post #: 3
RE: Программа в C++ - 2011-05-07 17:03:12.393333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25

quote:

ORIGINAL: ShyRka

Да это не код а хрень какая то.. сначала выправи синтаксические ошибки.. к примеру:
char far b, *b1, *b2; что это???
должно быть так:
char far, b, *b1, *b2;
и т.д. учись и внимательно переписывай примеры!!!

far – это ключевое слово, указывающее на то, что указатель содержит адрес с указанием сегмента. Так что запятая там точно лишняя. Другое дело, что если мне не изменяет интуиция объявлять с модификатором far не-указатель – это ошибка. То есть переменная b тоже должна быть указателем. И, кстати, судя по тому как b используется, интуиция мне не изменяет, эта строчка должна выглядеть так:
char far *b, *b1, *b2;
Post #: 4
RE: Программа в C++ - 2011-05-07 20:18:16.060000   
ShyRka

Сообщений: 235
Оценки: 0
Присоединился: 2010-07-09 10:55:56.626666

quote:

ORIGINAL: rgo

quote:

ORIGINAL: ShyRka

Да это не код а хрень какая то.. сначала выправи синтаксические ошибки.. к примеру:
char far b, *b1, *b2; что это???
должно быть так:
char far, b, *b1, *b2;
и т.д. учись и внимательно переписывай примеры!!!

far – это ключевое слово, указывающее на то, что указатель содержит адрес с указанием сегмента. Так что запятая там точно лишняя. Другое дело, что если мне не изменяет интуиция объявлять с модификатором far не-указатель – это ошибка. То есть переменная b тоже должна быть указателем. И, кстати, судя по тому как b используется, интуиция мне не изменяет, эта строчка должна выглядеть так:
char far *b, *b1, *b2;

Сорри действительно прозевал :) ну ошибок там много …
Post #: 5
RE: Программа в C++ - 2011-05-08 00:28:01.216666   
Klofelin

Сообщений: 68
Оценки: 0
Присоединился: 2010-09-03 20:58:52.116666
И мои 3 копейки, не особо углубляясь, замеченные странности:
quote:

b = intportb(0x70);
буква 't' здесь явно лишняя
quote:

clrscr();
это вроде из делфи

для функций in/outport нужен заголовок <dos.h>

Вся эта байда под что-то древнее, чего там было до x86, лично я уже и не помню.
Post #: 6
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Программа в C++







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.