> всё содержимое копируется в стек?
Не обязательно, но если реализация по стандарту, то копии std::string ведут себя независимо.
Когда копируется и куда копируется -- зависит от реализации.
> что такое строка
Строка, упомянутая рядом с вектором? std::string, или std::wstring, как у автора вопроса, наверно.
Массивов char в предоставленных огрызках исходников не видно.
> А компиляторы (ну, ... приличные, по крайней мере ;-) ) давно уже никто не пишет с кодогенераций в ассемблер Олег Цилюрик: ...и поэтому разработчику компилятора самому не нужно уметь писать на ассемблере?
> в инструкции RTL, например, как у GCC
Может быть вы знаете, как в gcc генерируются прологи и эпилоги функций, и почему RTL в этом не участвует?
abcyu ключевое слово -- периодических. Нет фиксированных прерываний 100/250/1000 раз в секунду. Сами таймерные прерывания никуда не деваются, просто происходят они ровно тогда, когда нужно.
> даже в системах Windows, где вообще "на дух" нет текстовой консоли - всё-равно консольные приложения...
В windows есть подсистемы, одна из которых называется CONSOLE.
groups показывает содержимое /etc/group или аналогичной базы данных. Фактическое членство в группах можно посмотреть командой id.
Недостаточно просто прописать пользователя в группу, чтобы группа появилась в токене доступа; нужно либо вновь залогиниться, либо сделать newgrp <имя группы>, если группа с паролем.
> Ассемблер - переводчик "один в один": есть команда - есть соответствующий ей машинный код.
Только в самых простых случаях. Современные ассемблеры делают множество дополнительных трансформаций (assembly time relaxation). Простейший пример: в большинстве RISC-архитектур условные переходы имеют очень ограниченную "дистанцию прыжка", в отличие от безусловных; ассемблер может заменить условный переход который "не дотягивается" до нужного адреса парой "условный переход с противоположным условием + безусловный переход".
MiiNiPaa: используется, и gimple, и rtl, но они никуда не выводятся при нормальной работе и существуют только внутри исполняющегося компилятора. Результат же работы собственно компилятора c/c++ из gcc (cc1/cc1plus) -- это ассемблерный файл для целевой машины.
> В противном случае пришлось бы делать <кол-во яыков> × <кол-во платформ> трансляторов, вместо текущего <кол-во яыков> × <кол-во платформ>.
У вас слева и справа от "вместо" записано одинаковое значение.
Назар Мокринский: не имеет, потому что нет никаких гарантий о согласованности структуры файловой системы в разные моменты времени в течение проверки. Так что наверняка при этом найдутся ошибки, но нельзя будет сказать, вызваны ли они реальными повреждениями файловой системы, или штатной записью на диск, произошедшей в процессе проверки.
shansung: для начала -- понять, что вы хотели и как это делается с помощью сокетов.
По коду создаётся впечатление, что вам нужно было соединение TCP, т.е. SOCK_STREAM, но вместо этого по какой-то причине (догадываюсь, что кто-то не осилил сделать фрейминг своих сообщений) SOCK_STREAM был заменён на SOCK_DGRAM, который работает совсем по-другому.
> скомпилированные нативные модули вроде EXE, ELF, DLL, LIB, SO и прочих не имеют стандартизированных способ хранить информацию о классах.
Это не совсем так. Отладочная информация DWARF позволяет хранить описание структур и классов, причём не только типы и названия полей, но и расположение полей в памяти. Просмотреть её можно, например, командой dwarfdump.
Не обязательно, но если реализация по стандарту, то копии std::string ведут себя независимо.
Когда копируется и куда копируется -- зависит от реализации.