
Evgeniy
21.04.2017
18:50:04

Alexander
21.04.2017
18:51:01
У меня наоборот
странно... не было ещё ни одного случая, когда libasan не нашёл бы того, что нашёл valgrind. Кстати, ты не пробовал вместе юзать их? Как оно?

Sheldon
21.04.2017
18:51:45

Alexander
21.04.2017
18:53:05

Google

Evgeniy
21.04.2017
18:55:02

Vladislav
21.04.2017
18:55:20

Sheldon
21.04.2017
18:55:29
Есть на это гарантии Стандарта?
Есть UB при попытке их изменить (const жеж). Гарантии segfault'a, естественно, нет, но на практике компилятор всегда помещает их в .rodata сегмент, который мапится как read-only.

Alexander
21.04.2017
18:56:07
UB он и в Африке UB.

Sheldon
21.04.2017
19:01:53
UB не стоит понимать буквально, в большинстве случаев поведение на конкретной платформе с конкретным компилятором достаточно определенное.

Alexander
21.04.2017
19:02:55
Undefined - полностью неопределённое. Unspecified - стандарт даёт несколько вариантов, а какой из них - это уже на волю компила
вроде так, если не напутал
Ну и это вдогонку: http://stackoverflow.com/questions/2397984/undefined-unspecified-and-implementation-defined-behavior

Evgeniy
21.04.2017
19:06:35

Alexander
21.04.2017
19:06:54

Google

Sheldon
21.04.2017
19:09:09
Разработчики компиляторов адекватные люди.

Evgeniy
21.04.2017
19:09:17

Alexander
21.04.2017
19:09:30

Sheldon
21.04.2017
19:10:21
если
Я говорю о том, что такой код:
'''
int* x = nullptr;
*x = 123;
'''
скомпилированный череез g++\clang на x86(-64) под линуксом гарантированно дает segfault хоть это и UB. Ядерные ракеты такой код (внезапно!) не запустит.
не те 'кавычки' -_-

Antony
21.04.2017
19:16:01

Alexander
21.04.2017
19:16:04

Antony
21.04.2017
19:18:29
А если он энтропию от проца берёт??
Ещё хуже... Современные компиляторы оптимизируют основвываясь на UB. Если код с UB работает на gcc-6.2, то на gcc-6.3 могут добавить оптимизацию и код работать перестанет.

Alexander
21.04.2017
19:19:02

Antony
21.04.2017
19:19:23
Да, я из него черпал инфу :)

Alexander
21.04.2017
19:19:26
https://www.youtube.com/watch?v=4GUuek7_OhU

Sheldon
21.04.2017
19:20:27

Alexander
21.04.2017
19:22:03

Evgeniy
21.04.2017
19:31:32

Alexander
21.04.2017
19:32:43

Evgeniy
21.04.2017
19:33:08
UB не стоит понимать буквально, в большинстве случаев поведение на конкретной платформе с конкретным компилятором достаточно определенное.

Alexander
21.04.2017
19:34:11

Alex Фэils?︙
21.04.2017
19:42:02
Внезапно этот код работает если вы пишите под BIOS
Да в любом месте, где разрешена запись в нулевой адрес. Где-т тут на днях была статья про фишку ядра линя, связанную с тем, что где-то нуллптр был writable, а разрабы в некоторых местах писали в него с надеждой, что писать туда нельзя ( т.е., для падения ядра)

Google

Alex Фэils?︙
21.04.2017
19:45:26
Хз, мб ща найду

Igor
21.04.2017
20:00:21
#include <iostream>
int main (){
std::cout << "Hello World!";
return 0;
}
/tmp/ccea35T1.o: In function `main':
learn.cpp:(.text+0xa): undefined reference to `std::cout'
learn.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccea35T1.o: In function `__static_initialization_and_destruction_0(int, int)':
learn.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
learn.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status
Вот почему, нльзя сесть спокойно ипо урокам делать??
Мне дали ссылку на уроки learncpp.com
Вот написал как там написано и вот что.
Подскажите плиз чо за фигня.

Aldar
21.04.2017
20:02:46
это уже С++, там компилятор С?

Igor
21.04.2017
20:04:51
Ну я делаю gcc file.cpp

/dev
21.04.2017
20:06:42

Igor
21.04.2017
20:09:05
Извиняюсь за тупость.

Admin
ERROR: S client not available

fox.cpp
21.04.2017
20:32:23
Парни, есть какие-нибудь каналы в телеграме по C++?

Alexander
21.04.2017
20:32:49
Уже вот тут
Добро пожаловать

fox.cpp
21.04.2017
20:33:03
> каналы

Varkus
21.04.2017
20:34:19
?

Alexander
21.04.2017
20:34:39
А, в глаза долблюсь, бывает )

Alex Фэils?︙
21.04.2017
20:40:45
также по новостям туда можно мне в лс писать

Google

Alexander
21.04.2017
23:32:31
А по Qt есть какие-нибудь живые чаты и каналы?
Язык не важен, лишь бы поговорить можно было.

Alex Фэils?︙
21.04.2017
23:34:41
тут можно. и в супапро. отдельных чатов не видел, но можно создать, если будет народ

Sergey
21.04.2017
23:34:49
да можно и сюда я думаю
тут кутешников много, я один из них
алсо вот, ребят. вспомнил. поставил сегодня на пробу resharper - плагин для V2013. прогнал его на одном проекте. и он выдал такое странное предупреждение. суть в следующем
class C
{
public:
C()
{
val |= some_bitmask; // warning - value may be unitialized
}
int val = 0;
}
ну примерно так
мне казалось - если с C++11-style что-то инициализируется, то в теле конструктора оно уже присвоено, разве нет?
т.е. порядок инициализации - вроде он такой
список инициализации, затем инициализация в объявлении класса, затем уже тело конструктора
я видимо не прав?
в дебаггере погонял - так и есть

Alexander
21.04.2017
23:40:35
а значение битмаски какое?

Sergey
21.04.2017
23:40:59
какое-то. неважно. 2,4,8, ... - какие-то биты

Vladislav
21.04.2017
23:41:01
может он про some_bitmask?

Sergey
21.04.2017
23:41:06
это просто так