Список форумов Русский TADS Русский TADS
Русский TADS. Разработка текстовых игр на русском языке. Интерактивная литература.
Второй форум находится здесь.
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Все падежные формы?
На страницу Пред.  1, 2
 
Начать новую тему   Ответить на тему    Список форумов Русский TADS -> Русифицированный ТАДС
Предыдущая тема :: Следующая тема  
Автор Сообщение
Stas Starkov
Tester


Зарегистрирован: 14.03.2003
Сообщения: 28
Откуда: Россия, г. Уфа

СообщениеДобавлено: Вс Июл 20, 2003 10:45 am    Заголовок сообщения: Ответить с цитатой

GrAnd писал(а):
О ссылках: покажешь, как это делается? Как только выделяю память снаружи, начинаются глюки.

Код:
#include "malloc.h"
#include "string.h"

void Run( char * str, bool bShow ) {
   if ( bShow )
      printf( str );
   else
      strcpy( str, "Hi there.\n" );
}

void Run2( char * str, bool bShow ) {
   if ( bShow )
      printf( str );
   free( str );
}

void main() {
   char * str1;
   str1 = (char *) malloc( 1000 );
   strcpy( str1, "Hello World!\n" );
   Run( str1, true );
   char * str2;
   for ( long int i = 0; i < 1000000; i++ ) {
      str2 = (char *) malloc( 1000 );   // выделяем наверняка излишнюю память
      strcpy( str2, str1 );
      Run( str2, false );   // вызываемая функция возвращает строку
      if ( i == 3000 )
         printf( str2 );
      free( str1 );
   }
// если звгвоздка в том, что неизвестен размер, необходимый для выделения переменной, то:
//   1. а точно нельзя выделить очень "большой" кусок памяти (64 Кб) если это может решить все проблемы?
//   2. освобождать память внутри вызываемой функции (или в конце цепочки функций):
   char * str3;
   for ( i = 0; i < 1000000; i++ ) {
      str3 = (char *) malloc( strlen( "Ho-ho\n" ) + 1 );
      strcpy( str3, "Ho-ho\n" );
      Run2( str3, i == 2000 );
   }
//   3. не освобождаем вообще (потенциально опасно):
//   free( str );
}


/*
   рассмотрим следующую функцию:
char* ruslat(char* str) {
   char *newstr=(char *)malloc(2256);

   . . .

   newstr[0]='\0';
   
   . . .

   return newstr;
}

нет смысла _возвращать_ newstr; лучше:

void ruslat( char * str, char * strNew ) {
   strNew[0] = '\0';
}
а уж второй параметр вызываемой функции должен освобождаться позже
*/

GrAnd писал(а):
На пне 1.7 МГц память зажирается с скростью 3 Мб/сек если зажать ентер :D

Протестировал -- почти аналогично. :-(

GrAnd писал(а):
О других ОС: для того я и стал переделывать под классический Си, а не оставил операции над AnsiString, что легче. Чтобы можно было ГнуСью, например, под другие ОС переписать.

А _HTML_TADS работает под Linux?

А желающие играть под Linux/Mac есть? С наладонниками легче -- желающие имеются, а вот интерпретатора, насколько знаю, нет... или есть?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Stas Starkov
Tester


Зарегистрирован: 14.03.2003
Сообщения: 28
Откуда: Россия, г. Уфа

СообщениеДобавлено: Вс Июл 20, 2003 11:00 am    Заголовок сообщения: Ответить с цитатой

P.S. Пожалуйста, не исправляй _пока_ свои исходники -- я хочу всеже вначале адаптировать "Генератор" под VC++. А потом уже можешь делать с ними что хочешь. :-)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
GrAnd
Site Admin


Зарегистрирован: 04.02.2003
Сообщения: 299
Откуда: Россия, Москва

СообщениеДобавлено: Вс Июл 20, 2003 11:34 am    Заголовок сообщения: Ответить с цитатой

Stas Starkov писал(а):
Пожалуйста, не исправляй _пока_ свои исходники -- я хочу всеже вначале адаптировать "Генератор" под VC++. А потом уже можешь делать с ними что хочешь. Smile

Ладно. Тем более, что я скоро уезжаю.

О Linuxe см. здесь: http://www.xyzzynews.com/htmltads_linux.html

С наладонникоми, увы, будут счастливы будут лишь обладатели PocketPC и других Windows CE устройств.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Stas Starkov
Tester


Зарегистрирован: 14.03.2003
Сообщения: 28
Откуда: Россия, г. Уфа

СообщениеДобавлено: Вс Июл 20, 2003 10:40 pm    Заголовок сообщения: Ответить с цитатой

GrAnd писал(а):
Stas Starkov писал(а):
Пожалуйста, не исправляй _пока_ свои исходники -- я хочу всеже вначале адаптировать "Генератор" под VC++. А потом уже можешь делать с ними что хочешь. :-)

Ладно. Тем более, что я скоро уезжаю.

О Linuxe см. здесь: http://www.xyzzynews.com/htmltads_linux.html

Посмотрел... хммм... действительно работает... Вот только будут ли идти игры на русском языке под этими интерпретаторами? Кто ни будь пробовал их запускать?
GrAnd писал(а):
С наладонникоми, увы, будут счастливы будут лишь обладатели PocketPC и других Windows CE устройств.

В описании, например, QTads указано, что возможно портировать программу и под любые ОС (включая наладонники), имеющие Qt, GCC...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
GrAnd
Site Admin


Зарегистрирован: 04.02.2003
Сообщения: 299
Откуда: Россия, Москва

СообщениеДобавлено: Пн Июл 21, 2003 12:53 pm    Заголовок сообщения: Ответить с цитатой

Про PalmOS пишут, что не совместимы модели памяти... Тут уж мало что поможет.

Кстати, Стас, у тебя ничего с почтой не случилось?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Stas Starkov
Tester


Зарегистрирован: 14.03.2003
Сообщения: 28
Откуда: Россия, г. Уфа

СообщениеДобавлено: Пт Июл 25, 2003 12:16 am    Заголовок сообщения: Ответить с цитатой

GrAnd писал(а):
Про PalmOS пишут, что не совместимы модели памяти... Тут уж мало что поможет.

Неужели для Palm нет Qt, или хотя бы GCC (CNU C Compiler)?!

GrAnd писал(а):
Кстати, Стас, у тебя ничего с почтой не случилось?

Уже ответил. Извини за длительную задержку.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Русский TADS -> Русифицированный ТАДС Часовой пояс: GMT + 4
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group