Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка: размер в памяти неизвестен

85K
09 октября 2012 года
alonsode
3 / / 09.10.2012
Добрый день.
В описании функции int86x (http://www.codenet.ru/progr/cpp/spr/245.php) есть пример:
#i
Код:
#include<dos.h>
#include<process.h>
#include<stdio.h>

int main(void)
{
   char filename[80];
   union REGS inregs,outregs;
   struct SREGS segregs;
   printf("Введите имя файла:");
   gets(filename);
   inregs.h.ah = 0x43;
   inregs.h.al = 0x21;
   inregs.x.dx = FP_OFF(filename);
   segregs.ds = FP_SEG(filename);
   int86x(0x21,&inregs,&outregs,&segregs);
   printf("Атрибуты файла: %X\n",outregs.x.cx);
   return 0;
}
Пытаюсь его скомпилировать, получаю ошибку:
Цитата:
C:\MinGW\bin>gcc ../t.c -o 3d.exe
../t.c: В функции <main>:
../t.c:8:15: ошибка: размер <inregs> в памяти неизвестен
../t.c:8:22: ошибка: размер <outregs> в памяти неизвестен
../t.c:9:17: ошибка: размер <segregs> в памяти неизвестен



Собственно, вопрос: в чем может быть проблема? Гугл ответов не дал, я в затруднении :)

85K
10 октября 2012 года
Ustus
6 / / 04.10.2012
Только что обратил внимание на вот что:
Цитата:
C:\MinGW\bin>


Насколько я знаю, mingw только под вындоус работает. Там другой dos.h и в нем действительно нет ни REGS ни SREGS. Если нужен досовский gcc -- попробуйте DJGPP.

85K
09 октября 2012 года
Ustus
6 / / 04.10.2012
<dos.h> правильный находит? Может, еще один компилятор стоит, борланд, например, ватком?
Переменная среды INCLUDE может указывать на чужие инклюды.
85K
09 октября 2012 года
alonsode
3 / / 09.10.2012
Цитата: Ustus
<dos.h> правильный находит? Может, еще один компилятор стоит, борланд, например, ватком?
Переменная среды INCLUDE может указывать на чужие инклюды.


Да, правильный. Других компиляторов нет. То есть у вас данный код нормально компилится, проблема у меня?

85K
10 октября 2012 года
alonsode
3 / / 09.10.2012
Цитата: Ustus
Только что обратил внимание на вот что:
Цитата:
C:\MinGW\bin>


Насколько я знаю, mingw только под вындоус работает. Там другой dos.h и в нем действительно нет ни REGS ни SREGS. Если нужен досовский gcc -- попробуйте DJGPP.


Теперь всё отлично, спасибо!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог