juan_gandhi: (Default)
[personal profile] juan_gandhi
на плюсах пишут много полезного...

Но ведь язык для пациентов, нет разве?

См пример 

Как может вызваться никогда не вызываемая функция?

Date: 2020-12-18 02:53 am (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Никогда так не было и вот опять.
Просто многие поцыенты не читают правил заведения.

Date: 2020-12-18 07:41 am (UTC)
nexusplexus: (Default)
From: [personal profile] nexusplexus
Modified condition/decision coverage помогает.

У нас обязательное 100% MC/DC покрытие для C кода и обязательное 100% line coverage для C++ кода (C++ покрывалки дороги).

Все сделано на уровне CI/CD: no coverage, no merge.

(no subject)

From: [personal profile] nexusplexus - Date: 2020-12-19 12:10 am (UTC) - Expand

Date: 2020-12-18 03:23 am (UTC)
relyef: (Default)
From: [personal profile] relyef
Пример на чистом С, плюсы тут не очень причем

Date: 2020-12-18 04:34 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Для красного словца не пожалеешь и Страуструпца.

Date: 2020-12-18 06:54 am (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Именно

Date: 2020-12-18 03:39 am (UTC)
ypq: (Default)
From: [personal profile] ypq
ии(ai) виноват.

Date: 2020-12-18 03:58 am (UTC)
From: [personal profile] vitcs
Это же вроде clang так только делает. При чем тут все плюсы? Ну и не инициализировать статическую переменную хотя бы NULL-ом - это не есть правильная практика.

(no subject)

From: [personal profile] vitcs - Date: 2020-12-18 04:30 am (UTC) - Expand

(no subject)

From: [personal profile] archie_kot - Date: 2020-12-20 01:34 pm (UTC) - Expand

(no subject)

From: [personal profile] a2is - Date: 2020-12-18 06:19 am (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-18 09:11 am (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-18 12:45 pm (UTC) - Expand

(no subject)

From: [personal profile] a2is - Date: 2020-12-18 01:16 pm (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-18 02:10 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/sorcerer-/ - Date: 2020-12-18 06:08 pm (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-18 08:00 pm (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-18 08:15 am (UTC) - Expand

(no subject)

From: [personal profile] archaicos - Date: 2020-12-18 06:48 pm (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-19 04:33 pm (UTC) - Expand

(no subject)

From: [personal profile] mikkim08 - Date: 2020-12-19 06:31 pm (UTC) - Expand

(no subject)

From: [personal profile] dijifi - Date: 2020-12-18 08:21 pm (UTC) - Expand

Date: 2020-12-18 11:55 pm (UTC)
relyef: (Default)
From: [personal profile] relyef
Кстати, да. А если кто не пользуется Findbugs или что там для С есть, как частью билда - тот сам себе злобный Буратино

Date: 2020-12-18 04:05 am (UTC)
From: [personal profile] qvb
>>>я, конечно, понимаю... https://youtu.be/lOac1vzj51k

(no subject)

From: [personal profile] qvb - Date: 2020-12-18 04:31 am (UTC) - Expand

(no subject)

From: [personal profile] proben - Date: 2020-12-18 06:58 am (UTC) - Expand

(no subject)

From: [personal profile] punk_floyd - Date: 2020-12-18 03:21 pm (UTC) - Expand

(no subject)

From: [personal profile] punk_floyd - Date: 2020-12-18 05:21 pm (UTC) - Expand

(no subject)

From: [personal profile] punk_floyd - Date: 2020-12-18 09:33 pm (UTC) - Expand

Date: 2020-12-18 06:56 am (UTC)
proben: (Default)
From: [personal profile] proben
Это беседа психиатра с психом. Один психиатр подсказал. С тех пор не могу ее слушать без ржача.

(no subject)

From: [personal profile] qvb - Date: 2020-12-18 04:03 pm (UTC) - Expand

(no subject)

From: [personal profile] proben - Date: 2020-12-18 05:05 pm (UTC) - Expand

(no subject)

From: [personal profile] qvb - Date: 2020-12-18 05:07 pm (UTC) - Expand

(no subject)

From: [personal profile] qvb - Date: 2020-12-18 10:51 pm (UTC) - Expand

(no subject)

From: [personal profile] mopexod - Date: 2020-12-18 03:54 pm (UTC) - Expand

(no subject)

From: [personal profile] qvb - Date: 2020-12-19 03:23 am (UTC) - Expand

(no subject)

From: [personal profile] mopexod - Date: 2020-12-19 07:42 am (UTC) - Expand

Date: 2020-12-18 05:06 am (UTC)
From: [personal profile] vap
А еще целый класс подобных удивительных историй получается, если не отключить в gcc оптимизацию по опознанным случаям aliasing-а.
Ну, типа, если у двух указателей разные типы - то компилятор имеет право предполагать, что они никогда не будут равны. И другие подобные подставы.

Date: 2020-12-18 06:52 am (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Причём тут C++ и Страуструп? Это Си и Ритчи. Пусть даже эта оптимизация характерна для C++, в Си могло случиться то же самое.

Date: 2020-12-18 07:31 am (UTC)
rampitec: (Default)
From: [personal profile] rampitec
А какое ожидается поведение, если передать управление по случайному адресу?

Но я, кстати, со шлангом тут не согласен. Если бы убрали static, то адрес был бы случайный, а так обязан быть 0. Другое дело, что по нулевому адресу может лежать что-то ничуть не лучше.

Date: 2020-12-18 10:53 am (UTC)
From: [personal profile] a2is
> А какое ожидается поведение, если передать управление по случайному адресу?

В большинстве случаев - protection fault :)
Его и ождидали, как наиболее вероятное. Только вероятность оценили немного неправильно, не учли компилятор.

А то, что ВНЕЗАПНО попался адес функции - это бесплатный бонус. И хорошо, что там "rm -rf /". Мог быть и запуск баллистических ракет.

(no subject)

From: [personal profile] rampitec - Date: 2020-12-18 04:25 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/sorcerer-/ - Date: 2020-12-18 06:17 pm (UTC) - Expand

(no subject)

From: [personal profile] a2is - Date: 2020-12-19 05:18 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/sorcerer-/ - Date: 2020-12-19 09:20 am (UTC) - Expand

Date: 2020-12-18 08:00 am (UTC)
elglin: (Default)
From: [personal profile] elglin
Я понимаю, что это очень зачетный выстрел в ногу, но Си никогда не славился защитой от стрельбы по ногам. Так что выглядит, как "за что боролись, на то напоролись". Ну или как известный анекдот о японской пиле и сибирских лесорубах.

Date: 2020-12-18 08:12 am (UTC)
mopexod: (Default)
From: [personal profile] mopexod
Я тоже иногда ха-ха по этому поводу.
Но с другой стороны - а на чём кернел и всякий лоу-левел писать? На Скале?
Так что - тесты-тесты-тесты, автоматические проверки, вот это всё...

Ну а аппликации на С/С++ - это нынче точно дурной тон.

(no subject)

From: [personal profile] mopexod - Date: 2020-12-18 12:12 pm (UTC) - Expand

(no subject)

From: [personal profile] norian - Date: 2020-12-18 02:16 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/sorcerer-/ - Date: 2020-12-18 06:19 pm (UTC) - Expand

(no subject)

From: [personal profile] norian - Date: 2020-12-18 02:22 pm (UTC) - Expand

(no subject)

From: [personal profile] mopexod - Date: 2020-12-18 02:41 pm (UTC) - Expand

(no subject)

From: [personal profile] anonim_legion - Date: 2020-12-20 07:34 pm (UTC) - Expand

Date: 2020-12-18 09:09 am (UTC)
vit_r: default (Default)
From: [personal profile] vit_r
В любой приличной конторе есть стандарты на кодирование, которые такое не позволяют. (А за одно исключают кучу других ошибок, которыми код усаживают любители "безопасных языков".) Конечно, можно всех пересадить на трёхколёсный велосипед.

Date: 2020-12-18 02:03 pm (UTC)
uselessextras: (Default)
From: [personal profile] uselessextras
В конце же написано:

---
Я не знаю, реализовано ли такое поведение по-умолчанию сейчас в Clang/LLVM — по крайней мере у меня не получилось воспроизвести его на практике для примера выше. Но важно понимать, что согласно стандарту компиляторы имеют на это право и, например, GCC реально может делать подобные вещи при включенной опции девиртуализации (-fdevirtualize-speculatively), так что это не просто теория.

P.S. Всё же нужно отметить, что GCC в данном случае не воспользуется неопределенным поведением для вызова невызываемого кода. Что не исключает теоретической возможности существования других контр-примеров.
---

Date: 2020-12-18 02:13 pm (UTC)
norian: (Default)
From: [personal profile] norian
нет бога кроме крестов

и страуструп пророк его

не, а чо вы хотели для такого железа ? засунуть всё дерьмище под капот и каждый раз в отчаянии заламывать лапги, когда там начинаецца трэш, угар и содомия ? вместо того чтобы написать кусок на ассемблере и скакать итераторами по контейнерам дальше

вопросы риторические конечно

Date: 2020-12-18 02:49 pm (UTC)
From: [personal profile] jamhed
Высокое мастерство c++ программиста помнить наизусть все эти милые особенности для разных реализаций, у некоторых видимо память безграничная.

Date: 2020-12-18 03:20 pm (UTC)
uselessextras: (Default)
From: [personal profile] uselessextras
Не подскажете SIP стек на Rust, ну и RTP до кучи? Чтоб мне на плюсах больше не мучиться?
Edited Date: 2020-12-18 03:21 pm (UTC)

(no subject)

From: [personal profile] archie_kot - Date: 2020-12-20 01:46 pm (UTC) - Expand

(no subject)

From: [personal profile] anonim_legion - Date: 2020-12-20 07:38 pm (UTC) - Expand

Date: 2020-12-19 11:24 am (UTC)
From: [personal profile] caztd
Там совершенно правильно написано что это UB.
А то как кланг этот UB интерпретирует это уже другое дело
и не проблемы самого языка.

Но у плюсов конечно достаточно проблем и без UB,
Один pair чего стоит:
https://stackoverflow.com/questions/64931324/what-is-the-purpose-of-having-an-empty-pair-base-class

Date: 2020-12-19 05:38 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split

Все языки, в общем и целом, одинаковые. Какие-то получше, какие-то похуже. Но, в целом, одна сатана.

(no subject)

From: [personal profile] epimorphisms_split - Date: 2020-12-19 05:43 pm (UTC) - Expand

(no subject)

From: [personal profile] fuflolog - Date: 2020-12-21 12:22 am (UTC) - Expand

(no subject)

From: [personal profile] fuflolog - Date: 2020-12-21 12:54 am (UTC) - Expand

Date: 2020-12-21 03:53 am (UTC)
stas: (Default)
From: [personal profile] stas
Да ладно, написано undefined. Я заранее знал, даже линка не кликая, что об этом речь пойдёт. Если сказали "не суй пальцы в розетку, будет бобо", то не надо удивляться, что если сунули - то стало бобо. Спички детям не игрушка.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

July 2025

S M T W T F S
  12345
6789 1011 12
131415 1617 1819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 23rd, 2025 04:19 pm
Powered by Dreamwidth Studios