Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Запись файла лога (2 стр)

Запись файла лога (2 стр)

Страницы: 1 2
innuendoПостоялецwww13 июня 201811:36#15
Aroch
> тебе уже сказали, перехватывай segfault и обрабатывай в нем, нет большого
> смысла каждый раз делать fflush()

а если подвисло ?

BowmanПостоялецwww13 июня 201811:53#16
innuendo
> а если подвисло ?
Ловишь SIGTERM и тогда пишешь на диск. Если конечно кто-нибудь прибьёт процесс :D
DelfigamerПостоялецwww13 июня 201812:40#17
Ну или реально, перекачивай свой лог трубами/сокетами в отдельную программу, fflush() на трубах/сокетах дешёвый, а у простого логопрокси меньше шансов сломаться.
Blew_zcПостоялецwww13 июня 201823:08#18
Aroch
> насиловать винты.
А кто сказал, что оно сразу на винт пишется?)
ArochПостоялецwww14 июня 20180:46#19
Blew_zc
> А кто сказал, что оно сразу на винт пишется?)
http://www.cplusplus.com/reference/cstdio/fflush/
Blew_zcПостоялецwww14 июня 20181:51#20
Aroch
Знаю я таких. На линуксе они еще флешку сразу дергают, как написали команду umount, а то и вовсе не пишут.
BishopПостоялецwww14 июня 20181:56#21
Любят же люди себе проблем искать. Решение же тупое-тупое. И самое главное всегда работающее. Сама ОС его реализует. Но нет, нужно обязательно свой рантайм присобачить...

Делаешь под Виндой, так не будь бараном - юзяй WriteFile. И, о чудо, ничего не теряется, запись видна сразу, никакого флуша не надо. Если пишешь до 4КБ за раз то оно ещё и потоко-безопасное.

Daniil PetrovПостоялецwww14 июня 20182:23#22
Хочу немного похвастать :) вот мой зачаток лога:
+ Показать

со временем будет наворачиваться )))

Правка: 14 июня 2018 2:27

DelfigamerПостоялецwww14 июня 20182:38#23
Bishop
> Делаешь под Виндой, так не будь бараном - юзяй WriteFile. И, о чудо, ничего не
> теряется, запись видна сразу, никакого флуша не надо.
Что? Нет, неправда, откуда ты это вообще взял?
При обычном использовании, он работает один-в-один, как fwrite, включая буферизацию в юзерспейсе; а чтобы поиметь полезности с дополнительного контроля - нужно соответствующе его обвесить, вплоть до своей собственной системы буферизации.
В любом случае, логгеру от этого ни капли не легче.

Правка: 14 июня 2018 2:39

ArochПостоялецwww14 июня 20183:12#24
Blew_zc
> Знаю я таких. На линуксе они еще флешку сразу дергают, как написали команду
> umount, а то и вовсе не пишут.
факт остается фактом ос будет пытаться записать сразу после fflush, а то насколько у нее это получится это уже дело десятое.
Страницы: 1 2

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр