extremecodetv / ExtremeCodeOS

New gen. Linux
Other
306 stars 25 forks source link

Com 2.1 #205

Open ghost opened 2 years ago

ghost commented 2 years ago

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

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

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

mvaydev commented 2 years ago

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

Безымянный

ghost commented 2 years ago

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

ghost commented 2 years ago

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

kurumishka commented 2 years ago

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

ghost commented 2 years ago

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

kurumishka commented 2 years ago

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

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

ghost commented 2 years ago

206

ghost commented 2 years ago

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

ghost commented 2 years ago

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