> даже в системах 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.
> "можно сгенерировать из самой dll"
> А способ сделать это не подскажете?
Я давно не имел дела с инструментами от MS.
В линуксе это делается командой nm. Можно попробовать натравить на dll nm из какого-ньть mingw.
> И как в таком случае быть с классами?
Если в dll нет отладочной информации -- то никак.
Если есть, можно попытаться её декодировать. Опять же, виндового инструмента не подскажу.
> Переменная будет размещена в стеке, не в куче?
В зависимости от того, где будет такая конструкция: если внутри функции, без слова static перед ней -- будет на стеке, если добавить static -- будет в статической памяти, если вне функции -- будет в глобальной памяти.
Ещё такую конструкцию можно поместить в другую структуру или класс, тогда это не определение переменной, а определение нового поля этого класса или структуры.
> я попросил помощи в конкретно поставленной задаче
Очень часто правильное решение состоит не в том, чтобы решить данную задачу, а в том, чтобы избавиться от неё. Подумайте об этом.