ExtremeCodeOS icon indicating copy to clipboard operation
ExtremeCodeOS copied to clipboard

Com 2.1

Open ghost opened this issue 3 years ago • 9 comments

Компилятор 2.0 для компиляции программ.

Да, тут есть .exe файл, но я не знаю как скомпилировать программу в gcc

(Вообще я должен был его доделать вчера, но из-за своей тупости, не успел)

ghost avatar Nov 29 '21 14:11 ghost

Возможно проблемы у меня, но вот что пишет

Безымянный

mvaydev avatar Nov 29 '21 15:11 mvaydev

@invizex Посмотри в файл CompilerLog.log

ghost avatar Nov 29 '21 17:11 ghost

@ketsushiri Ты похоже не полностью не понимаешь логику программы. Json файл нужен для возможности указание аргументов и главного файла. Конечно можно доработать твою идею и сделать файлы со своим форматом записи данных, но так он со временем развития превратится в кривую пародию cmake (это не очень хорошо).

ghost avatar Dec 10 '21 14:12 ghost

@maxsssssssss Да, это я понял. Просто с точки зрения удобства пользования было бы более резонно, если бы компилятор сам ползал по директориям нужных программ и собирал оттуда всю инфу об аргументах, компиляторе и прочем. Это удобнее именно с точки зрения разработки других программ, потому что не нужно явно лезть в один большой (а при увеличении кол-ва программ он станет большим) json файлик и добавлять туда своё творчество. Свой же формат так же будет способствовать упрощению как компилятора (не нужно будет тянуть огромную зависимость), так и улучшению, как щас модно говорить, юзер-экспириенса. Второе следует из упрощения формата файла с инфой для компилятора. Это всё, как водится, имхо.

kurumishka avatar Dec 10 '21 20:12 kurumishka

Хорошо, исправлю данную проблему. Также изначально планировалось приложение с UI для удобного добавления программ. Кстати по поводы того что не надо передавать список с типами компиляции в аргументах функции, ты предлагаешь создать глобальную переменную?

ghost avatar Dec 11 '21 10:12 ghost

Кстати по поводы того что не надо передавать список с типами компиляции в аргументах функции, ты предлагаешь создать глобальную переменную?

Нет, передавать надо, просто делать это не по значению, а по ссылке. Там всё равно вектор внутри функции никак не меняется, поэтому явно копировать значения ни к чему (это просто не эффективно, каждый раз по-новой выделять память на стеке и копировать содержимое вектора при вызове функции), поэтому передавай если что по ссылке.

kurumishka avatar Dec 11 '21 10:12 kurumishka

#206

ghost avatar Dec 11 '21 12:12 ghost

@ketsushiri Я решил прийти к компромиссу. Так вот вместо одного огромного файла или вместо кучи файлов случайно разбросанными по разным директориями. Я решил что будет хорошо выделить отдельную папку где будут ВСЕ файлы с точками компиляции. Также решил расширить функционал а именно, добавить возможность указать какая точка компиляции будет выполнятся если удалось или не удалось, выполнить эту точку компиляции.

ghost avatar Dec 11 '21 17:12 ghost

Все проблемы исправил. Но при этом создал кучу других (наверно) :)

ghost avatar Dec 12 '21 18:12 ghost