- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
// winnt.h
typedef wchar_t WCHAR;
typedef WCHAR *PWCHAR,*LPWCH,*PWCH;
// winldap.h
#define ldap_init ldap_initW
WINLDAPAPI LDAP *LDAPAPI ldap_initW(const PWCHAR HostName,ULONG PortNumber);
// my code
// auto ldap = ldap_init(L"ldap.address", LDAP_PORT); // 1
PWCHAR hostName = (WCHAR*)(L"ldap.address"); // 2
auto ldap = ldap_init(hostName, LDAP_PORT);
// auto hostName = L"ldap.address"; // 3
// auto ldap = ldap_init(hostName, LDAP_PORT);
Вариант (1) выдает warning. Вариант (2) работает ожидаемо. Вариант (3) ожидаемо не компилится. Вопрос: и почему это я не люблю winapi?
Хм. Можно сделать метушню, которая будет делать тип со снятым const с элементов массива. Затем завернуть её в макрос.
И пользоваться как-то так:
P.S. Никогда не понимал, зачем все эти PWCHAR, LPWCH, PWCH, etc.
Чтоб со звездочкой не ибаца.
О да, одну звёздочку написать гораздо труднее, чем букву P. Более того, со звёздочкой можно написать
const WCHAR *str, а тупой алиас PWCHAR не получится использовать с const (const PWCHAR str означает уже совсем другое — константный указатель на неконстантную строку).
В общем, лютая тупость.
WCHAR, CWCHAR, PWCHAR, CPWCHAR, PCWCHAR, CPCWCHAR, VWCHAR, CVWCHAR, PVWCHAR, PCVWCHAR, VPWCHAR, VPCWCHAR, VPVWCHAR, VPCVWCHAR, CVPWCHAR, CVPСWCHAR, CVPVWCHAR, CVPCVWCHAR.
Вроде все назвал.
Microsoft Research is doing a good job!
Microsoft Hardware тоже обычно молодцы.
Job, который blow?
На днях полапал Майкрософт Натурал, которая эргономичная типа, вроде оригинальная... Основные кнопки норм, но пробел вообще отвратный, одной рукой прожимался со скрипом. Знакомый, который такую клаву юзает, сказал, что пробел на ней надо разрабатывать...
Короче не впечатлило.
Ок, будем считать, что Microsoft Hardware тоже говно.
Майки бесят тем, что их вечно шатает из стороны в сторону... Умудряются понаплодить кучу технологий, перехреначить API и UI, распиарить их и через пару лет забальзамировать, периодически подпирая костылями.
На эту тему: https://en.wikipedia.org/wiki/Vaporware
Вейперы и до программирования добрались.
Дак существенная часть WinAPI тянется ещё из времён Windows 3.0. Тогда это и было оправдано. А сейчас взять и выкинуть это дерьмо Микрософт уже не может - обратная совместимость-с. Да и работы там столько, что Авгиевы конюшни - просто курорт.
Чем?
Far pointers was used in windows 3.x (16-bit). But new versions wants to remain source-compatible with 3.x by some degree, so they used same macro (AFAIK expanded to far ptr on 3.x and to normal ptrs on newer platforms)...
Sorry for reply in english. I'm too lazy to learn how to switch layouts in XFCE.
I hope you still remember how to write xorg.conf.
Напоминает английский язык, в котором номинально существуют части речи вроде причастий, деепричастий, герундиев, герундивов, а фактически в современном языке они по форме неотличимы от глагола.
там были 64битные поинтеры вроде, но там было как-то с ними совсем сложно, и потому MS запретил PAE в консьюмерских версиях винды.
PAE были только в серверах.
Ну и конечно тока для kernel mode
Ubuntu causes brain damage, lol.
And 800x600 video mode upsets me much more than keyboard layouts...
Познание себя?
З.Ы. Ой, censory... Т.е. само-цензура...
> Sorry for reply in english. I'm too lazy to learn how to switch layouts in XFCE.
It's obvious that you can paste other peoples' answers here. So why don't you reuse the letters from their messages?
просто нуоче медленно, ибо через бивис
use google.com, type phrases using russian layout, in search results google will convert letters
http://winrus.com/klava.htm
(e ytuj tcnm gctdljybv porusski.net).
Данные толще 64K нужно дробить, иначе адресная арифметика уроборосится.
Правда у борланда были huge, не знаю были ли у Microsoft C