@ProCxx

Страница 2050 из 2477
Andrew
14.05.2018
07:25:42
+

Vladislav
14.05.2018
07:25:46
https://ideone.com/MxxQH8

Дед Пегас
14.05.2018
07:29:06
А, во.

Google
Ender
14.05.2018
07:49:09
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]|

Vladislav
14.05.2018
08:04:17
(см. дисклеймер про отстрел ног)

Ender
14.05.2018
08:07:35
Ну щас посмотрим, что получится.

Если норм, то я так и оставлю. Если нет, то я буду вкрадчиво рассматривать, действительно ли мне нужен unsigned char

Sheldon
14.05.2018
08:23:28
разумеется это нарушает strict aliasing
char* же разрешено алиаситься с любыми другими типами, не?

Antony
14.05.2018
08:23:37
А что-нибудь сильно ломающее совместимость уже предложили? Обсуждалось недавно, что уже готовы к этому, если не путаю.
Ну я предложил: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0889r0.html Но оно не ломает переносимый код, а только то, что уже и так сложно переносить на новые версии компиляторов и стандартных библиотек

Igor
14.05.2018
08:24:11
А что-нибудь сильно ломающее совместимость уже предложили? Обсуждалось недавно, что уже готовы к этому, если не путаю.
Paper лень искать, но на прошлой встрече сделали такое: This morning in JAX we performed a major cleanup of built-in types, getting rid of many warts in the language (and breaking compatibility with C and C++98/11/14/17 :slightly_smiling_face: ). EWG voted to change all of the following for C++20: - <, <=, >, >=, ==, !=, will now give correct mathematical meaning on arithmetic types, such that: static_assert(-1 > 1u); which would pass in C and C++17 will break in C++20 - Deprecate two-way comparisons between enumeration types and floating-point types - Deprecate two-way comparisons between two distinct enumeration types - Deprecate arithmetic conversions between enumeration types and floating-point types - Deprecate arithmetic conversions between two distinct enumeration types - Deprecate two-way comparisons where both operators are array type - Deprecate relational comparisons between function pointers.

Sheldon
14.05.2018
08:24:41
но не vector<char*>
А, не посмотрел на код. Там прямо вектор кастится, понятно.

Igor
14.05.2018
08:51:29
есть шаблонный класс с методом в пару строк файл с ним инклюдится в a.cpp и b.cpp readelf -Ws натравленный на a.o и b.o говорит что в этих объектниках метод имеет разный размер, 184 байта тут и 188 байт там оба TU компилируются с -O0 - может компилятор за кулисами всё равно проводить разную кодогенерацию в зависимости от контекста, в котором вызывается инлайновый метод?

Google
Ruslan
14.05.2018
09:01:57
Так запустить с ключем -E

Правда, там все развернет и читать не очень

Но должен увидеть сгенеренный код

Igor
14.05.2018
09:37:12
gcc -E? Он же тупо инклюды-дефайны разворачивает, нет?

Ⱪonstantin
14.05.2018
10:00:12
gcc -S даёт на ассемлере файл

Igor
14.05.2018
10:59:55
gcc -S даёт на ассемлере файл
красотаааа... знать бы теперь, что это за чудо-бранч и откуда он берётся... https://paste.ee/p/masmg два листинга идентичны вплоть до самого конца, а в конце внезапно это чудо

Ⱪonstantin
14.05.2018
11:02:05
а gcc -E даёт одинаковые листинги?

возможно разница в том, что какая-нибудь функция типа std::max() и max() берётся из двух разных неймспейсов

Igor
14.05.2018
11:04:03
а gcc -E даёт одинаковые листинги?
он даёт два 3мб и 4мб файла, я пока не могу сходу определить, в какой момент там начинаются расхождения (если начинаются)

Igor
14.05.2018
11:08:41
скорми в твой любимый дифф тул
a.cpp и b.cpp отличаются чуть более чем полностью, и совпадают только тем, что оба включают проблемный заголовочник, и пользуются функцией из него

Maksym
14.05.2018
11:09:50
ого, я не ожидал такого респонса

Egor
14.05.2018
11:10:08
у них интеграция давно уже сломана

Alex Фэils?︙
14.05.2018
11:10:12
правда пришлось конану показать, что есть такой компилятор как gcc 8.0 ?
кстати, Как ты это сделал? (там вроде какой-то конфиг надо ему править)

Egor
14.05.2018
11:10:15
мне приходилось вручную конфиги править

Maksym
14.05.2018
11:10:32
мсбилд батник натравить на инстал батник небось?

Alexander
14.05.2018
11:10:35
Google
Alexander
14.05.2018
11:10:48
ну или ждать обновы конана - они завозят новые компиляторы

но с этой моделью херня приключается, так как компилятор завозится быстрее, чем конан ?

Alex Фэils?︙
14.05.2018
11:11:18
Alexander
14.05.2018
11:11:21
поэтоум и приходится руками править

Egor
14.05.2018
11:11:38
мсбилд батник натравить на инстал батник небось?
хз, там в пропсах где то глубоков недрах студии редактировать надо файлы

Alexander
14.05.2018
11:11:41
на линухе он лежит в /home/username/.conan/settings.yml

Maksym
14.05.2018
11:12:05
хз, там в пропсах где то глубоков недрах студии редактировать надо файлы
не стоит тогда того. Ну я взял прекомпайлд бинари от 6-й версии, мне зашло.

Egor
14.05.2018
11:12:14
ну оно работает сразу?

может исправляли

Alexander
14.05.2018
11:12:18
а чего они автодетекшон не осилили?
мне кажется, что они специально так сделали

Maksym
14.05.2018
11:12:34
Меня больше другое интересует: как сынтегрить проект под цлангом с либой под мсвц? Тот же буст сходит с ума из-за дефайнов МСВЦ

Egor
14.05.2018
11:12:37
мне кажется, что они специально так сделали
ну если только у них завязано как то хитро

они совместимые должны быть

шланг эмулирует мсвц

Maksym
14.05.2018
11:13:24
У него нет флагов шланга?

Egor
14.05.2018
11:13:26
если линковать через link.exe, то всё ок работает

Igor
14.05.2018
11:14:00
он даёт два 3мб и 4мб файла, я пока не могу сходу определить, в какой момент там начинаются расхождения (если начинаются)
мне конечно не хватает знаний об инструкциях арма, но на первый взгляд это выглядит как баг кодгена, который выплёвывает лишний джамп, не дающий ничего

Egor
14.05.2018
11:14:05
если через lld или какой их там родной, он должен тоже работать, но я видел некоторые фиксы уже в транке были после релиза 6

Maksym
14.05.2018
11:15:14
у меня такой аутпут был при инклуде буст файлсистем в сендбоксе

Google
Maksym
14.05.2018
11:15:22
все читать конечно не стоит, одной ошибки хватит

Egor
14.05.2018
11:15:48
если 2015 студия, то не получится

Maksym
14.05.2018
11:15:58
Почему?(

Admin
ERROR: S client not available

Maksym
14.05.2018
11:16:03
они ж с 15-й саппортят

Egor
14.05.2018
11:16:26
ну там связку только 2017 - clang-6 хорошо поддерживают

clang/c2 с 2015 или что?

Maksym
14.05.2018
11:16:39
Я понял. Спасибо, буду знать

не, LLVM-2014 или как-то так

Egor
14.05.2018
11:16:50
кланг/ц2 умер совсем

Maksym
14.05.2018
11:17:01
ща скажу точно тулсет

Egor
14.05.2018
11:17:03
ну мс не поддерживают старое

слишком сил много надо

Maksym
14.05.2018
11:17:25
LLVM-vs2014

вот этот парень

я понял, ладно

Egor
14.05.2018
11:18:01
так он до сих пор и в 2017 висит

Maksym
14.05.2018
11:21:10
в 17-й студии цланг ток под с++14 пашет?

Egor
14.05.2018
11:23:56
нет, тулсет не переименовывают

Google
Maksym
14.05.2018
11:25:29
нет, тулсет не переименовывают
ааа, но 17-й суппортится стандарт, да?

Egor
14.05.2018
11:26:10
всё как обычно, что шланг умеет, так и есть

Maksym
14.05.2018
11:26:21
понял. Спасибо, поиграюсь на досуге

Andriy
14.05.2018
11:58:54
Здравсвуйте, колеги! Нахожусь в поисках кросплатформенной либы для SQL Server и PostgreSQL для С++. Нашел SQLAPI++ Library (http://www.sqlapi.com/) - очень понравилась и подходить для моих целей. Подскажите, кто шарит в подобном. Какие еще хорошие либы можно посмотреть? Если кто-то работал с SQLAPI++, подскажите, какие есть негативные моменты в использовании этой либы (пока-что не увидел, боюсь. что когда увижу, будет поздно ?). Спасибо!

Никита
14.05.2018
12:02:44
wt: dbo

Никита
14.05.2018
12:03:09
wt: dbo
Не использовал, но внешне очень понравилась

Andriy
14.05.2018
12:03:53
Да. как минимум с этими двумя.

Нужно чтобы одновременно работала с двумя серверами?

Matwey
14.05.2018
12:04:50
Т.е. это будет пользователь переключать разные бекенды у себя?

Andriy
14.05.2018
12:06:03
Типа того.

Alexander
14.05.2018
12:08:28

Страница 2050 из 2477