169 похожих чатов

1. не думаю, что это минус - особенно если сравнить

с никсовыми названиями типа strgrpbrk. у всех экраны большие, названия помещаются, названия понятные.
2. не 20 вещей за раз (хотя есть функция NtAccessCheckByTypeResultListAndAuditAlarmByHandle), а 20 опций, связанных с одной и той же вещью. нельзя же делать несколько системных вызовов для замены того же CreateFile.
3. да нихуя, он сам себе противоречит в последующем и предыдущем пункте. да, все функции из примера можно заменить одним WaitForMultipleObjectEx, но тогда получается одна функция с кучей параметров, делающая кучу вещей за раз, разве нет? :))
4. да, у CreateFile много опций. режим открытия, режим доступа, атрибуты файла, шеринг мод, файл-шаблон. и это всё нужно, и это всё удобно, и это всё используется. это не минус.
5. бред. везде венгерская нотация.
6. одно. stdcall. для x86_64 другое (rcx, rdx, r8, r9, стек).
7. единственное, где я могу вспомнить - это функции, принимающие структуру, где размер структуры указывает так же и её тип. ололо, ну тогда BSD-шные bind, connect и прочее, работающее с sockaddr_in тоже в топку? :)

1 ответов

4 просмотра

1. $ man strgrpbrk No manual entry for strgrpbrk 2-3. где он себе противоречит? "1: Functions which try to do 20 things at once 2:»BUT ALSO« unnecesssarily specialized functions and many functions which do mostly the same" 4. int open(const char *pathname, int flags, mode_t mode); точно также имеет всё самое нужное, и при том ещё открывает не только файлы, список флагов прикреплю 6. а fastcall что такое? (я не эксперт) 7. да, но это единичный случай

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
4
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
83
Вот смотрите у меня есть два стрима сейчас fs, cs: TStream; fs := TFileStream.Create('filename'); cs := TCompressionStream.Create(compression_level, fs); Я хочу сделать так: ...
notme
5
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
8
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Карта сайта