wizzard: (Default)
[personal profile] wizzard
Я тут решил для разнообразия пописать что-то низкоуровневое, но морочиться с тулчейнами не хотелось. Ну и скорость итераций я в последнее время ценю.

В общем, откладываем в сторону gcc, clang и всю эту прочую тормозную братию.

Берем TCC (Tiny C Compiler) от Fabrice Bellard, под винду это choco install tinycc, под другие ОС, наверное, где-то так же, и любой file watcher, я взял nodemon, т.к. он был под рукой уже. Делаем 2 файла:
test.cmd: 
tcc -run app.c < test_input.txt

watch.cmd:
nodemon -e * -w . --exec test.cmd

И любимый текстовый редактор, у меня и Sublime и VS открыты были, благо, в студии сейчас не нужно создавать проекты, можно просто Open Folder.

Вуаля, полсекунды после Ctrl-S, и уже можно смотреть результаты теста. Если оно упало, или если повисло - на следующем сохранении nodemon прибьет child-процессы и перезапустит заново. Большинство хедеров у tcc прямо в дистрибутиве, но в целом даже свалка из Windows SDK собирается и показывает окошко с кнопкой менее чем за секунду.

Жаль, что мне такой пайплайн не пришел в голову в свое время в универе. Прям очень удобно. Век живи, век учись.

Date: 2018-02-13 06:09 am (UTC)
From: [personal profile] dsfhjkl
а если еще пайпы в линухе

Date: 2018-02-13 11:47 am (UTC)
From: [personal profile] dsfhjkl
app.c < test_input.txt можно переделать этот кусок, в while true и оно будет ждать новых данных в test_input.txt только добавили, тут же выполнилось

Date: 2018-02-13 11:51 am (UTC)
From: [personal profile] dsfhjkl
)

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2025 12:57 pm
Powered by Dreamwidth Studios