1. C++ / Говнокод #21817

    −16

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    void WaitCompletionProcesses(const std::vector<void*>* ProcessHandles)
    {
    	int count = ProcessHandles->size();
    	std::vector<void*> buffer = ProcessHandles[0];
    	std::vector<void*> running;
    	unsigned long int retcode;
    	void* handle;
    	do
    	{
    		for(int i = 0; i!=count; i++)
    		{
    			handle = buffer[i];
    			GetExitCodeProcess(handle, &retcode);
    			if(retcode==259)
    				running.push_back(handle);
    		}
    		count = running.size();
    		buffer = running;
    		running.clear();
    	}
    	while(count);
    }

    Пишу на досуге одну приблуду для IDE Geany, проблема в том что процессы компиляции асинхронны процессу моей программы, в результате команду на запуск компилятора я дал, но линкер часто хватается за недокомпиленые обектники, как результат ошибка. Нужно ждать пока отработают компиляторы, а потом кидать на линковку - я пока налобал такое, оно еще и работает, но как поступили господа белые.

    Запостил: Psionic, 11 Декабря 2016

    Комментарии (66) RSS

    • О, привет Geany. А я тобой пользуюсь.
      Ответить
    • Ты бы хоть слип воткнул в цикл. А че, в сперму не завезли waitpid?
      Ответить
      • А зачем? С какой целью чего и сколько ждать?
        Ответить
        • Если ты считаешь, что бизи вейт жрущий цпу - это ок, то мне больше нечего тебе сказать.
          Ответить
      • WaitForSungleObject
        Ответить
        • Дело говоришь. Въебал тебе и посту по плюсу.
          Ответить
        • Или WaitForMultupleObjects
          Ответить
          • Multuple круче Sungle

            только раз это (Geany) какбы кросс-платформенная IDE, то почему не буст, почему не thread_group и join_all();

            если по делу - скоро микросовт допишет свою студию для пердоликса, и все эти недоИДЕ окончательно лососнут
            Ответить
            • Как ты хочешь запускать компилятор через thread_group? Я не пони.

              Если по делу, gtihub atom - лучшая ide.
              Ответить
              • смешались кони люди
                твоя правда
                Ответить
              • Я постеснялся бы называть её IDE.
                Скорее уж это редактор с подсветкой.
                Ответить
                • И это плюс, а не минус. Пердящие попапы и тормоза не нужны (хотя для атома есть плагины делающие и первое, и второе).
                  Ответить
                  • И рефакторинги не нужны, и инспекции не нужны, и комплишены не нужны.
                    Ответить
                    • > комплишены
                      Это и есть пердящие попапы. Не нужны, да.

                      > рефакторинги не нужны, и инспекции
                      Это че все такое? Я с помощью текстового редактора нормально код рефакторю.
                      Ответить
                      • На каком ЯП ты пишешь?
                        Ответить
                        • на плюсах
                          Ответить
                          • Что ты делаешь когда тебе нужно переименовать класс или метод?
                            Ответить
                            • Думаю, что ищу по проекту название и либо реплейсом, либо руками заменяю.
                              Ответить
                              • Удобно-ли тебе заменять реплейсом метод с названием типа getId() который может встретиться у семи разных классов?

                                Особенно если этому проекту 8 лет, и его пишет 10 человек?
                                Ответить
                                • http://clang.llvm.org/extra/clang-rename.html
                                  Ответить
                                  • Замечательно.

                                    Один известный IDE тоже начинался с функционала rename.
                                    А потом они решили что удобно запускать его из GUI.
                                    А потом еще удобно видеть инспекции.
                                    И еще удобно навигироваться к сырцам по клику.
                                    И еще добавлять аргумент к методу в три клика.

                                    Угадайте, что получилось в итоге
                                    Ответить
                                    • > Угадайте, что получилось в итоге

                                      Тормозное тяжелое говно, которое невозможно использовать на удалённой машине без иксов?

                                      Я джва года ждал IDE-as-a-service, background-процесс, который понимает проект и интегрируется с любым редактором через IPC. Собственно, поверх libclang не так уж и сложно такое запилить, только лень.

                                      Сейчас, честно говоря, уже пофигу. Написание и правка кода -- не узкое место. Дизайн, выработка и проверка гипотез, тестирование, поиск проблем, оптимизация, etc. занимают гораздо больше времени. Emacs + ycmd + индекс + тесты покрывают 95% моих потребностей.
                                      Ответить
                                      • >>Тормозное тяжелое говно, которое невозможно использовать на удалённой машине без иксов?

                                        Прекрасно можно использовать на удаленной машине, если поднять иксы у себя.

                                        >> Написание и правка кода -- не узкое место
                                        Не спорю, хотя ковыряние в чужом недокументированном коде куда приятнее вести в IDE. Как минимум там есть CTRL+Click, Annotate, find usage и другие удобства.
                                        Да и код с инспекциями становится чище.

                                        Обычно мы наблюдаем blub paradox.
                                        Человек пишет в vim или emacs, и считает что Intellij или Studio это "тормознутное ненужное говно".

                                        Чтобы понятно зачем нужны IDE, их нужно попробовать. А человек их не пробует потому что они "тормознутное ненужное говно".

                                        Миграции с Intelij на vim практически не бывает.


                                        PS: Но я конечно согласен с тем, что выбор IDE это ПОСЛЕДНЕЕ что повлияет на успешность проекта.

                                        Можно гениальные вещи с чистой архитектурой писать в vi, а можно говнокодить в Intellij Idea Ultimate.
                                        Ответить
                                        • > blub paradox

                                          Я пять лет работал с IntelliJ Idea, с джавой без иде вообще работать практически невозможно, а Idea -- единственное, от чего не тошнит.

                                          Каждый раз, когда я смотрел на CLion, он был таким тормозным и унылым говном, что больше и смотреть не хочется.
                                          Ответить
                                          • >>Я пять лет работал с IntelliJ Idea, с джавой без иде вообще работать практически невозможно.

                                            Орлы?
                                            Повторите для студентки с по общественности, пожалуйста.

                                            В чем принципиальное отличие джавы от крестов в плане требований к IDE?

                                            CLion молодой пока, будет потом стабильнее.
                                            Приходилось писать под винду? Пробовали Visual Studio с Visual Assist или R# С++?
                                            Ответить
                                        • Я одно время пользовался эклипсом, кстати.
                                          Ответить
                                          • Эклипс хороший пример продкута, которsq тормозит как серьезный IDE, и при этом тупой как обычный редактор
                                            Ответить
                                            • Всё, написанное на Java, тормозит, потому что Java предназначена для серьёзных продуктов.
                                              Ответить
                                              • Джава тормозит
                                                Виндуос глючит
                                                В линуксе все нужно делать руками и это сложно
                                                Любая программа на си течет памятью
                                                В лесу живет бабайка и ест тех, кто плохо себя ведет
                                                Ответить
                                                • до бабайки все правильно говорил
                                                  Ответить
                                                  • А что, бабайка ест не всех, кто плохо себя ведёт, или наоборот, иногда также ест тех, кто ведёт себя хорошо?
                                                    Ответить
                                                    • > бабайка ест не всех

                                                      Подозреваю, если бабайка голоден, ему наплевать на фактическое поведение.
                                                      Ответить
                                                      • Нет, он ест именно непослушных:

                                                        Баба́й/баба́йка (тат. бабай — дед, старик) — в славянском фольклоре ночной дух, воображаемое существо, упоминаемое родителями, чтобы запугать непослушных детей.
                                                        Ответить
                                              • Да ты шо? Не юзай ынтырпрайзные либы - и не будет тормозить. Я на ней даже многопоточные брутефорсеры писал.
                                                Ответить
                                                • Я что-то сомниваюсь, что ты круто шаришь в перфомансе и оптимизации. Твой многопоточный брутфорсер ни о чем не говорит.
                                                  Ответить
                                                  • Царь, залогинься. Анонимный пидораст сомневается, видите ли. Код свой покажи,потом поговорим.
                                                    Ответить
                                                • Брутфорсер чего?
                                                  Ответить
                                                • >>

                                                  "ынтырпрайзные либы тормозят"
                                                  Ответить
                                        • Несколько лет мне не нужно было прикасаться к Эклипсу и Визуальной Студии, и я жил жизнью счастиливого человека, но тут понадобилось помочь другу с... Андроид Студио!

                                          Человеческая память очень изберательная, и я уже стал забывать, какой это пиздец, когда в типичной кривожопой ИДЕ типа Эклипс / Визуальная Студия / Идея / Нетбинс все, блять, весь интерфейс сделан в виде предопределенного выбора, из дропдаунов. И всегда долбоебы которые придумывают этот интерфейс не учитывают самые необходимые опции в этих дропдаунах. А текст из этих дропдаунов выделить и скопировать в поисковик нельзя, потому что долбоебы которые придумывают интерфейс не понимают, что текст можно копировать. Как долбоебы, которые придумывают интерфейс к ИДЕ делают невозможным найти конкретный файл на диске, с которым ты сейчас работаешь. Как эти же долбоебы автоформатируют твои файлы конфигурации. Сколько нужно проебаться с этими программами, чтобы получить полную информацию, а не произвольно отредактированый набор опций, который долбоебы мастера-ИДЕ решили предоставить своим пользователям.

                                          Как бы ИДЕ - не плохая идея, даже можно сказать, хорошая. Проблема в том, что конкретные ИДЕ разрабатываются феерическими долбоебами выросшими на хуевых, искаверканых примерах. Они не понимают, что делают, и соответственно делают еще хуже, чем те примеры на которых они воспитались.
                                          Ответить
                                          • wvxvw не осилил не только bash, go и с, но и IDE
                                            Ответить
                                • Я работаю в одном таком проекте, но там я никогда ничего не заменял и не переименовывал. И скорее всего не буду, потому что проекту несколько лет, и его пилят несколько человек, и лучше лишний раз не трогать.
                                  В других проектах поменьше нормально переименовывалось. Но я это делаю очень-очень редко, так что даже если бы было не удобно, было бы похуй.
                                  Ответить
                                  • >>но там я никогда ничего не заменял и не переименовывал.
                                    >> Но я это делаю очень-очень редко,

                                    Ну, значит IDE с поддержкой рефакторинга тебе правда не нужна:)
                                    Ответить
            • Буст, нееее, я заранее решил что не буду перегружать проект сторонними зависимостями и вообще сделаю легковесным.
              Ответить
              • > не буду перегружать проект сторонними зависимостями
                Читать как: "открою велосипедный заводик".
                Ответить
              • Ты это зря. По коду видно, что ты плохо умеешь программировать на плюсах. Тебе велосипедить противопоказано.
                Ответить
            • > микросовт допишет свою студию для пердоликса
              Это ты про какой-нибудь очередной безмозглый плагин к vs code или они в вайн перенесут куски винды, чтобы все вижуальники под ним корректно работали? Откуда инфа вообще?
              Ответить
              • Будет очень мило посмотреть, как разрабы вайна турнут патчи микрософта за говнокод, как недавно с амд и ядром случилось;
                Ответить
            • > скоро микросовт допишет свою студию для пердоликса, и все эти недоИДЕ окончательно лососнут
              Ты мне должен новое кресло. Хотя бы сидушку.
              Ответить
              • > Хотя бы сидушку.
                Асбестовую?
                Ответить
                • Асбест сажу и копоть накапливает.
                  Этим он и плох и его не рекомендуют ставить для вывода дымка из печи.
                  Ответить
                  • Ещё он рак вызывает, как бы.
                    Ответить
                    • Асбестоцемент нехуево взрывается еще, он же шифер.
                      А рак только пыль асбестовая. Но не волнуйся, почти любая пыль может в рак.
                      Ответить
                  • Для печных труб асбестоцемент (он же шифер) не рекомендуют, потому что он вызывает потёки сажи. Это происходит, потому что он является довольно плохим теплоизолятором, и дым конденсируется на его холодной поверхности, в отличие от тёплой поверхности старой доброй кирпичной трубы.
                    Ответить
                    • Иди по всем частным домам и меняй асбестоцементные трубы на кирпичные.
                      Ответить
                      • А вдруг им нравится, когда с трубы в печку стекает сажа? Может быть, они эту сажу потом соберут и будут продавать как источник углерода?
                        Ответить
                        • Едят сажу, а потом удобряют своим поносом свои же огороды?
                          Ответить
                    • Говнокод: расширяем кругозор вместе!
                      Ответить
            • >>Multuple
              Он не блочит же.

              Он скорее как (e)poll, select, kqueue, вот это всё
              Ответить

    Добавить комментарий