Berkus
Alexander "SonnySlave"
а, блядь. пролистать мне не судьба
Alexander "SonnySlave"
окей - а как такое отключить?
Berkus
перейти на с++
Berkus
есть, RUSTC=gcc в переменных среды
Berkus
но писать придется на си
Alexander "SonnySlave"
😊
Alexander "SonnySlave"
понял. пасиб
Alexander "SonnySlave"
подозреваю что есть способ, ща
http://huonw.github.io/blog/2016/04/myths-and-legends-about-integer-overflow-in-rust/
я вот что нашёл
Berkus
Berkus
Alejandro Jeditobe
Berkus
Alexander "SonnySlave"
Сережа
Но это не точно, один раз не растошиан
Сережа
Да то же что и в си
Berkus
а в расте нет
Berkus
можно прочитать если что, полезно
Berkus
http://huonw.github.io/blog/2016/04/myths-and-legends-about-integer-overflow-in-rust/
я вот что нашёл
Сережа
Да, хотел на это ссылку кинуть, выжимки:
in debug mode, arithmetic (+, -, etc.) on signed and unsigned primitive integers is checked for overflow, panicking if it occurs, and,
in release mode, overflow is not checked and is specified to wrap as two’s complement.
Berkus
> is specified to wrap as two’s complement.
никакого UB как видишь
Ioann_
Ребят. Нубо вопрос. Как можно узнать подробную спецификацию своего процессора ? Ну типа, количество регистров для dbl precission вычислений и так далее ?
Berkus
Ioann_
Да я не из С++ хочу, кек. Я хотел просто программно :) Через готовенькое уже.
Berkus
портабельно никак
Alexander "SonnySlave"
https://kristerw.blogspot.com.by/2018/01/gcc-back-end-performance-tuning.html
Anonymous
Парни, уткнулся в SIGSEGV, когда написал наследника std::error_category и заменил им std::system_category().
test_category instance;
void test(std::error_code& ec) {
ec = {1, test_category()};
// If replaced with: ec = {1, std::system_category()};
// or with: ec = {1, instance};
// then it works.
}
int main() {
std::error_code ec;
test(ec);
ec.message(); // SIGSEGV here
}
Добавил виртуальный деструктор в test_category, как и положено, вызывается при выходе из test.
Меня очень сильно удивило то, что всё прекрасно работает с категорией из std. Почему так и есть ли варианты фикса моего случая кроме глобального экземпляра?
—
Полный минимальный воспроизводимый пример, вывод LLDB, UBSan и Valgrind:
https://hastebin.com/cegegirodi.cpp
Alexander "SonnySlave"
ec = {1, test_category()};
какой конструктор тут вызывается?
Anonymous
Дефолтный конструктор test_category, разумеется. Добавил его, вызывается исправно.
Alexander "SonnySlave"
Alexander "SonnySlave"
он запоминает указатель на твою категорию. отсюда и ошибка
Anonymous
Хорошо, только... Каким боком с std::system_category работать может?
Anonymous
Я что-то совсем теряюсь в догадках.
Anonymous
И, блин, почему нет виртуальных конструкторов копирования?)
Berkus
потому что они нинужны?
Alexander "SonnySlave"
Alexander "SonnySlave"
Obtains a reference to the static error category object for errors reported by the operating system.
Berkus
Alexander "SonnySlave"
static
Alexander "SonnySlave"
Berkus
а, ну вот
Anonymous
Блин.
Anonymous
Обманщики.
Anonymous
Я думал, что это тип(
Berkus
ДОКИ НАДО ЧИТАТЬ
Anonymous
Очень похоже же.
Alexander "SonnySlave"
да... RTFM)
Anton
@antoshkka @foxcpp ^
Anton
[syserr.errcat.overview]/1 "This means that applications using custom error_category types should create a single object of each such type."
Anton
в расте, кажется, можно убедиться, что ссылка ссылается на объект со стачическим временем жизни
Anton
Александр
void *
hr ?
Александр
/report
Stanislav
/warn не по теме
Matwey
Господа, д
авно ли слово register стало ключевым?
Крылатый
Его больше нет.
Stanislav
Его больше нет.
точнее оно больше не используется и оставлено зарезервированным
🐙 Antony
Anton
Jonny
здравствуйте ребята вы не могли бы мне помочь. Я очень хочу научиться программировать но с чего начать не знаю в интернете много книг и видеоматериалы?! Посоветуйте пожалуйста
Aleksandr
Stepick.org, курсы по рограммированию С++ от яндекса
Aleksandr
Для начала хватит
Anonymous
Ты определись в каком направлении прогером хочешь быть
Anonymous
Для веба например С++ как для сортира палка
Vitaliy
Stanislav
Sergey
Виталя прав, там переадресация, Андрей
Jonny
Я хочу научиться создать программы для windows