metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-25 11:35 am

Visual Studio

А скажите, кто 2010 студию видел - там (в конце концов, #$&#*#&$) сделали чтобы проекты в солюшене можно было расставить в порядке зависимостей, или хотя бы вручную, а не сортировалось по алфавиту всегда?
Как-то это бесит - ну какая нафиг сортировка по именам по алфавиту в графе?

[identity profile] zamotivator.livejournal.com 2010-08-25 12:33 pm (UTC)(link)
И расплатиться за это тем, что для добавления файла в проект (в студии) надо отредактировать текстовый файл, вызвать CMake, чтобы она перегенерила *.vcproj, и дать студии перегрузить этот *.vcproj? Это к анальным отоларингологам.
Не поверите - там можно маски задавать.
А как бонусы - нету ебли около-xml при заливке в репос и с кучей кликов мышки.

[identity profile] aamonster.livejournal.com 2010-08-25 12:36 pm (UTC)(link)
Ладно, один шаг вычёркиваем :-). Всё равно рабочее отверстие то же.

[identity profile] zamotivator.livejournal.com 2010-08-25 12:37 pm (UTC)(link)
Существенная разница - в студии приходится много кликать мышкой.
Нельзя, например,задать опции сборки "для всего" и переопределять отдельные настройки для отдельных субпроектов.
Нельзя работать через редактирование текстовых файлов.
Добавлять файлы в проект по маске.

И много, много подобного.

[identity profile] aamonster.livejournal.com 2010-08-25 12:41 pm (UTC)(link)
Дык я и говорю: cmake - это отказ от студии.

[identity profile] zamotivator.livejournal.com 2010-08-25 12:42 pm (UTC)(link)
Почему же. Видел проекты чисто под студию, собираемые CMake'ом. Просто удобней, меньше секса.

[identity profile] aamonster.livejournal.com 2010-08-25 01:05 pm (UTC)(link)
(мрачно) Ещё cmake научить на *.vcproj атрибут readonly ставить.

[identity profile] theiced.livejournal.com 2010-08-25 01:06 pm (UTC)(link)
при использовании cmake можно пользоваться поделием от майркософта паралельно - о чём забиватор таки Н постов писал. но - можно и не пользоваться и сделать свою работу продуктивнее и веселее.

[identity profile] aamonster.livejournal.com 2010-08-25 12:39 pm (UTC)(link)
Главное - инструмент для редактирования (студия) должен редактировать исходные файлы. Как только мы переходим на cmake - оказывается, что студия редактирует некие промежуточные файлы, и при перегенерации все мои изменения (допустим, я отключил оптимизацию в одном из проектов) пропадут. Это пиздец, простите мой клатчский. Как там это по классификации - вша жОлтая или красная? Или, может, усеницы?

[identity profile] zamotivator.livejournal.com 2010-08-25 12:41 pm (UTC)(link)
1) Компилятор при сборке редактирует объектные файлы.
Вас это не напрягает?
2) Почему редактирование правил сборки принципиально отличается от редактирование исходного текста?

[identity profile] aamonster.livejournal.com 2010-08-25 12:44 pm (UTC)(link)
У меня рабочие инструменты правят исходные файлы, не объектники. Если вдруг окажется, что основной рабочий инструмент вместо исходников предложит мне редактировать объектники - это способ выстрелить себе в ногу, ничего больше.

Ergo: студия + cmake - уродская неюзабельная связка.

[identity profile] theiced.livejournal.com 2010-08-25 01:08 pm (UTC)(link)
именно. и уродская часть в этой связке - вижуалстудио.

(да - я не обижаю русских поливая гОвнами вижуалстудио? это не русссская разработка?)

[identity profile] aamonster.livejournal.com 2010-08-25 01:15 pm (UTC)(link)
Мне вообще-то пофиг, русская или нет.

И спорить не буду - студия, мягко говоря, далека от идеала. Но, afaik, толковых альтернатив для разработки на C++ под винду нет. Так что, может, и уродская - но расклад "а если к запорожцу прикрутить мотор от мерседеса, правда будет зашибись?".

[identity profile] theiced.livejournal.com 2010-08-25 01:18 pm (UTC)(link)
емакс уже под виндовс не работает?!?!?

[identity profile] aamonster.livejournal.com 2010-08-25 01:30 pm (UTC)(link)
Пойду, напишу тысячу раз - "Никогда не спорь с емаксерами" :-)

[identity profile] permea-kra.livejournal.com 2010-08-25 01:39 pm (UTC)(link)
емакс вообще не работает.

[identity profile] aamonster.livejournal.com 2010-08-25 01:42 pm (UTC)(link)
Кстати, не в рамках спора, а как вопрос человека не знающего человеку предположительно знающему - какие возможности отладки для Win32-приложений на C++ он обеспечивает?
Edit and Continue
Breakponts
Просмотр значений переменных (особенно одобряется просмотр контейнеров STL, а лучше и boost тоже, в читаемом виде)
Просмотр отладочного вывода (OutputDebugStrings)

[identity profile] theiced.livejournal.com 2010-08-25 02:01 pm (UTC)(link)
>Пойду, напишу тысячу раз - "Никогда не спорь с емаксерами" :-)

подай идею товрищам которые делают симпсонов ;]]]]

по вопросам, на бОльшую часть из них я, есессно, ответить не могу (ну ви же таки должны помнить из предыдущих топиков что я презираю отлатку-по-ф10), но попробую.

вы таки должны понять что для отладки-с++-по-ф10 в емаксе используется гдб. это не убогость емакса, это юникс вэй. в емаксе, кстати, для гдб написана специальная морда для интеграции со всем остальным.

1. edit & continue - не знаю. про существование данного мегаизвращения я узнал от вас же только на днях и до сих пор не представляю даже теоретически как его прмемнить. да - мне пытались объяснить но я тупой и не понял.

2. breakpoints - есть, с тыщей наворотов.

3. просмотр значений переменных (в том числе stl, boost и даже вашей личной мегаизвращённой либы) - есть, причём пресдавить можно что угодно и в каком угодно виде.

4. просмотр отладочного вывода - поясните.

[identity profile] aamonster.livejournal.com 2010-08-25 05:33 pm (UTC)(link)
Насчёт gdb: использование для отладки не одного средства, а связки средств - не криминал.
1. Представьте, что вы пишете систему, которая
a) изрядное время грузится (большая она, что уж там... такой досталась)
б) взаимодействует с юзером и по результатам что-то там считает - так что восстановление текущей ситуации после старта программы - изрядное время и работа руками (ну, работу руками можно частично автоматизировать - но это тоже геморрой).
Т.е. от старта до момента, который надо отлаживать - минуты и возня.
Edit and continue в такой ситуации спасает.
На мелких проектах - не особо нужен.
4. Ну, это специфика либ от MS - есть функция OutputDebugString (и несколько завязанных на неё), позволяющих кинуть строку в отладчик. Удобная вариация на тему логов.

Да, вопросы "есть?" подразумевают именно "есть?", а не "можно сделать?". Если имеет смысл использовать emacs как замену студии - то явно всё нужное давно должно быть кем-то сделано и собрано в одну кучу. Если этого не сделано - значит, emacs (пока) не годится.

[identity profile] theiced.livejournal.com 2010-08-25 06:02 pm (UTC)(link)
1. я хорошо себе представляю. вот я в данную секунду вожусь с системой в которой для реинита сеанса надо проделать тучу вуду действий и подождать минут 10. есессно вся отладка на логах ;) опять же сервак находится за двумя впнами и тремя ссшами - подключиться к нему будет... эммм... несколько проблематично. но аргумент понят - edit & continue это такой костыль если нет логов и долго рестартовать (хотя меня бы убила паранойя по поводу сайд эффектов).

4. удобная? убейте меня :) специальное апи вместо простого и клёвого текстового файла.

есть - это значит искаропки или прикручивается за разумное (минута .. час)время.

(no subject)

[identity profile] aamonster.livejournal.com - 2010-08-25 18:18 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2010-08-25 18:44 (UTC) - Expand

(no subject)

[identity profile] aamonster.livejournal.com - 2010-08-25 19:18 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2010-08-25 22:58 (UTC) - Expand

(no subject)

[identity profile] aamonster.livejournal.com - 2010-08-26 07:14 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2010-08-26 06:50 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-26 07:36 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2010-08-26 19:54 (UTC) - Expand

[personal profile] alll 2010-08-25 02:04 pm (UTC)(link)
Для просмотра отладочного вывода у сисинтералз была отдельная утилита, dbgview чтоль.

[identity profile] aamonster.livejournal.com 2010-08-25 07:20 pm (UTC)(link)
Да, в курсе. Собственно, Win32 debugging API задокументировано - так что понятно, что и к емаксу прикрутить можно. Вопрос в том, что уже есть и сколько времени уйдёт на прикручивание.

[identity profile] zamotivator.livejournal.com 2010-08-25 05:01 pm (UTC)(link)
В том-то и прикол, CMake не запрещает отлаживаться в студии.

[identity profile] nivanych.livejournal.com 2010-08-25 03:07 pm (UTC)(link)
;-) Гыыыы
Политкорректный theiced, это 5! ;-)

[identity profile] theiced.livejournal.com 2010-08-25 03:37 pm (UTC)(link)
мне что таги <sarcasm> расставлять везде?

[identity profile] nivanych.livejournal.com 2010-08-25 06:07 pm (UTC)(link)
;-) По-моему, моих смайлегов вполне достаточно.