Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавить поддержку тестирования *.c файлов с различными main #39

Closed
territhing opened this issue Jan 13, 2021 · 3 comments

Comments

@territhing
Copy link
Contributor

Хочецца иметь main для отладки и main для контеста, а их не завезли...

@darkkeks
Copy link
Owner

Можно тупо добавить какое нибудь --kekos first.c --kekos second.c и компилировать только их, а не *.c

Либо можно какие нибудь стремные варианты попридумывать, вида

  • позволить собирать мейкфайлом, указывая таргет (только я в make не умею, и мне неочевидно откуда брать бинарник)
  • сделать кастомный конфиг для задачи, в котором создавать таргеты с аргументами компилятора и файлами, либо просто строкой компиляции

Оба варианта полезны для асма, так как там скорее всего будет полезно кастомные строки компиляции писать (?)

Может @vvd170501 еще какой нибудь вариант предложит 👀

@vvd170501
Copy link
Collaborator

vvd170501 commented Jan 13, 2021

Первый вариант (с именами файлов в аргументах) получится слишком ограниченным.
Возможная ситуация: в решении используется один файл, в нём отладочный код обёрнут в #ifdef DBG. При компиляции нет возможности передать gcc нужный макрос (в kks run все дополнительные аргументы передаются уже скомпилированному бинарнику). Такая же проблема может быть и с асмом.

В варианте с make появляется дополнительная зависимость + не все знают его синтаксис.

Вариант с конфигом выглядит интересно, но в таком случае нужно понять, какие опции он должен поддерживать (предположительно, флаги компилятора/линкера, списки файлов и таргеты).
UPD: возможный вариант реализации

@vvd170501
Copy link
Collaborator

vvd170501 commented Jan 15, 2021

Добавлено в #45

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants