Ioann_
К слову open cv - это и есть мы от части. Только эта самая часть в 2005 году была сокращена, и отделилась в itseez как следствие. Не выгодно это было тогда :)
ep
ep
И насколько я знаю, в Itseez работа была интересна разве что студентам, потмоу как платили они какие-то смешные деньги.
Ioann_
Я во всю байду эту особо нелез. Но все это называлось как то НСТЛ
Ioann_
И мы были частью интела в т.ч по сути. Так как располагались в т.ч на 9 этаже их офиса в нн. Потом что то произошло, потом еще что то и вуаля капвидиа стала Бельгийской
Alexander
Привет, есть следующий код.
https://wandbox.org/permlink/aGfedlbVkiaX10DX
И один из выводов
func called, i= 3 / 7f0c8aafc700
func called, i= 2 / 7f0c8aafc700
func called, i= 4 / 7f0c8aafc700
func called, i= 5 / 7f0c8aafc700
func called, i= 6 / 7f0c8aafc700
func called, i= 7 / 7f0c8aafc700
func called, i= 8 / 7f0c8aafc700
func called, i= 9 / 7f0c8aafc700
func called, i= 1 / 7f0c8aafc700
func called, i= 0 / 7f0c8aafc700
не пойму почему порядок не 0, 1, 2, 3, 4 .. 9 ?
разве strand это не гарантирует ?
Кто-нибудь знает в чем дело ?
Alexander
Pavel
4 года статье. может апи поменяли, незнаю
Pavel
хотя я вот какраз года 4 назад читал доки по асио и там, кажется, было ровно тожесамое что и сейчас
Pavel
This function is used to create a new handler function object that, when invoked, will automatically pass the wrapped handler to the strand's dispatch function.
Pavel
у тебя получилось что сервис вызывает хендлер который создал врап как попало. и вот в этом как попало порядке оно потом уже и диспатчится через странд
Pavel
а надо просто post, который Request the strand to invoke the given handler and return immediately.
Pavel
ну а диспатч это с блокировкой соотв
Pavel
там же всё просто. два предложения в доках
Alexander
действительно, спасибо.
Square
Ivan
Ned
Парни. Нужен спец в кросс-компиляции для разъяснительной беседы в личку. Срочно!
Vladislav
зачем в личку?
Berkus
Привет, есть следующий код.
https://wandbox.org/permlink/aGfedlbVkiaX10DX
И один из выводов
func called, i= 3 / 7f0c8aafc700
func called, i= 2 / 7f0c8aafc700
func called, i= 4 / 7f0c8aafc700
func called, i= 5 / 7f0c8aafc700
func called, i= 6 / 7f0c8aafc700
func called, i= 7 / 7f0c8aafc700
func called, i= 8 / 7f0c8aafc700
func called, i= 9 / 7f0c8aafc700
func called, i= 1 / 7f0c8aafc700
func called, i= 0 / 7f0c8aafc700
не пойму почему порядок не 0, 1, 2, 3, 4 .. 9 ?
разве strand это не гарантирует ?
https://wandbox.org/permlink/GmVtZIu1FuhyRW3p вот работающая версия, отличия сам найдешь (1 выкинуть ненужный мьютекс, 2 вызывать правильный post)
Matwey
А cmd.exe и powershell различаются по поведению?
Berkus
Berkus
@AlexFails это в цитатник
Berkus
Berkus
для инвалидов которые не умеют в линковку
Pepe 🐸
ep
Pepe 🐸
Dr. Friedrich
Вы всё делаете неправильно. Не нужно никаких 866, не нужно никаких 1251. В 2017 году нужен только юникод.
Dr. Friedrich
Виндовая консоль работает с юникодом, как и консоль на других ОС. К сожалению, ей приходится для этого подкинуть пару подпорочек, это да.
Dr. Friedrich
(но поведение шеллов, безусловно, может различаться, покуда ты в них работаешь — в том числе и по отношению к кодировкам)
Evgenii
Anonymous
ep
Anonymous
а из кода, я так полагаю, мне надо делать system("chcp что-то-там")?
Anonymous
или в Win API какая-то штука для этого есть?
Matwey
Dr. Friedrich
Вот с этой фигнёй wcout начинает работать.
Dr. Friedrich
А я там дальше показал подпорочку.
Dr. Friedrich
wcin / wcout в винде работают концептуально лучше, чем cin / cout.
Dr. Friedrich
С костылями, конечно :)
Dr. Friedrich
Мы всё это обсуждаем каждый раз, когда кому-то хочется писать кириллицу в виндовую консоль. Сделано там у них всё дико неинтуитивно, тут не поспоришь.
Matwey
Dr. Friedrich
Dr. Friedrich
Во всяком случае, основные команды, которые возвращают юникод, работают нормально. Я уж не знаю, само оно перекодирует в UTF-16, или там что-то ещё хитрее сделано.
Dr. Friedrich
Они там даже ANSI-коды прикрутили немножко.
Andrey
Dr. Friedrich
Твоя это в 1251?
Dr. Friedrich
Она ломается, когда тебе нужно выводить текст в какой-то другой кодировке.
Andrey
Dr. Friedrich
Просто, ну, wchar_t сам по себе — достаточно костыльная вещь. В стандарте не указано, какая там должна быть кодировка, и какого размера эти символы должны быть. Поэтому всё это хозяйство очень сильно полагается на реализации :(
Dr. Friedrich
В Linux это 4-байтовые символы, и я боюсь даже предположить, как кодировка в std::wcin зависит от локали.
Evgenii
просто надо уничтожить все кодировки кроме utf8 и все
Andrey
надо будет почекать, а то привык к std::cin/cout
Square
Andrey
да и ещё больше к qDebug()
ttldtor
я бы ещё byte order и call convetions уничтожил
Square
Dr. Friedrich
Я не уверен, что ты понимаешь проблему.
Dr. Friedrich
Я хочу вывести строку "привет, 漢語"
Dr. Friedrich
Ну, русско-китайский словарь пишу, например.
Dr. Friedrich
В какой однобайтовой кодировке мне эту строку выводить, а?
Square
http://kunststube.net/encoding/
ttldtor
Dr. Friedrich
«Давай заддоним смешанную калчер и мэй закапывать» — Ъ смешанная culture.
Ioann_
А как, собственно работать с Уникодом в консоли у Винды ?
Ioann_
Я вот честно - не знаю, могу конечно прогуглить все это дело, но черт побери, тут же тоже можно задавать вопросы
Ioann_
Так что накиньте кода, который работает именно с UTF 8
Ioann_
И все это в консоленьку Виндовую закидывает
Dr. Friedrich
А как, собственно работать с Уникодом в консоли у Винды ?
Последние дня три мы это обсуждаем. Выше я привёл ссылку на приложение, которое православно печатает юникодовый список всех установленных прог из MSI.
TLDR:
- _setmode(_fileno(stdout), _O_U16TEXT); в начале программы
- используешь std::wcout и std::wprintf везде
Matwey
@fvnever ты мне объясни зачем в виртуальном терминале экономить байты? выдавай каждый символ хоть 8-байтным кодом сразу