Кресты / Говнокод #21817 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Psionic, (Updated )

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

  • Ты бы хоть слип воткнул в цикл. А че, в сперму не завезли waitpid?
    Ответить
      • Если ты считаешь, что бизи вейт жрущий цпу - это ок, то мне больше нечего тебе сказать.
        Ответить
        • Multuple круче Sungle

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

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

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

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

                              Особенно если этому проекту 8 лет, и его пишет 10 человек?
                              Ответить
                                • Замечательно.

                                  Один известный 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 предназначена для серьёзных продуктов.
                                            Ответить
                                            • Джава тормозит
                                              Виндуос глючит
                                              В линуксе все нужно делать руками и это сложно
                                              Любая программа на си течет памятью
                                              В лесу живет бабайка и ест тех, кто плохо себя ведет
                                              Ответить
                                                • А что, бабайка ест не всех, кто плохо себя ведёт, или наоборот, иногда также ест тех, кто ведёт себя хорошо?
                                                  Ответить
                                                  • > бабайка ест не всех

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

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

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

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

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

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

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8