M
mspSUSE
Посмотрите, пожалуйста, код,
он компилируется на TDM GCC,
но к сожалению результирующий файл не работает под Windows 7, 8, 32-64 bits
Помогите, пожалуйста, разобраться.
он компилируется на TDM GCC,
но к сожалению результирующий файл не работает под Windows 7, 8, 32-64 bits
Помогите, пожалуйста, разобраться.
Код:
# include <stdio.h>
# include <conio.h>
# include <iostream>
# include <windows.h>
void print_xy (
int x, // абсцисса
int y, // ордината
char s, // cимвол
int color, // цвет символа
int fon // фон символа
)
{
// Этот код компилируется под Borland C++ 3.1 и
// и программа работает под Windows 7 32 bit
// Но этот код хотя и компилируется под TDM-GCC Dev-C++
// но, увы, не работает под Windows 7 32 bit -
// зависает с ошибкой :-(
// Код нужен, для того, чтобы постоянно выводить
// текущее время в опредленные позиции консоли во
// во время работы текстового редактора
/*
// MSP, 15.01.99, 10:54
молниеносный вывод символа на экран, через видеопамять.
модель памяти Large
Иногда бывает удобно или необходимо изменить модель памяти
для отдельных функций или данных. Это изменение можно
произвести с помощью модификаторов near, far и huge.
char far *
data;
Указатель data теперь является дальним указателем независимо
от того, какая модель памяти указана компилятору при обработке
программы.
Я указал Compact. А для data будет работать Large.
*/
/*
MSP, 23.03.15, 21:46
По каким адресам располагается окно консоли?
Это правильный код?
*/
char far * v_mem = (char far *) 0xb8000000L;
v_mem += (x - 1) * 2 + (y - 1) * 160;
* v_mem ++ = s;
* v_mem = color + (fon * 16);
} // end void print_xy (int, int, char, int, int)
using namespace std;
int main ()
{
system ("cls");
// молниеносный вывод белого символа на синем фоне символа (!)
// в позицию (10, 8) экрана консоли,
// при молниеносном выводе
// курсор отключен, его не видно, он не мигает
print_xy (10, 8, '!', 15, 1);
getch ();
return 0;
}