Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Допустим, есть код, в котором один поток присваивает переменной случайные чётные значения, а другой - случайные нечётные значения. Верное ли, что если переменная типа int, использовать обёртку atomic необходимости нет, а если float или double, то надо? Почему объекты int сравниваются между собой точно, а float или double уместно сравнивать с учётом допустимой погрешности, ведь в каждом случае достаточно сравнивать соответствующие биты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 18:59 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
IMHO жестокий вопрос, точнее два жестоких вопроса 1) фиолетово, что для int, что для float. double. Т.к. все пытаются только присвоить и никто не пытается ничего прочитать, то, что присваивать четные значения, что нечетные - одно фиолетово. Просто преобразование электронов в температуру воздуха в комнате, где стоит системный блок. При чем тут atomic совершенно не понятно. 2) одинаково фиолетово, если работать с float как с набором битов Код: sql 1. 2. 3. 4. будет работать вне зависимости от того, float или int. А вот математические вычисления, точно работать с плавающей точкой НЕ будут. Код: sql 1. 2. 3. 4. с int работать будет, а с float уже нет ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 19:45 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev1) фиолетово, что для int, что для float. double. Т.к. все пытаются только присвоить и никто не пытается ничего прочитать, то, что присваивать четные значения, что нечетные - одно фиолетово. Просто преобразование электронов в температуру воздуха в комнате, где стоит системный блок. При чем тут atomic совершенно не понятно. Хорошо, не чётные/нечётные, а значения, в последних 5 битах которых стоят единицы для первого потока (остальные биты случайны) и значения, у которых на тех же местах стоят нули для второго потока. Затем потоки прерываются. После завершения работы потоков по присвоению значений одной и той же переменной у int на последних 5 битах будут стоять только нули или только единицы (насколько я понял). У double или float тоже будут на последних 5 битах либо нули, либо только единицы? Про сравнение: по-моему, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. В тех строках, где неправильно (наверное) сравниваются float и double печать будет происходить не всегда. Или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:07 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoПосле завершения работы потоков по присвоению значений одной и той же переменной у int на последних 5 битах будут стоять только нули или только единицы (насколько я понял). У double или float тоже будут на последних 5 битах либо нули, либо только единицы? И то и то атомарный тип процессора (intel). Почему поведение для int должно отличаться от поведения для float - лично мне совершенно не понятно Насколько такая операция безопасна и документирована - я не знаю, не спец по процессорам и многозадачности в таком сферическом вопросе. Подозреваю, обработка все равно будет идти по cache line, т.ч. что int, что double будет глубоко пофиг. Но подозреваю, точно не знаю. Ссылку на доку дать не готов. ayvangoпечать будет происходить не всегда. Или я ошибаюсь? Я сильно сомневаюсь, что кто-то специально добавлял генератор случайных чисел в команду присваивания ))) Но разумеется, все зависит от разработчиков компилятора, их воображения и чувства юмора ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:20 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvango, у тебя какая-то каша в голове. Атомарность это прочитать-изменить-записать. atomic именно это гарантирует для int/float/double и т.д., т.е. между чтением и записью исходное значение не изменилось. Про точность float/double и почему их нельзя сравнивать на == читай гугл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:23 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Т.е., atomic нужен только для того, чтобы учесть изменения, вносимые каждым потоком (когда оба они выполняют, нампример, операцию сложения с константой). А если один поток присваивает переменной случайное значение, большее 100, а другой значение, меньшее 100, то никакие atomic не нужны? Что тогда имеется ввиду в фразе "int - атомарный тип, а double таковым не является" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:38 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoТ.е., atomic нужен только для того, чтобы учесть изменения, вносимые каждым потоком (когда оба они выполняют, нампример, операцию сложения с константой). А если один поток присваивает переменной случайное значение, большее 100, а другой значение, меньшее 100, то никакие atomic не нужны? Если тебе пофиг что в итоге запишется то не нужны. ayvangoЧто тогда имеется ввиду в фразе "int - атомарный тип, а double таковым не является" ? Откуда эта фраза? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:49 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Откуда эта фраза? Наверное, что-то напутал. Думал, что принципиальные различия у int и double имеются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:57 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoЧто тогда имеется ввиду в фразе "int - атомарный тип, а double таковым не является"? Спроси у её автора. Скорее всего - отсутствие/наличие "thorn read". У Интеля его нет ни для int ни для double (при должном выравнивании). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 20:59 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoОткуда эта фраза? Наверное, что-то напутал. Думал, что принципиальные различия у int и double имеются. Все что укладывается в одну команду асма - атомарно. Присвоение значения int/float/double это одна команда, т.е. прерывание потока может произойти или до или после, но не в середине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 21:14 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Dima TВсе что укладывается в одну команду асма - атомарно. Присвоение значения int/float/double это одна команда, т.е. прерывание потока может произойти или до или после, но не в середине. нездоровый тезис ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 22:10 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Dima TВсе что укладывается в одну команду асма - атомарно. Всё несколько усложняется когда приходит многопроцессорность. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 22:13 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvango, float, это 4 байта, double - 8 байт. Для процессора Intel совершенно фиолетово, какими типами данных оперирует компилятор C++ и он с одинаковым успехом командой "lock xchg" запишет хоть long, хоть float по указанному адресу памяти. Если не знаком с inline-ассемблером, ничто не мешает использовать WINAPI Interlocked функции, к примеру: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 22:21 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Dima TВсе что укладывается в одну команду асма - атомарно.Нет, не атомарно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 23:15 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Я думаю что среди нормальных овец найдется одна паршивая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2017, 23:32 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ИзопропилDima TВсе что укладывается в одну команду асма - атомарно. Присвоение значения int/float/double это одна команда, т.е. прерывание потока может произойти или до или после, но не в середине. нездоровый тезис Я к тому что в результате одновременного вызова из нескольких потоков Код: plaintext 1. в x всегда будет значение записанное одним из потоков, а не комбинация из части байтов от одного потока и части от второго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 09:17 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Dima T, про выравнивание забываешь, из-за него и может ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 09:36 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Dima TЯ к тому что в результате одновременного вызова из нескольких потоков Код: plaintext 1. в x всегда будет значение записанное одним из потоков, а не комбинация из части байтов от одного потока и части от второго.Нет! Там всегда будет то значение, которое каким-либо образом попало в кэш обратной (отложенной) записи ядра процессора. В данном случае, там будет значение, записанное ядром в свой собственный кэш. В реальности всё гораздо сложнее - система кэширования процессора оперирует блоками отображения на память. Величина блока - величина не константная и зависит от модели процессора. На время выполнении операции чтения/записи с памятью, системная шина блокируется и данные из кэша ядра синхронизируется с памятью, что обеспечивает атомарность переноса данных из кэша в память и обратно. MFENCE and LFENCE Micro-Architectural Implementation Method and System ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 10:12 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoПочему объекты int сравниваются между собой точно, а float или double уместно сравнивать с учётом допустимой погрешности, ведь в каждом случае достаточно сравнивать соответствующие биты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 11:28 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
в огороде бузина, а в Киеве - дядька... ты хотя бы определился бы, о каком языке программирования речь... ayvangoДопустим, есть код, в котором один поток присваивает переменной случайные чётные значения, а другой - случайные нечётные значения. Верное ли, что если переменная типа int, использовать обёртку atomic необходимости нет, а если float или double, то надо? скорей всего, , неверно. ayvangoПочему объекты int сравниваются между собой точно, а float или double уместно сравнивать с учётом допустимой погрешности, ведь в каждом случае достаточно сравнивать соответствующие биты? это совсем другая история. int точный тип данных, а float , double - неточные, их в принципе сравнивать бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 23:13 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
MasterZivayvango....ведь в каждом случае достаточно сравнивать соответствующие биты? это совсем другая история. int точный тип данных, а float , double - неточные, их в принципе сравнивать бессмысленно. не очень понятно, о чем же спрашивает автор и откуда он взял эту информацию если о хранение данных, то что int, что float/double одинаковые последовательности битиков и никто не мешает их сравнивать если о вычислениях, то тогда float/double точно сравнивать обычно бессмысленно Видел одну систему, где Primary Key в БД был float. Наверное, в случае Primary Key, сравнивать "с учетом допустимой погрешности" как-то странно. Другое дело, что я хотел бы видеть того архитектора и анал итика который Primary Key сделал float'ом и зачем он это сделал так. Даже на hibernate головного мозга это не списать. Там какое-то другое заболевание. Система была на Delphi написана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 07:37 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
если о вычислениях, то тогда float/double точно сравнивать обычно бессмысленно Именно это я и спрашивал: почему бессмысленно. Чтобы не плодить темы о потоках: отличается ли чем-то принципиально многопоточное программирование от многопроцессного, кроме разных механизмов синхронизации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 01:24 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoЧтобы не плодить темы о потоках: отличается ли чем-то принципиально многопоточное программирование от многопроцессного, кроме разных механизмов синхронизации? Отличаются. Каждый процесс имеет свое адресное пространство, поэтому указатель между процессами не передать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 07:37 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Отличаются. Каждый процесс имеет свое адресное пространство, поэтому указатель между процессами не передать. Только этим отличаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 10:53 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoТолько этим отличаются?Ты на Хабре забанен? Анатомия программы в памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 11:01 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoОтличаются. Каждый процесс имеет свое адресное пространство, поэтому указатель между процессами не передать. Только этим отличаются? Хочешь подробностей - читай книги. Например Джеффри Рихтер "Windows via C/C++. Программирование на языке Visual C++" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 11:51 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoИменно это я и спрашивал: почему бессмысленно. .... Просто возьми и исправь мой пример, который работает с int, что бы он корректно работал с double. А потом, что бы понять, почему же он все равно не работает... начни ломать себе мозг разными представленными чисел в 10 и 2'ой системе счисления и разными бесконечными дробями в этих двух системах: Код: sql 1. 2. 3. 4. 5. С чем нужно сравнить a, что бы понять, что строчкой выше 10 делили на 3 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 13:16 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Джеффри Рихтер "Windows via C/C++. Программирование на языке Visual C++" rdb_dev Анатомия программы в памяти Спасибо за ссылки, хабр просмотрел, книгу пролистал, в книге перессказ функций WINAPI. Правильно я понял, что даже у C++17 отсутствует возможность управления многопроцессностью, поскольку тут уже играют роль особенности ОС, поэтому приходится пользоваться присущими ОС функциями (WINAPI для Windows)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 01:15 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevС чем нужно сравнить a, что бы понять, что строчкой выше 10 делили на 3 ? Не знаю, с чем, я лишь спрашивал, почему проверки на равенство для int и double разные Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 01:18 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoя лишь спрашивал, почему проверки на равенство для int и double разные Потому что не все диапазоны вещественных чисел представимы в точном виде. Код: plaintext 1. 2. 3. 4. 5. 6. Казалось бы, должно вывестись 10 чисел и после выполнения цикла значение d должно быть 0.9. Однако выводится 11 чисел. В конце единица. Стало быть d == 1? Но нет! Сравнение с единицей выдаёт false! 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 false Если теперь установить большую точность вывода, результат станет понятным (надеюсь): Код: plaintext 1. 2. 3. 4. По ходу вычислений накопилась погрешность и в конце d вовсе не единица. 0.0000000000000000 0.1000000000000000 0.2000000000000000 0.3000000000000000 0.4000000000000000 0.5000000000000000 0.6000000000000000 0.7000000000000000 0.7999999999999999 0.8999999999999999 0.9999999999999999 false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 04:46 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
petalvik, Кажется, понял. Сравнивать можно как угодно, только из-за накапливаемой погрешности результаты, одинаковые с точки зрения арифметики, могут оказаться различными в зависимости от последовательностей математических операций, в ходе которых были получены результаты, поэтому надо указывать приемлемую точность, но и она не спасёт, если результаты разные с точки зрения арифметики, но вписываются в указанную погрешность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 14:55 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangopetalvik, Кажется, понял. Сравнивать можно как угодно, только из-за накапливаемой погрешности результаты, одинаковые с точки зрения арифметики, могут оказаться различными в зависимости от последовательностей математических операций, в ходе которых были получены результаты, поэтому надо указывать приемлемую точность, но и она не спасёт, если результаты разные с точки зрения арифметики, но вписываются в указанную погрешность. Насколько у меня в голове "слушок", в математике есть целый раздел науки, который занимается отдельно проблемой определения точности и погрешностей. Но никогда этим особо не интересовался, не нужно было. Т.ч. "и она не спасёт" - не верно, спасет "результаты разные с точки зрения арифметики, но вписываются в указанную погрешность" - если погрешность выбрана "первая попавшаяся", то разумеется, при выполнение можно получить ошибку "первое попавшееся не попалось". Но с этой ошибкой, очень легко бороться! Просто достаточно взять "второе попавшееся" и, возможно, тогда повезет! Даже в бухгалтерии, есть специальные правила и даже специальные счета для отслеживания ошибок вычисления. Т.ч. там тоже, никаких проблем нет, если не изобретать велосипед, а спросить у человека, разбирающегося в бухгалтерии, что с этим принято делать в конкретном случае. Ну и желательно для денег float не использовать, а использовать BCD. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 17:58 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Хорошо, с погрешностями разобрались. А нижеприведенное утверждение верно? Правильно я понял, что даже у C++17 отсутствует возможность управления многопроцессностью, поскольку тут уже играют роль особенности ОС, поэтому приходится пользоваться присущими ОС функциями (WINAPI для Windows)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 18:17 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoА нижеприведенное утверждение верно? Нижеприведённое утверждение - бессмысленный набор слов, который невозможно подтвердить или опровергнуть. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 18:21 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Пора заводить под С++17 отдельный форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 18:24 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Хорошо, как без помощи функций ОС в С++ можно получить универсальный (независимый от ОС, хотя бы для основных ОС) доступ к разделяемой памяти или к др. методам межпроцессного взаимодействия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 18:26 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Команда printf это с "помощью ф-ций ОС" или нет? Хорошо, как без помощи функций ОС... Легко 1. Пишите программу на С, компилируете ее 2. Каким-то образом создаете бинарный образ для записи во flash ПЗУ материнской платы 3. Перегружаете компьютер... и ву а ля... все работает без помощи ОС !!! Разумеется, перед этим хорошо бы где-то достать документацию по программированию BIOS для Вашей материнской платы. Где это сделать, я не знаю. Ни разу таким не интересовался. Для старых компьютеров, типа IBM PC/XT с 8086, 8088 , 8186 процессором... можно было просто собрать .COM файл, купить специальное устройство "программатор", купить микросхему ПЗУ, записать туда файл, разобрать компьютер и заменить микросхему. На современных компьютерах, все и проще (BIOS во Flash) и сложнее. Ни фига не понятно, где достать документацию и сколько документации нужно прочитать, что бы корректно включить современный процессор и материнскую плату в работу при включении компьютера )) Ну и желательно, запастись парой десятков материнских плат для тестирования... боюсь, после таких экспериментов, при отладке, материнскую плату будет проще выбросить и взять новую ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 18:56 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoПравильно я понял, что даже у C++17 отсутствует возможность управления многопроцессностью, поскольку тут уже играют роль особенности ОС, поэтому приходится пользоваться присущими ОС функциями (WINAPI для Windows)?Чтобы правильно понять и не задавать подобные глупейшие вопросы, тебе, сначала, надо разобраться с тем, как работает процессор, что такое ассемблер и чем ассемблер отличается от C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:01 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoкак без помощи функций ОС в С++ можно получить универсальный (независимый от ОС, хотя бы для основных ОС) доступ к разделяемой памяти или к др. методам межпроцессного взаимодействия? Ты не поверишь, но без ОС процессов не бывает. Зря ты отказался читать Рихтера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:12 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, имелся ввиду именно универсальный доступ для большей части популярных ОС. Например, если бы способы работы с разделяемой памятью и соответствующие функции для неё являлись общими для Windows, Linux и других систем, то их бы, пожалуй, интегрированы в C++. Но они не интегрированы, значит, нет такого C++ кода, который бы работал с межпроцессным взаимодействием вне зависимости от ОС. Поправь, если ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:20 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevКаким-то образом создаете бинарный образ для записи во flash ПЗУ материнской платы зачем так жестоко, достаточно на диск/карту памяти записать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:21 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoзначит, нет такого C++ кода, который бы работал с межпроцессным взаимодействием вне зависимости от ОС. полно такого кода. условной компиляцией достигается.три-четыре системы поддержать не особо сложно при наличии должной квалификации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:24 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Изопропилполно такого кода. условной компиляцией достигается. Это уже не универсальный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:33 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoИзопропилполно такого кода. условной компиляцией достигается. Это уже не универсальный код. с точки зрения бизнеса - универсальный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 19:35 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoDimitry Sibiryakov, имелся ввиду именно универсальный доступ для большей части популярных ОС. Например, если бы способы работы с разделяемой памятью и соответствующие функции для неё являлись общими для Windows, Linux и других систем, то их бы, пожалуй, интегрированы в C++. Но они не интегрированы, значит, нет такого C++ кода, который бы работал с межпроцессным взаимодействием вне зависимости от ОС. Поправь, если ошибаюсь. Ошибаешься. MS Visual C последних версий, конструкции для автоматического распараллеливания вычислений содержит. Просто язык C, от Корниган и Ричь, нет. Просто было не нужно. Они такими глупостями не страдали. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 20:00 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoDimitry Sibiryakov, имелся ввиду именно универсальный доступ для большей части популярных ОС. Например, если бы способы работы с разделяемой памятью и соответствующие функции для неё являлись общими для Windows, Linux и других систем, то их бы, пожалуй, интегрированы в C++. Но они не интегрированы, значит, нет такого C++ кода, который бы работал с межпроцессным взаимодействием вне зависимости от ОС. Поправь, если ошибаюсь. Такие попытки предпринимались. Универсализм старых ЯП достигался за счет т.н. пре-процессора. Ты писал код с проверками типа: Код: plaintext 1. Позже, за счет библиотек, таких как Boost достигли большего универсализма. Вообще в погоне за "универсализмом" были созданы платформы и соотв ЯП для них. Если вы сильно хотите этого то вам лучше оставить С++ в покое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 20:22 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
mayton, Если вы сильно хотите этого Какие ЯП в порядке убывания "качества" тогда посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 20:29 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
mayton, Если вы сильно хотите этого Какие ЯП в порядке убывания актуальности и "качества" тогда посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 20:30 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
maytonТы писал код с проверками типа: #ifdef _WIN32 Позже, за счет библиотек, таких как Boost достигли большего универсализма. Те же проверки просто замели под коврик. Разницы никакой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 20:57 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangomayton, Если вы сильно хотите этого Какие ЯП в порядке убывания актуальности и "качества" тогда посоветуете? java и python - устроят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:04 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoНапример, если бы способы работы с разделяемой памятью и соответствующие функции для неё являлись общими для Windows, Linux и других систем, то их бы, пожалуй, интегрированы в C++. Но они не интегрированы, значит, нет такого C++ кода, который бы работал с межпроцессным взаимодействием вне зависимости от ОС. Поправь, если ошибаюсь.Они и так общие и давно "интегрированы" в С++ библиотеке boost . Что тебе еще надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:07 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangomayton, Если вы сильно хотите этого Какие ЯП в порядке убывания актуальности и "качества" тогда посоветуете? Я не знаю такой шкалы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:18 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Модератор: Мальчики. К порядку. Буду банить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:28 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangoКакие ЯП в порядке убывания актуальности и "качества" тогда посоветуете?Тот, что ближе к языку процессора - машинным кодам, тот и актуальнее - ассемблер (язык мнемоник машинных кодов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:31 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
maytonМодератор: Мальчики. К порядку. Буду банить Какого х ? Или может ты скажешь что пассаж про автор с разделяемой памятью....для Windows, Linux и других систем... не бред сивой кобылы? И найдешь тогда определение, что же это за память такая, разделяемая такая между ОС. Предлагаю просто закрыть/удалить топик, как бессодержательный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:39 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
Siemarglне бред сивой кобылы? И найдешь тогда определение, что же это за память такая, разделяемая такая между ОС. обычный сферический конь в вакууме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 21:49 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvango Джеффри Рихтер "Windows via C/C++. Программирование на языке Visual C++" rdb_dev Анатомия программы в памяти Спасибо за ссылки, хабр просмотрел, книгу пролистал, в книге перессказ функций WINAPI. Правильно я понял, что даже у C++17 отсутствует возможность управления многопроцессностью, поскольку тут уже играют роль особенности ОС, поэтому приходится пользоваться присущими ОС функциями (WINAPI для Windows)? ты понял неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 00:11 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
ayvangopetalvik, Кажется, понял. Сравнивать можно как угодно, .,..ую погрешность. не, нифига ты не понял,.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 00:13 |
|
||
|
Биты, потоки и др.
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а как правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 00:26 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2018142]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 9ms |
| total: | 304ms |

| 0 / 0 |
