- 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 или любой другой повсеместно используемый заголовок.
Предположительно, на более старых студиях будет тот же эффект, но я не проверял.
Если это из серии define true = false, то уже давно не смешно. Давай уж годный говнокод
Чувствуете масштаб? А все эти define банальны, ошибку сразу найдут. IntelliSense сразу подсветит такой макрос, и его уберут. А мой говнокод просто убьёт intellisense.
Сам код с точки зрения компилятора студии корректен и ничего не делает.
Один вопрос: как вы вообще себе представляете программирование без прав админа на компе?
Смысл в том, что эти строчки можно закоммитить куда-нибудь в git, и, не имея доступа ко всем компьютерам, которые его используют, сломать там IntelliSense. Если в проекте например миллион строк кода, то причину наверное месяц будут искать.
Особенно зашибенно программируются системные службы из-под юзера.
Кстати, если на компьютере без админа вдруг завалялась виртуалка, то можно и на ней эти системные службы запускать.
> результаты отладки видели в распечатках
Вот под механическую [color=black]Э[/color]ВМ небось писали без таких подсказок.
http://chernykh.net/content/view/121/
Жаль, что современники его не оценили. Это было бы покруче стим-панка!
А потом сдавали прошивальщице ПЗУ, а результаты отладки видели в телеметрии с орбиты...
> зашибенно программируются системные службы из-под юзера.
Вы чем упарываетесь там? Нахуя запускать свой код, особенно драйверы и сервисы, на своей машине? Виртуалки на что? Так же и комп забриковать можно...
...В итоге хардварщиком в удалённой лабе пришлось два дорогущих девайса программатором воскрешать. ^___~
а проклятый шиндошс удаляли, черт возьми
"льет мне windows nt выпучив глаза'
ps: кто помнит вирус "чернобыль", который жег микросхему пзу с бивисом?
BIOS в DIP-корпусе, если он не впаян, а воткнут в съёмную панель, можно переставлять на горячей машине: берём годный BIOS с компьютера-донора, загружаемся с него, выдёргиваем на ходу, втыкаем испорченный BIOS и прошиваем.
З.Ы. И ещё штатный видеодрайвер 32-битной венды, емнип, пинал биос чтобы разрешение поменять.
> неубиваемого
Ну это или 2 флешки или особый USB порт, в который можно сунуть флешку с образом (у асусов что ли был). Далеко не на всех материнках есть.
Как на АМД дела обстоят - х.з.
И протестировать его прямо на девелоперской машине? Вот так и рождается софт, который потом в полях не взлетает...
Зачем в этом кейсе права админа? SDK для разработки инсталляторов поставить, разве что.
З.Ы. Сука, ну почему оно всегда это делает?
Однако, мне казалось, что вменяемые админы эту срань ставят по дефолту. Конечно, проще дать админа чем найти вменяемого админа; на худой конец, поставить виртуалку.
Ну программист всё-таки не бухгалтер. Ему можно локального админа доверить.
даже пистоничик 3.5 научился ставиться в локальную папку (а не в корень диска тсэ)
он имеет в виду что когда ставиш себе питон на комп, он устанавливается в корень С
Это действительно так
Пиздон ставился в c:\pythonNN по умолчанию с Win98 и по Python3.5
Потом НАКОНЕЦ они услышали MS, который 17 лет (начиная с Win2K) орал: "СТАВЬТЕСЬ В ДОМАШНЮЮ ПАПКУ БЛЯДЕ"
Ты ведь знаешь что надо делать?
>СТАВЬТЕСЬ В ДОМАШНЮЮ ПАПКУ
Ебанутый? Ставиться надо в program files
А вообще видел такую штуку как установка без административных прав? АмигоГовнобраузер её любит. Вот установить программу без прав можно только в пользовательскую папку.
Путь установки по умолчанию.
> Ставь хоть на флешку
Это если у тебя прав хватает на доступ к флешкам.
>Путь установки изменяется
Даже если не изменяется — симлинк сделай куда нужно и удали после установки. Только сколько человек так сделают?
Ох, да там же надо будет ярлычки переименовывать и прочую питушню (о которой можно даже не знать) менять.
Кого он ебет?
>Это если у тебя прав хватает на доступ к флешкам.
Штоооо?
>Только сколько человек так сделают?
Сколько человек способны поменять путь установки? Ты что, гонишь?
Я согласен что не очень красиво, в 2016-то году, но путь меняется и концерт устраивать не надо. Да и питон винду вообще не очень любит. Я об этом писал и не раз. Ну то есть формально работает, но то тут путь надо руками поменять, то вручную в path добавить + переименовать файлы для решения конфликтов.
Нет, я спрашиваю, сколько человек это сделают. У нас была система, которую надо было пересобрать для внесений каких-либо изменений. Для опытных юзеров был опубликован гайд по пересборке, который включал в себя установку MinGW, который по умолчанию ставился в C:\MinGW. В случае, если что-то пойдёт не так, скрипт собирает отчёт об ошибке, который надо передать разработчикам. В общем, из десятков отчётов, изменён каталог установки был у единиц.
> Кого он ебет?
Будь реалистичен. Изменят что-то при установке процента два пользователей.
> Штоооо?
Никогда не работал с админами-параноиками?
Я не работал в местах, где доступ к компу был, а флешки совать было нельзя.
Мне хватало что флеш хотел обновиться, а у него прав не хватало и прочая хуйня такого рода.
Был глюк с какой-то старой версией. Исправлялось только удалением предыдущей версии AIR с помощью специального анинсталлятора (Windows Installer CleanUp Utility).
> Кого он ебет?
Ха. Так и становятся прыщецарями. Сначала путь установки руками вписываешь. Кряхтишь, но вписываешь. Потом уже привыкаешь, файлы переименовываешь. Трудно, но начинает нравиться. Потом конфиги править начинаешь. Говоришь, что умолчания не нужны, умолчания для ламеров, а 50 параметров можно и руками вписать, это же один раз, потом же puppet всё сам запилит (если версия ОС не изменится, в программе параметры не изменятся, да и вообще она нужна будет). Потом гуиды в реестре наизусть знаешь, всё у тебя делают баш-скрипты, а ты уже 18 часов в день у монитора сидишь автоматизируешь свою автоматизацию. А этим ламерам надо, чтобы программа сразу работала, лошары! API, плагины, скрипты. Сидишь компилируешь что-то. Уже не заметил, как дописал половину какой-то программы из-за того, что нужного функционала не было. А тут ядро тормозит, отладить и перекомпилировать надо.
Сидишь, смотришь по сторонам, всё как в тумане. "Люди? Люди, где вы?" А вокруг только белые стены, белые и мягкие. И где-то в углу кнопка "Пуск" то исчезает, то появляется. Бормочешь про себя "Ламеры компилирую -O4 -stack-check sed /^:)))$/ grep сейчас только ещё один модуль допишу и выключу конпелятор CLSID/{fa2808-438bc3-00032b6-28c52}".
Да всякое прыщеговно любит устанавливаться в домашнюю папку. Пример:
Попробуй найди.
не нужно это говно запоминать наизусть
Для этого достаточно при установке прописать службу автообновления запускающуюся при старте ПК с административными привилегиями. Установка в юзерский каталог нужна для установки без прав и обращения к администратору, который это говно точно не пропустит. Ну или слишком много мнящему софту, который боится что его мега-нужную службу будут выключать.
А потом ПК тормозит, потому что таких служб более 9000.
Но ведь c:\pythonNN — это не корень. А есть софт, который свои файлы оставляет именно в корне.
хотя у винды есть живой дебагер, но беркпоинт там не поставить конечно (Можно смотреть структуры в памяти ядра зато)
Но зачем, если с соседней машины можно нормально подебажить, с брекпоинтами и шлюхами?
а иногда хочется изучить внутренее устройство чево-то
ну ты что, руссиновича не читал? Он же там этим дебагером каждую вторую главу иллюстрирует
https://msdn.microsoft.com/en-us/library/windows/hardware/hh451166(v=vs.85).aspx
Кстати, рекомендую посмотреть художественный фильм «Солнце неспящих».
Иначе бы найм бомжей за полтиник.
Да кто там докажет, что они не сами заразились...
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?
Господи, ну к виртуалке зацепи эту самую виндебугу, и копайся в ядре с бряками и шлюхами сколько душе угодно... Или так нравится пилить сук, на которых сидишь?
какие тогда на юг виртуалки?
да и дебажить иногда лучше на реальном железе, например чтобы понять почему хуевничает твой драйвер
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 может хосту память засрать.
Ну зен вроде не обязательно, какая-то из версий вмвари вроде тоже умеет. Но без IOMMU это всё беспонт.
А если найду?
https://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTy peID=DT_KB_1_1&externalId=2142307
Похуй. Открывается же.
Ты подтвердишь свое утверждение http://govnokod.ru/20472#comment342971
>VMware vSphere
Что за хуйня? Дай лучше для Workstation.
Серверная хуита.
Утверждение я уже подтвердил - прокинуть PCI можно. Но надо достаточно свежий комп и не далеко не любую виртуалку.
Можно подумать, что ты комп уже добыл, у которого мать, биос и проц правильно поддерживают IOMMU... И что тебе реально надо прокидывать PCI в виртуалку.
> как под ней основную ось завести
Ставишь сферу, создаёшь виртуалку, ставишь в неё основную ось... Как-то так вроде. Если я правильно понимаю, эта ESXi - сама как ось.
И нахуй мне эти танцы на десктопе?
На десктопе виртуалбокс умеет. Но тебе опять не понравится, ибо "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."
Воркстейшенбляди соснули: VMware Workstation can't do PCI Passthrough.The only VMware product which can do PCI Passthrough is ESXi.
как не будучи ядром зохватить писиайную карту, не дать её пользовать хостовой ОС, а дать пользовать гостевой?
кстати, гиперви в юсб пасструъ так не научилось даже в 2016 насколько мне известно
Попросить об этом ядро. Видимо, виртуалбокс так и делает.
а не можешь попросить - вкомпилься в ядро
разве это не так работает?
есть же kvm
Почему-то у меня не возникает необходимости в правах админа (т.е. root) при программировании в среде GNU/Linux (разве что для особых случаев, вроде написания и подгрузки кернел модулей). Почему же в Windows они требуются для программирования?
Как-будто для разработки дров права админа нужны...
Без рута я могу вполне скачать исходники GCC и скомпилировать его старым GCC, поставить в /home/%имяпользователя%/MY_GCC и добавить соответствующую хуйню в $PATH и прочие переменные окружения
Причём этой хуйни там больше половины :)
Так то у них Enterprise WDK есть который ставить не надо (оно не только для дров, обычное SDK тоже в комплекте). Но он без гуйни, придётся с соснолькой пердолиться.
Для кококонпеляции гугугуйни ещё потребуется кококонпелятор ресурсов (ещё несколько файлов).
При желании можно ещё затащить nmake или msbuild (последний устанавливать сложнее).
>> Директория lib + Windows SDK
Я недавно хитрым способом добыл URL всех файлов Visual Studio 2017. Там всё хранится либо в vsix (обычный zip-файл со структурой поддиректорий), либо в msi (для него есть распаковщики, но тогда придётся переименовывать файлы вручную, либо можно попробовать запустить msiexec с ключом /a, тогда он ничего проверять не будет и тупо распакует содержимое в указанную директорию с поддиректориями).
То есть теоретически можно один и тот же main.obj один раз слинковать со статической либой, другой раз с динамической.
А как тогда заодно ставить тулбары, клоны хрома и прочую хуету?
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.