Крылатый
30
Крылатый
Лущ заонтопьте.
Eugene
на самом деле писать на чистом WinAPI очень муторно и занимает много времени, тот же MFC или VCL намного ускоряет все дело
Eugene
Про Message Compiler впервые слышу. Что это такое?
Roman
Ребят, подскажите, как работать с native api windows. Видел статьи, как можно компилировать через visual studio. А как запустить написанное приложение из винды? Можно ли создавать в нэйтив окна, наподобие windows Forms
Berkus
#supapro
Eugene
Ребят, подскажите, как работать с native api windows. Видел статьи, как можно компилировать через visual studio. А как запустить написанное приложение из винды? Можно ли создавать в нэйтив окна, наподобие windows Forms
Native API это недокументированный интерфейс WinAPI, меняется в каждой версии Windows, использовать его нужно только разработчикам драйверов, для всех остальных есть WinAPI
Berkus
WDK?
Berkus
DDK?
Eugene
Ты не встречал, где можно более подробно прочитать, как с ним работать. Может примеры есть какие...
только у меня подозрение, что ты не особо понимаешь о чем спрашиваешь, видимо тебя интересует обычный WinAPI32/64, который ты почему то называешь native api
Eugene
Native API это самый нижний слой взаимодействия с операционной системой, более низкоуровневый чем WinAPI
Roman
Это связано с неуправляемым кодом?
Eugene
мдя, все ясно...
Roman
😁
Eugene
читай вот это https://msdn.microsoft.com/ru-ru/library/windows/desktop/ff818516(v=vs.85).aspx
Berkus
дотнет, доооотнееет
Matwey
Господа
Matwey
а в каком чатике надо узнать ответ на вопрос, является ли поддержка sse необходимой в i686 архитектуре?
Egor
а в каком чатике надо узнать ответ на вопрос, является ли поддержка sse необходимой в i686 архитектуре?
Если вы про опции gcc, то, судя по https://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/i386-and-x86_002d64-Options.html (Рандомный древний док по запросу «i686 sse»), на самом простом i686 не гарантируются SSE (Pentium Pro)
Matwey
А вот golang считает что они там должны быть :(
Egor
Ну, кажется, тогда стоит определить, что есть «i686-архитектура» и зачем задаётся вопрос, а то XY.
Matwey
Так я у вас и хочу узнать, где ссылка на первоисточник "что такое i686"
Eugene
зачем мучится? просто вынести процессорнозависмый код в DLL, детектить при старте тип проца, и подгружать нужную DLL для вычислений
Matwey
Это как?
Matwey
golang генерит в коде инструкции из SSE, куда их вынести?
Matwey
я пытаюсь понять, надо ли идти жаловаться авторам или нет
Eugene
golang генерит в коде инструкции из SSE, куда их вынести?
можно скопилировать код без SSE инструкций? или они гвоздями в компилятор прибиты?
Egor
Я не удивлюсь, если прибиты
Egor
я пытаюсь понять, надо ли идти жаловаться авторам или нет
А какова конечная цель? Вам надо запустить код на конкреином процессоре без sse?
Matwey
Да
Egor
Вот тут пишут, что можно через переменую окружения отключить всё нафиг: https://github.com/golang/go/issues/20009
Matwey
Ага, я это нашел уже
Matwey
Это из тех времен, когда не только лишь Intel делал x86 процессоры
Eugene
Можно
ну тогда просто все, собрать приложение без поддержки SSE, детектить при старте тип процессора, а если он поддерживает SSE загружать дополнительную DLL которая собрана с ключами поддержки SSE инструкций и получить дополнительный прирост производительности на новых процах
Matwey
Не надо ничего детектить. Любой i686 Linux дистрибутив собран без SSE инструкций
Eugene
ну если писать числодробилку или игру наконец, то SSE инструкции нужны, потому как дадут существенный рост производительности
Matwey
Вот тут пишут, что можно через переменую окружения отключить всё нафиг: https://github.com/golang/go/issues/20009
https://github.com/golang/go/issues/12970 Таких тикетов у них полный трекер. Вот и думай...
Berkus
я пытаюсь понять, надо ли идти жаловаться авторам или нет
вообще в i686 нет sse, он появился только в p4
Eugene
не понял вас
Matwey
вообще в i686 нет sse, он появился только в p4
Вот я тоже всегда так думал. Никогда такого не было, и вот снова.
Eugene
ну так и есть.. в чем вопрос то?
Эдвард
Бля. Неправильно прочитал :(((( Сорян
Eugene
я с Native API баловался когда учился в школе, написание вирусов и все такое, молодой и глупый был)
Alexander "SonnySlave"
https://www.opennet.ru/opennews/art.shtml?num=47602
Anonymous
Уверенно движется в лучшую сторону.
Alexander "SonnySlave"
ну, прорыв не прорыв. Но пакеты активно пакетятся
Alexander "SonnySlave"
хочешь помочь? на патреоне можешь кинуть им
Alexander "SonnySlave"
какой тот?
Alexander "SonnySlave"
http://www.webtoolkit.eu/wt
Alexander "SonnySlave"
http://www.webtoolkit.eu/wt/news/2017/11/21/wt_4_0_1
Ivan
https://wandbox.org/permlink/gyecHbzatH6zusUJ можно как-то сделать, чтобы неявно приводился всё-таки operator vector<T>(), для range-based for, чтобы не делать функцию .asVector() ?
Vasily
https://wandbox.org/permlink/gyecHbzatH6zusUJ можно как-то сделать, чтобы неявно приводился всё-таки operator vector<T>(), для range-based for, чтобы не делать функцию .asVector() ?
Если вы хотите сделать range-based цикл, нужно, чтобы ваш контейнер имел методы begin() и end(). Собственно, вам компилятор так и написал в логах.
Ivan
vector<T> имеет begin() и end()
Vasily
Так вы же итерируете не vector, а ваш собственный класс.
Ivan
Повторю вопрос: можно как-то сделать, чтобы неявно приводился всё-таки operator vector<T>(), для range-based for, чтобы не делать функцию .asVector() ?
Berkus
сделай begin(myclass) же
Berkus
и end(myclass)
Ivan
а почему он не приводит к типу vector<T> ?
Berkus
потому что это временное значение
Berkus
он вообще не обязан типы приводить в этом месте, опасни
Vasily
range-based for — это же просто синтаксический сахар. Просто цикл for с итераторами, который можно так элегантно записать. Почему он должен привовить к вектору ваш класс?
Ivan
ok
Vasily
Вообще в C++17 с помощью structure bindings можно использовать range-based for и для std::map
Berkus
да они вон в операторе конверсии используются как раз
Александр
Народ, boost::string_view подходит как drop-in replacement для std::string_view?
Berkus
вроде бы в точности совместим
Александр
Вот и замечательно
Sergey
Всем привет ) Стоит ли мне сейчас сувать свой нос в с++, если есть опыт писанины простых - средних программ на с#. Мотив таков: по сути с++ один тру язык, который не ориентирован на формошлепство, как например с#
Anonymous
Не знаю, кто тебе вбил в голову, что C++ — "единственный нормальный язык".
Anonymous
Сложность не значит, что он единственный "правильный".
Anonymous
C# тоже вполне себе нормальный инструмент.