который формируется препроцессором (cpp.еxe) до компиляции gcc из разных файлов проекта.
Есть ли возможность проверить во время компиляции (до исполнения кода), что в финальном массиве структур нет повторяющихся элементов?
Питон в помощь
Если доступен g++, можно попробовать что-то на constexpr налабать.
если только из любви к искусству
Ну задача такая. Либо на тех же макросах.
в тулчейне gdc есть ? я бы такие вещи отважился пытаться реализовывать только на D
еще более сложный способ было не придумать? на самом-то деле нужно просто написать примерно десятитстрочник с #include "array.h" и main в котором хоть с квадартичной сложностью проверить уникальность. если все ок генерировать uniq.dat нулевого размера который прописать в зависимости следующего файла.
На данный момент - самое дельное предложение.
читать ТЗ надо внимательно — в compile time
uniq.dat не нужен — make проверяет код возврата от каждой команды, достаточно вывалиться по abort()
нужен. если сборка не изменилась -- можно не запускать проверку
tmp/check: src/check.c array.h $(CC) -o $@ $< && $@ $^
Обсуждают сегодня