- 1
- 2
- 3
- 4
#ifdef _MSC_VER
template<typename> using void_t = void;
__if_exists(void_t<int>) {}
#endif
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+10
#ifdef _MSC_VER
template<typename> using void_t = void;
__if_exists(void_t<int>) {}
#endif
Эти строчки превратят Visual Studio 2015 в блокнот с подсветкой синтаксиса.
Для максимального эффекта их следует поместить в stdafx.h или любой другой повсеместно используемый заголовок.
Предположительно, на более старых студиях будет тот же эффект, но я не проверял.
kerman 05.08.2016 01:12 # +13
Если это из серии define true = false, то уже давно не смешно. Давай уж годный говнокод
gammaker 05.08.2016 01:30 # +16
Чувствуете масштаб? А все эти define банальны, ошибку сразу найдут. IntelliSense сразу подсветит такой макрос, и его уберут. А мой говнокод просто убьёт intellisense.
Сам код с точки зрения компилятора студии корректен и ничего не делает.
Antervis 05.08.2016 13:30 # +15
Один вопрос: как вы вообще себе представляете программирование без прав админа на компе?
gammaker 05.08.2016 15:25 # +19
Смысл в том, что эти строчки можно закоммитить куда-нибудь в git, и, не имея доступа ко всем компьютерам, которые его используют, сломать там IntelliSense. Если в проекте например миллион строк кода, то причину наверное месяц будут искать.
Soul_re@ver 05.08.2016 16:08 # +16
Особенно зашибенно программируются системные службы из-под юзера.
gammaker 05.08.2016 16:16 # +18
Кстати, если на компьютере без админа вдруг завалялась виртуалка, то можно и на ней эти системные службы запускать.
inkanus-gray 05.08.2016 16:17 # +21
1024-- 05.08.2016 17:30 # +15
> результаты отладки видели в распечатках
Вот под механическую [color=black]Э[/color]ВМ небось писали без таких подсказок.
1024-- 05.08.2016 17:42 # +16
inkanus-gray 05.08.2016 18:52 # +19
http://chernykh.net/content/view/121/
Жаль, что современники его не оценили. Это было бы покруче стим-панка!
bormand 05.08.2016 21:29 # +20
А потом сдавали прошивальщице ПЗУ, а результаты отладки видели в телеметрии с орбиты...
bormand 05.08.2016 19:22 # +19
> зашибенно программируются системные службы из-под юзера.
Вы чем упарываетесь там? Нахуя запускать свой код, особенно драйверы и сервисы, на своей машине? Виртуалки на что? Так же и комп забриковать можно...
3_14dar 05.08.2016 20:23 # +17
bormand 05.08.2016 20:38 # +18
CHayT 05.08.2016 20:39 # +19
...В итоге хардварщиком в удалённой лабе пришлось два дорогущих девайса программатором воскрешать. ^___~
guestinho 05.08.2016 22:52 # +18
defecate-plusplus 05.08.2016 22:57 # +20
а проклятый шиндошс удаляли, черт возьми
guestinho 05.08.2016 23:01 # +16
"льет мне windows nt выпучив глаза'
inkanus-gray 05.08.2016 23:20 # +20
TEPAnEBT 05.08.2016 23:21 # +15
kegdan 06.08.2016 03:50 # +16
Shamill 08.08.2016 15:48 # +15
inkanus-gray 05.08.2016 23:19 # +16
bormand 05.08.2016 23:20 # +16
TEPAnEBT 05.08.2016 23:22 # +14
guestinho 06.08.2016 02:00 # +17
ps: кто помнит вирус "чернобыль", который жег микросхему пзу с бивисом?
inkanus-gray 06.08.2016 02:58 # +21
BIOS в DIP-корпусе, если он не впаян, а воткнут в съёмную панель, можно переставлять на горячей машине: берём годный BIOS с компьютера-донора, загружаемся с него, выдёргиваем на ходу, втыкаем испорченный BIOS и прошиваем.
Shamill 08.08.2016 15:47 # +18
inkanus-gray 08.08.2016 15:54 # +15
bormand 08.08.2016 17:39 # +15
З.Ы. И ещё штатный видеодрайвер 32-битной венды, емнип, пинал биос чтобы разрешение поменять.
3_14dar 06.08.2016 09:15 # +15
bormand 06.08.2016 09:32 # +14
> неубиваемого
Ну это или 2 флешки или особый USB порт, в который можно сунуть флешку с образом (у асусов что ли был). Далеко не на всех материнках есть.
Soul_re@ver 06.08.2016 09:34 # +14
bormand 06.08.2016 09:44 # +14
Как на АМД дела обстоят - х.з.
kegdan 06.08.2016 03:45 # +16
Antervis 05.08.2016 20:40 # +18
bormand 05.08.2016 21:35 # +17
И протестировать его прямо на девелоперской машине? Вот так и рождается софт, который потом в полях не взлетает...
Зачем в этом кейсе права админа? SDK для разработки инсталляторов поставить, разве что.
inkanus-gray 05.08.2016 23:22 # +17
Antervis 06.08.2016 12:43 # +15
kurwa-nextgen 05.08.2016 17:30 # +15
3_14dar 05.08.2016 20:23 # +16
bormand 05.08.2016 20:32 # +16
3_14dar 05.08.2016 21:20 # +15
bormand 05.08.2016 21:37 # +16
З.Ы. Сука, ну почему оно всегда это делает?
3_14dar 05.08.2016 21:40 # +15
Однако, мне казалось, что вменяемые админы эту срань ставят по дефолту. Конечно, проще дать админа чем найти вменяемого админа; на худой конец, поставить виртуалку.
bormand 05.08.2016 21:44 # +15
Ну программист всё-таки не бухгалтер. Ему можно локального админа доверить.
Soul_re@ver 05.08.2016 21:57 # +19
bormand 05.08.2016 22:00 # +16
guest 05.08.2016 22:17 # +16
guestinho 05.08.2016 22:23 # +16
даже пистоничик 3.5 научился ставиться в локальную папку (а не в корень диска тсэ)
3_14dar 06.08.2016 09:16 # +14
3_dar 06.08.2016 17:11 # +15
он имеет в виду что когда ставиш себе питон на комп, он устанавливается в корень С
Это действительно так
dxd 06.08.2016 21:48 # +15
guesto 09.08.2016 03:55 # +16
Пиздон ставился в c:\pythonNN по умолчанию с Win98 и по Python3.5
Потом НАКОНЕЦ они услышали MS, который 17 лет (начиная с Win2K) орал: "СТАВЬТЕСЬ В ДОМАШНЮЮ ПАПКУ БЛЯДЕ"
3_14dar 09.08.2016 10:31 # +15
Ты ведь знаешь что надо делать?
>СТАВЬТЕСЬ В ДОМАШНЮЮ ПАПКУ
Ебанутый? Ставиться надо в program files
Soul_re@ver 09.08.2016 10:36 # +15
А вообще видел такую штуку как установка без административных прав? АмигоГовнобраузер её любит. Вот установить программу без прав можно только в пользовательскую папку.
3_14dar 09.08.2016 11:02 # +15
Soul_re@ver 09.08.2016 11:08 # +15
Путь установки по умолчанию.
> Ставь хоть на флешку
Это если у тебя прав хватает на доступ к флешкам.
>Путь установки изменяется
Даже если не изменяется — симлинк сделай куда нужно и удали после установки. Только сколько человек так сделают?
1024-- 09.08.2016 13:33 # +15
Ох, да там же надо будет ярлычки переименовывать и прочую питушню (о которой можно даже не знать) менять.
3_14dar 09.08.2016 14:00 # +15
Кого он ебет?
>Это если у тебя прав хватает на доступ к флешкам.
Штоооо?
>Только сколько человек так сделают?
Сколько человек способны поменять путь установки? Ты что, гонишь?
Я согласен что не очень красиво, в 2016-то году, но путь меняется и концерт устраивать не надо. Да и питон винду вообще не очень любит. Я об этом писал и не раз. Ну то есть формально работает, но то тут путь надо руками поменять, то вручную в path добавить + переименовать файлы для решения конфликтов.
Soul_re@ver 09.08.2016 14:09 # +15
Нет, я спрашиваю, сколько человек это сделают. У нас была система, которую надо было пересобрать для внесений каких-либо изменений. Для опытных юзеров был опубликован гайд по пересборке, который включал в себя установку MinGW, который по умолчанию ставился в C:\MinGW. В случае, если что-то пойдёт не так, скрипт собирает отчёт об ошибке, который надо передать разработчикам. В общем, из десятков отчётов, изменён каталог установки был у единиц.
> Кого он ебет?
Будь реалистичен. Изменят что-то при установке процента два пользователей.
> Штоооо?
Никогда не работал с админами-параноиками?
3_14dar 09.08.2016 15:44 # +15
Я не работал в местах, где доступ к компу был, а флешки совать было нельзя.
Shamill 09.08.2016 15:45 # +16
3_14dar 09.08.2016 20:05 # +15
Мне хватало что флеш хотел обновиться, а у него прав не хватало и прочая хуйня такого рода.
inkanus-gray 09.08.2016 20:34 # +15
Был глюк с какой-то старой версией. Исправлялось только удалением предыдущей версии AIR с помощью специального анинсталлятора (Windows Installer CleanUp Utility).
1024-- 09.08.2016 14:23 # +16
> Кого он ебет?
Ха. Так и становятся прыщецарями. Сначала путь установки руками вписываешь. Кряхтишь, но вписываешь. Потом уже привыкаешь, файлы переименовываешь. Трудно, но начинает нравиться. Потом конфиги править начинаешь. Говоришь, что умолчания не нужны, умолчания для ламеров, а 50 параметров можно и руками вписать, это же один раз, потом же puppet всё сам запилит (если версия ОС не изменится, в программе параметры не изменятся, да и вообще она нужна будет). Потом гуиды в реестре наизусть знаешь, всё у тебя делают баш-скрипты, а ты уже 18 часов в день у монитора сидишь автоматизируешь свою автоматизацию. А этим ламерам надо, чтобы программа сразу работала, лошары! API, плагины, скрипты. Сидишь компилируешь что-то. Уже не заметил, как дописал половину какой-то программы из-за того, что нужного функционала не было. А тут ядро тормозит, отладить и перекомпилировать надо.
Сидишь, смотришь по сторонам, всё как в тумане. "Люди? Люди, где вы?" А вокруг только белые стены, белые и мягкие. И где-то в углу кнопка "Пуск" то исчезает, то появляется. Бормочешь про себя "Ламеры компилирую -O4 -stack-check sed /^:)))$/ grep сейчас только ещё один модуль допишу и выключу конпелятор CLSID/{fa2808-438bc3-00032b6-28c52}".
3_14dar 09.08.2016 15:41 # +15
inkanus-gray 09.08.2016 14:37 # +15
Да всякое прыщеговно любит устанавливаться в домашнюю папку. Пример:
Попробуй найди.
guesto 09.08.2016 14:54 # +15
не нужно это говно запоминать наизусть
inkanus-gray 09.08.2016 15:42 # +15
3_14dar 09.08.2016 20:06 # +16
Soul_re@ver 09.08.2016 20:14 # +15
Для этого достаточно при установке прописать службу автообновления запускающуюся при старте ПК с административными привилегиями. Установка в юзерский каталог нужна для установки без прав и обращения к администратору, который это говно точно не пропустит. Ну или слишком много мнящему софту, который боится что его мега-нужную службу будут выключать.
inkanus-gray 09.08.2016 20:29 # +16
А потом ПК тормозит, потому что таких служб более 9000.
CHayT 09.08.2016 20:34 # +22
Soul_re@ver 09.08.2016 20:46 # +15
inkanus-gray 09.08.2016 14:38 # +15
Но ведь c:\pythonNN — это не корень. А есть софт, который свои файлы оставляет именно в корне.
guesto 09.08.2016 14:54 # +15
3_14dar 09.08.2016 15:41 # +15
Shamill 09.08.2016 15:43 # +15
kipar 10.08.2016 17:06 # +15
guestinho 05.08.2016 22:22 # +15
хотя у винды есть живой дебагер, но беркпоинт там не поставить конечно (Можно смотреть структуры в памяти ядра зато)
bormand 05.08.2016 22:25 # +15
Но зачем, если с соседней машины можно нормально подебажить, с брекпоинтами и шлюхами?
guestinho 05.08.2016 22:27 # +15
а иногда хочется изучить внутренее устройство чево-то
ну ты что, руссиновича не читал? Он же там этим дебагером каждую вторую главу иллюстрирует
https://msdn.microsoft.com/en-us/library/windows/hardware/hh451166(v=vs.85).aspx
Soul_re@ver 05.08.2016 22:29 # +17
guestinho 05.08.2016 22:30 # +14
inkanus-gray 05.08.2016 23:24 # +14
Кстати, рекомендую посмотреть художественный фильм «Солнце неспящих».
bormand 05.08.2016 22:30 # +15
guestinho 05.08.2016 22:33 # +15
Soul_re@ver 05.08.2016 22:36 # +17
Иначе бы найм бомжей за полтиник.
bormand 05.08.2016 22:37 # +14
Да кто там докажет, что они не сами заразились...
Soul_re@ver 05.08.2016 22:43 # +16
In case you're interested, there's still some positions available for that bonus opportunity I mentioned earlier. Again: all you gotta do is let us disassemble you. We're not banging rocks together here. We know how to put a man back together
For many of you, I realize 60 dollars is an unprecedented windfall, so don't go spending it all on... I don't know. Caroline, what do these people buy? Tattered hats? Beard dirt?
bormand 05.08.2016 22:35 # +15
Господи, ну к виртуалке зацепи эту самую виндебугу, и копайся в ядре с бряками и шлюхами сколько душе угодно... Или так нравится пилить сук, на которых сидишь?
guestinho 05.08.2016 22:51 # +16
какие тогда на юг виртуалки?
да и дебажить иногда лучше на реальном железе, например чтобы понять почему хуевничает твой драйвер
3_14dar 06.08.2016 09:17 # +16
bormand 06.08.2016 09:29 # +16
3_14dar 06.08.2016 09:56 # +16
bormand 06.08.2016 09:59 # +16
PCI passthrough allows you to give control of physical devices to guests: that is, you can use PCI passthrough to assign a PCI device (NIC, disk controller, HBA, USB controller, firewire controller, soundcard, etc) to a virtual machine guest, giving it full and direct access to the PCI device.
З.Ы. Сам не делал, у меня проц без IOMMU, а без него - беспонт, ибо карточка по DMA может хосту память засрать.
3_14dar 07.08.2016 09:30 # +15
bormand 07.08.2016 10:07 # +15
Ну зен вроде не обязательно, какая-то из версий вмвари вроде тоже умеет. Но без IOMMU это всё беспонт.
3_14dar 07.08.2016 13:36 # +15
bormand 07.08.2016 14:29 # +15
А если найду?
https://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTy peID=DT_KB_1_1&externalId=2142307
kegdan 07.08.2016 15:17 # +15
bormand 07.08.2016 18:07 # +15
Похуй. Открывается же.
kegdan 08.08.2016 19:41 # +15
dxd 08.08.2016 21:43 # +16
kegdan 09.08.2016 02:39 # +15
3_14dar 07.08.2016 19:00 # +14
Ты подтвердишь свое утверждение http://govnokod.ru/20472#comment342971
>VMware vSphere
Что за хуйня? Дай лучше для Workstation.
bormand 07.08.2016 19:02 # +15
Серверная хуита.
Утверждение я уже подтвердил - прокинуть PCI можно. Но надо достаточно свежий комп и не далеко не любую виртуалку.
3_14dar 07.08.2016 19:46 # +14
bormand 07.08.2016 19:48 # +15
Можно подумать, что ты комп уже добыл, у которого мать, биос и проц правильно поддерживают IOMMU... И что тебе реально надо прокидывать PCI в виртуалку.
> как под ней основную ось завести
Ставишь сферу, создаёшь виртуалку, ставишь в неё основную ось... Как-то так вроде. Если я правильно понимаю, эта ESXi - сама как ось.
3_14dar 07.08.2016 19:52 # +13
И нахуй мне эти танцы на десктопе?
bormand 07.08.2016 19:55 # +15
3_14dar 07.08.2016 20:06 # +14
bormand 07.08.2016 20:10 # +15
На десктопе виртуалбокс умеет. Но тебе опять не понравится, ибо "When running on Linux hosts, with a recent enough kernel (at least version 2.6.31) experimental host PCI devices passthrough is available. To be fully functional, PCI passthrough support in VirtualBox depends upon an IOMMU hardware unit."
3_14dar 07.08.2016 20:32 # +13
bormand 07.08.2016 20:33 # +14
Shamill 07.08.2016 20:35 # +14
3_14dar 07.08.2016 20:43 # +14
bormand 07.08.2016 19:32 # +14
Воркстейшенбляди соснули: VMware Workstation can't do PCI Passthrough.The only VMware product which can do PCI Passthrough is ESXi.
defecate-plusplus 07.08.2016 22:07 # +14
как не будучи ядром зохватить писиайную карту, не дать её пользовать хостовой ОС, а дать пользовать гостевой?
кстати, гиперви в юсб пасструъ так не научилось даже в 2016 насколько мне известно
bormand 07.08.2016 22:14 # +14
Попросить об этом ядро. Видимо, виртуалбокс так и делает.
defecate-plusplus 07.08.2016 22:26 # +14
а не можешь попросить - вкомпилься в ядро
разве это не так работает?
bormand 07.08.2016 22:46 # +14
chtulhu 09.08.2016 08:56 # +14
есть же kvm
j123123 11.12.2018 17:24 # 0
Почему-то у меня не возникает необходимости в правах админа (т.е. root) при программировании в среде GNU/Linux (разве что для особых случаев, вроде написания и подгрузки кернел модулей). Почему же в Windows они требуются для программирования?
KitKat 11.12.2018 17:26 # −102
guest8 11.12.2018 18:01 # −999
guest8 11.12.2018 17:28 # −999
bormand 11.12.2018 17:29 # 0
Как-будто для разработки дров права админа нужны...
guest8 11.12.2018 17:31 # −999
bormand 11.12.2018 17:32 # 0
guest8 11.12.2018 17:42 # −999
666_N33D135 11.12.2018 18:04 # 0
bormand 11.12.2018 18:09 # 0
j123123 11.12.2018 17:37 # 0
Без рута я могу вполне скачать исходники GCC и скомпилировать его старым GCC, поставить в /home/%имяпользователя%/MY_GCC и добавить соответствующую хуйню в $PATH и прочие переменные окружения
guest8 11.12.2018 17:42 # −999
bormand 11.12.2018 17:44 # 0
guest8 11.12.2018 17:49 # −999
bormand 11.12.2018 17:51 # 0
Причём этой хуйни там больше половины :)
Так то у них Enterprise WDK есть который ставить не надо (оно не только для дров, обычное SDK тоже в комплекте). Но он без гуйни, придётся с соснолькой пердолиться.
guest8 11.12.2018 18:01 # −999
guest8 11.12.2018 17:59 # −999
bormand 11.12.2018 18:00 # 0
guest8 11.12.2018 18:03 # −999
guest8 11.12.2018 20:21 # −999
nemyx 11.12.2018 20:57 # 0
Для кококонпеляции гугугуйни ещё потребуется кококонпелятор ресурсов (ещё несколько файлов).
При желании можно ещё затащить nmake или msbuild (последний устанавливать сложнее).
guest8 11.12.2018 20:58 # −999
nemyx 11.12.2018 21:06 # 0
>> Директория lib + Windows SDK
Я недавно хитрым способом добыл URL всех файлов Visual Studio 2017. Там всё хранится либо в vsix (обычный zip-файл со структурой поддиректорий), либо в msi (для него есть распаковщики, но тогда придётся переименовывать файлы вручную, либо можно попробовать запустить msiexec с ключом /a, тогда он ничего проверять не будет и тупо распакует содержимое в указанную директорию с поддиректориями).
guest8 11.12.2018 21:08 # −999
nemyx 11.12.2018 21:12 # 0
guest8 11.12.2018 21:13 # −999
nemyx 11.12.2018 21:23 # 0
То есть теоретически можно один и тот же main.obj один раз слинковать со статической либой, другой раз с динамической.
guest8 11.12.2018 21:10 # −999
guest8 11.12.2018 22:43 # −999
guest8 11.12.2018 22:47 # −999
guest8 11.12.2018 23:04 # −999
guest8 11.12.2018 23:12 # −999
bormand 11.12.2018 23:13 # 0
А как тогда заодно ставить тулбары, клоны хрома и прочую хуету?
guest8 11.12.2018 23:15 # −999
guest8 12.12.2018 00:14 # −999
guest8 11.12.2018 18:00 # −999
j123123 11.12.2018 17:47 # 0
https://stackoverflow.com/a/41012758
Practically no. Visual Studio (Express and above, excluding VS Code) consists of multiple components that must be installed as admin, and will be required for the app you're debugging to be available as system-wide component. It might be possible to use ThinApp or its equivalent, but ThinApp can't even work with VS 2010 and it was by far the best of its class.
guest8 11.12.2018 17:50 # −999
guest8 11.12.2018 22:44 # −999
guest8 11.12.2018 22:47 # −999
guest8 11.12.2018 22:54 # −999
guest8 11.12.2018 22:55 # −999
guest8 11.12.2018 22:58 # −999
guest8 11.12.2018 23:02 # −999
guest8 11.12.2018 23:05 # −999
guest8 11.12.2018 23:13 # −999
roman-kashitsyn 11.12.2018 17:46 # 0
guest8 11.12.2018 20:48 # −999