 |
Русский TADS Русский 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++. А потом уже можешь делать с ними что хочешь.  |
Ладно. Тем более, что я скоро уезжаю.
О Linuxe см. здесь: http://www.xyzzynews.com/htmltads_linux.html
С наладонникоми, увы, будут счастливы будут лишь обладатели PocketPC и других Windows CE устройств. |
|
Вернуться к началу |
|
 |
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 пишут, что не совместимы модели памяти... Тут уж мало что поможет.
Кстати, Стас, у тебя ничего с почтой не случилось? |
|
Вернуться к началу |
|
 |
Stas Starkov Tester
Зарегистрирован: 14.03.2003 Сообщения: 28 Откуда: Россия, г. Уфа
|
Добавлено: Пт Июл 25, 2003 12:16 am Заголовок сообщения: |
|
|
GrAnd писал(а): | Про PalmOS пишут, что не совместимы модели памяти... Тут уж мало что поможет. |
Неужели для Palm нет Qt, или хотя бы GCC (CNU C Compiler)?!
GrAnd писал(а): | Кстати, Стас, у тебя ничего с почтой не случилось? |
Уже ответил. Извини за длительную задержку. |
|
Вернуться к началу |
|
 |
|
|
Вы можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|