Информация об изменениях

Сообщение Re[9]: Ценность совместимости C++ с C от 27.07.2024 16:21

Изменено 27.07.2024 16:25 Alekzander

Re[9]: Ценность совместимости C++ с C
Здравствуйте, kov_serg, Вы писали:

A>>Я тут вычитал идею писать на связке PHP и C++. С каждым днём она кажется мне всё менее безумной.

A>>Впрочем, наверно, вместо PHP можно взять и что-то получше, да? PHP же не позволяет развернуть #pragma once в гарды? Как там реализовать конструкцию "добавить в конец файла"?

_>Еще вариант lua + c


Я не сталкивался с Lua, но же вроде для ембеддинга, а не для препроцессинга?

Идея в том, чтобы писать макросы типа is_in_set на внешнем языке (типа PHP), пропускать через процессор (например, через pre build steps), он их будет разворачивать в нужное количество сравнений, а затем результат подавать на вход компилятору.

Только вот не уверен я, что код будет выразительнее, чем с дефайнами.

Кроме того, если мы захотим генерировать заголовочные прагма-гарды (#ifndef #define ... #endif) вместе с #pragma once или ИЗ #pragma once, вроде бы, похапе так не может, для этого надо уметь добавлять в конец, даже если там нет тега <? >, да ещё и по-умному, чтобы не было пересечений. Это не самая практичная задача, а просто пример того, что язык и его процессор должны уметь делать.
Re[9]: Ценность совместимости C++ с C
Здравствуйте, kov_serg, Вы писали:

A>>Я тут вычитал идею писать на связке PHP и C++. С каждым днём она кажется мне всё менее безумной.

A>>Впрочем, наверно, вместо PHP можно взять и что-то получше, да? PHP же не позволяет развернуть #pragma once в гарды? Как там реализовать конструкцию "добавить в конец файла"?

_>Еще вариант lua + c


Я не сталкивался с Lua, но он же вроде для ембеддинга, а не для препроцессинга?

Идея в том, чтобы писать макросы типа is_in_set на внешнем языке (типа PHP), пропускать через процессор (например, через pre build steps), он их будет разворачивать в нужное количество сравнений, а затем результат подавать на вход компилятору.

Только вот не уверен я, что код будет выразительнее, чем с дефайнами.

Кроме того, если мы захотим генерировать заголовочные прагма-гарды (#ifndef #define ... #endif) вместе с #pragma once или ИЗ #pragma once, вроде бы, похапе так не может, для этого надо уметь добавлять в конец, даже если там нет тега <? >, да ещё и по-умному, чтобы не было пересечений. Это не самая практичная задача, а просто пример того, что язык и его процессор должны уметь делать.