Четверг, 28 Марта 2024, 11:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум игроделов » Программирование » C/C++ » Хакерский движок для линукс
Хакерский движок для линукс
drcrackДата: Пятница, 17 Мая 2019, 09:56 | Сообщение # 21
старожил
Сейчас нет на сайте
Цитата
Всякие ../../../../ несложно обрабатывать, если написать нормальный парсер-преобразователь

зачем писать парсер если можно взять готовую либу?
afqДата: Пятница, 17 Мая 2019, 14:48 | Сообщение # 22
Разработчик
Сейчас нет на сайте
drcrack, что за либа?

Добавлено (17 Мая 2019, 15:29)
---------------------------------------------
Мой парсер занял 50 строк, чтобы разобрать строку. Правда в этой строке есть пропуски строк для удобства чтения. 50 строк это вместе с названием функции.

drcrackДата: Пятница, 17 Мая 2019, 16:09 | Сообщение # 23
старожил
Сейчас нет на сайте
Цитата
Мой парсер занял 50 строк, чтобы разобрать строку. Правда в этой строке есть пропуски строк для удобства чтения. 50 строк это вместе с названием функции.

покажи юнит тесты к нему, я тебе парочку строк докину с которыми он не справится (хотя не обещаю :D )


Сообщение отредактировал drcrack - Пятница, 17 Мая 2019, 16:09
afqДата: Пятница, 17 Мая 2019, 16:13 | Сообщение # 24
Разработчик
Сейчас нет на сайте
drcrack, у меня нет unit тестов к нему. А нука докинь эти пару строк, я проверю.

Добавлено (17 Мая 2019, 16:13)
---------------------------------------------
drcrack, и выложу фото с результатом.

Добавлено (17 Мая 2019, 16:14)
---------------------------------------------
Только не много, потому что вручную буду вводить. Пока неохота отделять код в отдельную программу.

Добавлено (17 Мая 2019, 16:21)
---------------------------------------------
Вот код, можешь под него подогнать свой тест. Сделал картинку, чтобы переписывать сложнее было.

drcrackДата: Пятница, 17 Мая 2019, 16:53 | Сообщение # 25
старожил
Сейчас нет на сайте
Цитата
Сделал картинку, чтобы переписывать сложнее было.

спасибо, очень удобно
JackNazaryanДата: Пятница, 17 Мая 2019, 17:03 | Сообщение # 26
старожил
Сейчас нет на сайте
Цитата drcrack ()
зачем писать парсер если можно взять готовую либу?

К сожалению, я не очень компетентен в вопросах библиотек для CPP, поэтому не знаю, что по ним. Просто автор, как мне казалось, предпочитает делать всё сам)
afqДата: Пятница, 17 Мая 2019, 17:21 | Сообщение # 27
Разработчик
Сейчас нет на сайте
drcrack, незнаю даже что ты можешь предложить в качестве строки, чтобы воспроизвести ошибку.
Вот например ещё один снимок, я попробывал перейти по каталогам, которых не существует.
drcrackДата: Пятница, 17 Мая 2019, 17:23 | Сообщение # 28
старожил
Сейчас нет на сайте
Цитата
Просто автор, как мне казалось, предпочитает делать всё сам)

это да, он даже auto не использует :D

Цитата
Вот например ещё один снимок, я попробывал перейти по каталогам, которых не существует.

попробуй
cd //usr//./..//.//../../usr//
если получится, следующий тест — попробуй перейти в каталог с юникодом в имени :D


Сообщение отредактировал drcrack - Пятница, 17 Мая 2019, 17:24
afqДата: Пятница, 17 Мая 2019, 17:48 | Сообщение # 29
Разработчик
Сейчас нет на сайте
drcrack,
drcrackДата: Пятница, 17 Мая 2019, 17:53 | Сообщение # 30
старожил
Сейчас нет на сайте
а у тебя вообще есть usr? если нет, попробуй с bin или любым реально существующим

для юникода попробуй
mkdir
--
UPD: форум сьел юникод и обрезал пост
https://pastebin.com/wmLTFJqN


Сообщение отредактировал drcrack - Пятница, 17 Мая 2019, 17:54
JackNazaryanДата: Пятница, 17 Мая 2019, 17:57 | Сообщение # 31
старожил
Сейчас нет на сайте
Цитата drcrack ()
попробуй перейти в каталог с юникодом в имени :D

Вы жестокий человек.

afq, печалит, что я не могу сделать ls с другой папкой (условно ls /another/dir) и cd ~ :(
afqДата: Пятница, 17 Мая 2019, 18:01 | Сообщение # 32
Разработчик
Сейчас нет на сайте
drcrack,
Такой юникод не отобразился, только я незнаю записался ли он в память или нет. Но всё равно в игре mkdir функция будет не доступна. А так даже с bin не сработало. Видишь ли. У меня проверяет каждый шаг. Если такого каталога не существует, то дальше он не пойдёт, а вернётся на свой исходный каталог.

Добавлено (17 Мая 2019, 18:02)
---------------------------------------------
А щас cd юникод проверю.

Добавлено (17 Мая 2019, 18:04)
---------------------------------------------
drcrack, сделал, пишет что такой каталог не существует. Создал каталог юникод и попробывал перейти к нему.

Добавлено (17 Мая 2019, 18:06)
---------------------------------------------
JackNazaryan, (условно ls /another/dir) ls должно работать вроде. А вот cd ~/ я забыл про это. Но в своей, той, которая не на github, я сделаю.

Добавлено (17 Мая 2019, 18:07)
---------------------------------------------
Здесь ls работает

martukДата: Пятница, 17 Мая 2019, 18:21 | Сообщение # 33
заслуженный участник
Сейчас нет на сайте
Видимо у drcrack разыгрался спортивный интерес сломать твой алгоритм =)
afqДата: Пятница, 17 Мая 2019, 18:38 | Сообщение # 34
Разработчик
Сейчас нет на сайте
drcrack, а не, всё работает. Я посмотрел код mkdir, и не учёл что можно создать один каталог из своего каталога. Щас всё нормально.


Добавлено (17 Мая 2019, 18:39)
---------------------------------------------
martuk, да вариантов то не много как можно сделать.


Сообщение отредактировал afq - Пятница, 17 Мая 2019, 18:47
JackNazaryanДата: Пятница, 17 Мая 2019, 18:55 | Сообщение # 35
старожил
Сейчас нет на сайте
Цитата martuk ()
Видимо у drcrack разыгрался спортивный интерес сломать твой алгоритм =)

Ставлю пивас, что он тестер или около того, это их любовь :D

Цитата afq ()
А вот cd ~/ я забыл про это. Но в своей, той, которая не на github, я сделаю.

Отлично. Только надо помнить, что ~ лишь константа с /home/user, а потому cd ~/подпапка/еще-подпапка тоже должны работать)
afqДата: Пятница, 17 Мая 2019, 19:02 | Сообщение # 36
Разработчик
Сейчас нет на сайте
drcrack, а блин щас проверил на реальной консоли, если перейти на ..//////, то ошибки не будет, просто перейдёт на ../

Добавлено (17 Мая 2019, 19:02)
---------------------------------------------
Надо делать.

Добавлено (17 Мая 2019, 19:06)
---------------------------------------------
Всё исправил. Теперь переходит как надо.

Добавлено (17 Мая 2019, 19:16)
---------------------------------------------
Хорошо что мы задумались над моей темой. Теперь вроде все ошибки исправлены. Теперь консоль напоминает реальную консоль. Только пока нет пути, где ты находишься, но это тоже не сложно сделать.

drcrackДата: Пятница, 17 Мая 2019, 19:17 | Сообщение # 37
старожил
Сейчас нет на сайте
вот, уже лучше :D

Добавлено (17 Мая 2019, 19:30)
---------------------------------------------
следующий тест:
https://pastebin.com/wk1xcFQW

суть в том что имя каталога — 2-байтный юникод символ состоящий из 195 и 181 (в десятичной системе)
для проверки мы переходим в каталог по имени которое состоит из одного байта 195
если ты неправильно обрабатываешь юникод, ты проверишь только первый байт и ошибочно перейдешь в каталог

afqДата: Пятница, 17 Мая 2019, 19:45 | Сообщение # 38
Разработчик
Сейчас нет на сайте
Всё нормально.
drcrackДата: Пятница, 17 Мая 2019, 20:23 | Сообщение # 39
старожил
Сейчас нет на сайте
все нормально кроме шрифтов в браузере, я уж и забыл какие они там страшные
последний раз линукс на десктопе видел лет 5 назад
XakepДата: Понедельник, 27 Мая 2019, 15:26 | Сообщение # 40
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата drcrack ()
игру на с++ под линукс с русскими комментами? нет, не стоит

И почему русские комментарии - это плохо? У нас в компании принято писать комментарии исключительно на русском, коммиты тоже на русском, документацию на русском, а все потому, что у нас все разработчкие - русские, у многих есть проблемы с письменным английским (даже если свободно читают документацию), нанмого проще выражать свои мысли на родном языке и шанс, что комментарий будет адекватный и более детальный намного выше, чем, если бы ты писал на английском.
Форум игроделов » Программирование » C/C++ » Хакерский движок для линукс
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг