Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт апр 19, 2024 03:19

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - "Не делайте сами, берите мое"
Автор Сообщение
  Заголовок сообщения:  Re: "Не делайте сами, берите мое"  Ответить с цитатой
Сервер Форт-машин http://fpauk.narod.ru/netforth.zip
Функция pthread_getspecific дает некоторую альтернативу юзеровским переменным Форта,
но ужасные тормоза. Пока я особо за скоростью не гонюсь.
Сообщение Добавлено: Вт сен 11, 2012 23:34
  Заголовок сообщения:  Re: "Не делайте сами, берите мое"  Ответить с цитатой
Mihail писал(а):
Но под Линуксом можно использовать write и read

Точно, это я как-то упустил из виду.
Сообщение Добавлено: Сб сен 08, 2012 09:48
  Заголовок сообщения:  Re: "Не делайте сами, берите мое"  Ответить с цитатой
VoidVolker писал(а):
Под виндой для сокетов есть отдельные апи.


send и recv работают и тат и там. Но под Линуксом можно использовать write и read.
Это позволяет перенаправлять потоки ввода вывода. Чтобы под виндой можно
было перенапрвлять потоки я идентификатор сокетов отметил единицей в знаковом разряде
http://fpauk.narod.ru/netforth.7z
В зависимости от этого флага вызывается ( send и recv ) или (write и read).
Код:
ssize_t twrite (int __fd, __const void *__buf, size_t __n)
{
   if(__fd&0x80000000) return(send(__fd^0x80000000,__buf,__n,0));
   else   return(write(__fd,__buf,__n));
}

ssize_t tread (int __fd, __const void *__buf, size_t __n)
{
   if(__fd&0x80000000) return(recv(__fd^0x80000000,__buf,__n,0));
   else   return(read(__fd,__buf,__n));
}


Как отследить нажатие клавиши по средствам телнета я не нашел.
Т.ч. пример тетрис работает только в локальном терминале.
Для работы в локальном терминале нужно
закомментировать спроку
netid=c_accept(c_serv(3333))|0x80000000;
пересобрать систему
Сообщение Добавлено: Пт сен 07, 2012 15:03
  Заголовок сообщения:  Re: "Не делайте сами, берите мое"  Ответить с цитатой
Под виндой для сокетов есть отдельные апи.
Сообщение Добавлено: Чт авг 30, 2012 18:49
  Заголовок сообщения:  Re: "Не делайте сами, берите мое"  Ответить с цитатой
http://fpauk.narod.ru/netforth.tar.gz Форт-машина в виде telnet сервера
(версия SOD.MAK) (порт 3333).
Под виндой не работает. На сколько я понял, win32 не позволяет
работать с сокетами как с файлами.
Не работают KEY и KEY? - соответственно, пример tetris тоже не работает.
Сообщение Добавлено: Чт авг 30, 2012 16:20
  Заголовок сообщения:  "Не делайте сами, берите мое"  Ответить с цитатой
Сюда буду сбрасывать призывы "брать из инета готовое" и "доделывать давно начатое".
Сообщение Добавлено: Пт мар 09, 2012 16:50
  Заголовок сообщения:  Re: OpenForth  Ответить с цитатой
zehotello писал(а):
Кста, ассемблер тоже входит в мою личную программу

Вроде EFORTH самый простой.
С исходниками форт-системы можно разобраться не зная ни форта ни языка
на котором она написана. Т.к примитивы лежащие в основе форт-системе,
в большинстве, являются примитивами в изначальном смысле этого слова.
Сообщение Добавлено: Пт мар 09, 2012 16:47

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB