- 1
https://blogs.msdn.microsoft.com/commandline/2018/03/07/windows10v1803/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://blogs.msdn.microsoft.com/commandline/2018/03/07/windows10v1803/
в винду завезли far, openssh и AF_UNIX (aka unix domain sockets), хотя раньше были только named pipes.
Мне кажется что скоро завезут подсистему tty и posix-compatible шел
roskomgovno 21.06.2018 19:22 # 0
guest8 21.06.2018 20:14 # −999
roskomgovno 21.06.2018 20:17 # 0
tar завезли
я рукожоп
guest8 21.06.2018 20:53 # −999
roskomgovno 21.06.2018 21:16 # 0
ShockerFace 21.06.2018 21:36 # 0
roskomgovno 21.06.2018 21:46 # 0
Да и линуксы нынче не те: с dbusами, polkitами и systemd
guest8 25.06.2018 15:56 # −999
roskomgovno 25.06.2018 17:19 # 0
Subsystem указывался в заголовке PE (опция линковщика я полагаю).
Причем подсистемы должны были крутиться отдельными процессами: (отсюда Client-Server-Runtime-Subsystem для win32, psxss для позикс, ntvdm для V86 тоже в каком-то смысле)
Posix (точнее его малую часть) завезли чтобы получить сертификат американского минобороны.
Ну а потом на все подсистемы забили хуйца и теперь кроме Win32API других нормальных API нету.
зы: ситуация напоминает .NET: там тоже хотели чтобы было миллион языков, а в итоге 80% кода под .NET написано на C#.
guest8 25.06.2018 17:24 # −999
roskomgovno 25.06.2018 17:36 # 0
В целом .NET более рекомендуемый API для винды чем Win32API: MS говорит что если ты можешь что-то написать на .NET то лучше так и сделай
guest8 25.06.2018 17:28 # −999
roskomgovno 25.06.2018 17:35 # 0
А как можно отказаться от .dll?
Чем заменить?
guest8 25.06.2018 17:38 # −999
guest8 25.06.2018 17:58 # −999
roskomgovno 25.06.2018 18:01 # 0
Как в Linux ABI что-ль?
Кстати, kernel32 уже тоже разобрали по колышкам. MinWin же: там теперь вместо kernel32 импортируется 150 "виртуальных" библиотек
guest8 25.06.2018 18:05 # −999
roskomgovno 25.06.2018 18:10 # 0
guest8 25.06.2018 18:15 # −999
roskomgovno 25.06.2018 18:23 # +1
В середине нулевых Руссинович заметил что kernel32, user32, advapi32 итд слились в единую какашку циклических зависимостей и надо бы навести порядок.
Решено было разделить .dll на уровни: есть core, есть crt, есть eventing (для evt). И вот core не может депендица на evt.
Однако чтобы не сломать 100500 старых программ, сделано было так: новые программы линкуются с дин. зависимостью на такие вот .dllы (их назвали "наборы api -- api sets").
В момент загрузки умный виндовый лоадер исползьует механизм namespace redirection чтобы подменить их на настоящую .dll.
К примеру он знает что api-ms-pituh.dll реализован в user32.dll, и ее грузит. А завтра API "pituh" унесут в "pethu.dll', поправят редирект и программа ничо даже не узнает.
Короче, ты линкуешься на ИНТЕРФЕЙС а не на конкретную реализацию.
Почитай про проект MinWin и API Sets.
ps: забавно поломался dependency walker по понятным причинам
оч советую читнуть
https://ofekshilon.com/2016/03/27/on-api-ms-win-xxxxx-dll-and-other-dependency-walker-glitches/
guest8 25.06.2018 18:18 # −999
Xo4y_EbaTbc9l 25.06.2018 22:14 # 0
guest8 25.06.2018 15:50 # −999
guest8 21.06.2018 20:25 # −999
roskomgovno 21.06.2018 20:47 # 0
я из фара не вылезаю
зачем мне проводник?
ShockerFace 21.06.2018 20:58 # 0
roskomgovno 21.06.2018 21:15 # 0
да нет его там
ShockerFace 21.06.2018 22:32 # 0
roskomgovno 21.06.2018 22:45 # 0
guest8 25.06.2018 09:20 # −999
guest8 25.06.2018 16:42 # −999
roskomgovno 25.06.2018 17:08 # 0
guest8 25.06.2018 17:20 # −999
roskomgovno 25.06.2018 17:22 # 0
Многие вещи в винде вообще никак не документированы. Например, существует крайне хитрая логика по которой выбирается наследует-ли процесс консольку (conhost) или создает новую.
Кроме как методом проб и ошибок это никак не узнать
guest8 14.09.2018 03:47 # −999
guest8 25.06.2018 17:21 # −999
guest8 25.06.2018 17:22 # −999