Абдухаким
не могу найти
Berkus
я знаю как ето делать на Winsock2 но как ето делать на boost::asio используя boost::asio::buffer
покажи как ты делаешь это на winsock, покажу как сделать это на асио
Абдухаким
ok
Berkus
пока что совершенно непонятно в чем там может быть сложность
Абдухаким
int32_t size = msg.size();
Абдухаким
send(socket, (char*)& size, sizeof(int32_t), NULL);
Абдухаким
send(socket, msg.c_str(), size, NULL);
Berkus
ну вон же ты размер передаешь, читай его и вперед
Berkus
https://stackoverflow.com/a/15069733/6804187 вот есть пара ссылок куда смотреть
Абдухаким
ну вон же ты размер передаешь, читай его и вперед
на boost не знаю как передать типы кроме string и сhar а размер типа int проблема в том что boost::asio::buffer не хочет етого
Berkus
boost::asio::async_read_some(boost::asio::buffer(reinterpret_cast<char*>(&size), sizeof(int32_t)) точно так же
Berkus
просто конструируешь буфер из инта и читаешь в него, не забывай про endianess
thegr1f
Коллеги, хелп: нужно замерить время работы функции в мс. В Java изи делается, а вот в плюсах не могу совладать с получением времени
🦥Alex Fails
самое простое и портабельное в C++98 - clock()
🦥Alex Fails
в новом стандарте (C++11) есть high_resoluton_clock
Matwey
std::chrono
thegr1f
Clock у меня выдаёт одинаковые значения, хотя функция - метод Гаусса
🦥Alex Fails
а на платформах сильно depends, я мини-заметку писал на эту хурму
thegr1f
Около 1к
Stanislav
https://solarianprogrammer.com/2012/10/14/cpp-11-timing-code-performance/
Stanislav
как раз получается что хайрезолюшен на студии 2012 под вин7 не отличается от других
thegr1f
Станислав, спасибо, попробую
thegr1f
Просто я сегодня на паре реально удивился, как это геморно в плюсах получить время
Anatoly
анонс митапа в СПб: https://www.meetup.com/St-Petersburg-CPP-User-Group/events/243451783/ #meetup #cpp #spb
thegr1f
Да ладно, вот из Java: System.currentTimeMillis()
thegr1f
И всё, вернёт текущее время в мс в любом месте программы
Stanislav
https://solarianprogrammer.com/2012/10/14/cpp-11-timing-code-performance/
system_clock 1 10000000 steady = false high_resolution_clock 1 1000000000 steady = true steady_clock 1 1000000000 steady = true 2017.3 и вин 10
🦥Alex Fails
static_assert(std::steady_clock::is_steady(), "Your steady clock is not so steady");
🦥Alex Fails
в джаве кажется сложнее
да вон написали же, что там один вызов статического метода
thegr1f
Да ладно, вот из Java: System.currentTimeMillis()
Aidar
это не время
thegr1f
А что?
Aidar
ладно
thegr1f
Это Unix время
Aidar
system_clock::now() тогда
Aidar
в плюсах
Aidar
ичо
Anatoly
не плати, Ильюха, митап бесплатный
Aidar
я люблю итераторы
Dima
я все жду времена, когда в крестах не надо будет думать о контроля над памятью, как в нормальных языках...
thegr1f
system_clock::now() тогда
А include нужен какой?
🦥Alex Fails
А include нужен какой?
#include <chrono>
Aidar
А include нужен какой?
chrono chrono::system_clock::now()
Aidar
вернет system_clock::time_point
Aidar
на самом деле в "нормальных языках" надпамятью тоже бывает нужно думать
thegr1f
Там много странных выражений)
thegr1f
Не не не
thegr1f
Я же не вообще зелёный
Aidar
дуй в супапро
thegr1f
Блин там кароч ошибка Chrono has not been declared
Aidar
#supapro
Ivan
Исправвлено в GCC-8
Спасибо! 1) И теперь можно будет писать вот так: [[maybe_unused]] auto[x, y] = obj;? 2) А тот баг, что ты зарепортил, который я нашёл исправили?
🐙 Antony
Который именно?
Ivan
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81129
Dmitry
можно вкратце плз?
Dmitry
[[maybe_unused]] смутило
Ivan
интересно, что за конструкция?
Например, бывает так: [[maybe_unused]] auto[key, value] = myMap.at("key"); сам ключ тебе не нужен. Сейчас, возникает warning Wunused
Aidar
[[maybe_unused]] смутило
просто чтоб ворнинги не кидало
🦥Alex Fails
это атрибут, который говорит компилю, что вот это то, что ты отметил, может быть не использовано
🐙 Antony
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81129
Судя по тикету - пока ещё не приступали
Ivan
Судя по тикету - пока ещё не приступали
Я вижу)) но пока я эту ссылку нашел...
Aidar
http://en.cppreference.com/w/cpp/language/attributes
🦥Alex Fails
[[deprecated]]
Dmitry
и всё?
🦥Alex Fails
и еще какие-то в стд) и в доке компиля надо смотреть
Anatoly
[[ noreturn ]]
🦥Alex Fails
точно
🦥Alex Fails
есть еще [[carries_dependency]], Но я не понял его семантику. Там чо-то смногопоточностью
Dmitry
[[ noreturn ]]
[[ noreturn ]] myfunc(); ?
🦥Alex Fails
да, именно так. Есть еще неймспейсы, например, для опенMP