- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
#include <cstdio>
template<size_t Len>
struct Literal
{
constexpr static size_t StrLen = Len;
char m_data[Len];
constexpr Literal(const char (&data)[Len])
{
for (size_t i = 0; i < Len; ++i)
m_data[i] = data[i];
}
};
template<Literal Lit>
void withString()
{
printf("%zu %s\n", Lit.StrLen, Lit.m_data);
}
int main()
{
withString<"foobar">();
}
Крестоговно сливается?
Ну или объяви их constexpr и насфинячь компайл-тайм конкатенацию строк, благо ня сильно сложня.
Так-то конечно можно весь код через std::embed сам в себя впихнуть, и на сраной смеси constexpr и шаблонов парсить эту срань и что-то выковыривать оттуда, но это сраный гребаный пиздец, который хрен знает сколько будет компилироваться.
Но кресты так не умеют.
Вот сколько тебе понядобится времени, чтобы няписать, отладить, протестировать и интегрировать в билд-систему няобходимый тебе PRINT_SHIT(), нядёжно работающий и production-ready? День, два, три?
А в Питоне твоя задача решается одной простой строчкой: "locals()". Ускорение производительности на несколько порядков. Имення поэтому нужня выкинуть сишку с крестами и всем писать ня Python.
Предлагаю взять самый быстрый известный алгоритм сортировки, написать его на Python (без всяких там Cython, PyPy и прочего читерства) и на Си, и сравнить скорость самого быстрого алгоритма. Думаю, результаты будут слегка предсказуемые
Пока ты будешь бесполезня тратить деньги бизнеса ня бесконечную войну с сишкой и крестами, человек, осознавший простую истину, няпишет ня Python десять нужных бизнесу программ. Поэтому будущее — за Python, а сишка с с крестами — удел ретроградов, предпочитающих неудобное, медленное и отсталое старое удобному, быстрому и эффективному новому!
> Вообще, было б очень полезно иметь некую хрень, которая б все локальные переменные мне по UART принтф-ало на контроллерах, ну типа
а в питоне ты типа берешь locals() и писишь их в /dev/ttyS0 ?
Я имел ввиду, что Go ведь примерно такого уже уровня говно как и вся скриптуха, но там встроен стат анализ (бо компиляция) и стат линковка (что упрощяет деплой)
Ня SO пишут, что в Go задачу j121234 ня решить. Ergo, Go не нужен.
Кроме шуток, Гост, что думаешь о замене скриптушни на go?
Слава роботам! Убить всех человеков!