Berkus
Vitaliy
Там нет дебажных символов
Vitaliy
Я через readelf смотрю
kitsu
Berkus
Vitaliy
Я оговорился
Vitaliy
Я имел ввиду дебажные секции
Berkus
забыл атомики и заборчики
Vitaliy
Гмм, а у меня есть
Если компилить хеллоу ворлд с линковкой pthread, то таких секций нет
kitsu
Berkus
что дает квалификатор volatile для переменной? начнем с этого
Arseny
Все проще. По стандарту такой код UB
Aidar
по идее stop может быть в невалидном состоянии
Aidar
для bool не гарантируется аномарность
Aidar
для atomic<bool> не гарантируется lockfree
Berkus
очередность инструкций у тебя будет разная пушо два треда, компилятор и volatile не спасут
Aidar
Anonymous
Ребята подскажите литературу для написания парсера текста
Berkus
нет, он отрубает сохранение однажды полученного результата в регистре, при каждом обращении к переменной будет выполнено новое чтение из памяти. никаких гарантий ордеринга или атомарности там нет
Oleg
Опасная рекомендация. После dragon book возникает желание самому написать, а не лезть во всякие бизоны.
Anonymous
Anonymous
Ну если нет, например, понимания НБНФ, то в бизон тоже смысла лезть особо нет
Anonymous
Еще можно на antlr посмотреть. Доки тоже вагон и тележка. Но это для адептов LL грамматик :)
Berkus
для человеческого текста надо другие парсеры )
Oleg
Anonymous
Для человеческого текста нужны токенайзеры, леммеры, word2vec и уже потом что-нить типа lstm или другие rnn
Anonymous
Но перед всем этим нужно ответить на простой вопрос - чтобы что? Сетки для какой-то цели прикручиваются с каким-то ожидаемым результатом, а не как сферический конь в вакууме
Anonymous
коллеги, добрый вечер, вопрос у меня, довольно простой
дано:
boost::posix_time::ptime
найти:
способ вывода в строку в формате
""2018-01-15T18:15:30.12345Z"
ключевой момент - как заставить выводить мили/микросекунды даже если они по нулям.
std::string to_iso_extended_string(ptime)
умеет почти все, кроме милисекунд, точнее она их показывает, когда они есть. Может есть возможность указать явный формат?
И да, если я правильно понимаю, то индейская национальная изба мне, а не микросекунды.
kitsu
Anonymous
Joy
Парни, вопрос будет очень тупой, и если для этого чата его уровень низкий - перенаправьте в более "новичковый" что-ли.
Итак, есть структура проекта - основной каталог с исходниками src, в нем общий /headers и несколько папок под заголовочные файлы упорядоченные по классам: /monsters /items /states
Основной вопрос - как правильно это добро друг в друга инклудить?
У меня постоянно получалось какое-то "перекрестное опыление", когда классу Game нужно знать класс Battlefield, наоборот тоже, получается каша и ошибки, а работающую конфигурацию получаю методом тыка ((
На данный момент вопрос решается так, что я предварительно объявляю нужные классы в заголовочном файле, а инклуд уже в cpp - но IDE это говно подчеркивает (потому что IDE тоже говно ахах)
К примеру вот так выглядит класс Game
https://s9.postimg.org/hlefwoqn3/2018-02-17_06-46-47.png
Anatoly
Парни, вопрос будет очень тупой, и если для этого чата его уровень низкий - перенаправьте в более "новичковый" что-ли.
Итак, есть структура проекта - основной каталог с исходниками src, в нем общий /headers и несколько папок под заголовочные файлы упорядоченные по классам: /monsters /items /states
Основной вопрос - как правильно это добро друг в друга инклудить?
У меня постоянно получалось какое-то "перекрестное опыление", когда классу Game нужно знать класс Battlefield, наоборот тоже, получается каша и ошибки, а работающую конфигурацию получаю методом тыка ((
На данный момент вопрос решается так, что я предварительно объявляю нужные классы в заголовочном файле, а инклуд уже в cpp - но IDE это говно подчеркивает (потому что IDE тоже говно ахах)
К примеру вот так выглядит класс Game
https://s9.postimg.org/hlefwoqn3/2018-02-17_06-46-47.png
Почитай о forward declaration и добро пожаловать в @supapro
Joy
Я его и использую, но возможно надо порыть в сторону того почему gnome builder его подчеркивает как ошибку
Joy
include выносятся из src?
Joy
А как прописывать инклюды? Настроить переменную окружения? Или "../include/xzxz.h"
Joy
Я интересую как правильней, сделать можно и так и так
Surreal
cmake
Alexander
Anatoly
в итоге, твои заголовки не пересекуться с thirdparty заголовками и сразу отличишь свои от thirparty в коде.
Anatoly
ну и раз пошла такая пьянка включай заголовочные файлы в следующем порядке:
1. стандартные заголовки
2. thirdparty заголовочные файлы
3. свои заголовочные файлы
например
#include <vector> // standard library
#include "boost/optional.h" // thirdparty library
#include "myproject/game.h" // my header
...
Anatoly
Вакансии публикуются не здесь через согласование с @AlexFails , читайте правила.
Александр
Anonymous
Александр
Anatoly
и не поспоришь..
ну, на самам деле это вольный перевод boost guideline: https://github.com/boostorg/geometry/wiki/Guidelines-for-Developers
Anatoly
вообщем, к чему это все. лучше плохой стиль, чем отсутствие стиля. как-то так.
Berkus
а путь к include прописывается в билдсистеме
Egor
Egor
способ обсуловлен объективными причинами, а не желанием сделать так или так
Anatoly
Anatoly
prefer - предпочитаем
Egor
и всё же это не спонтанное решение
Anatoly
если заголовочные файлы не связаны с хаками - порядок включения не имеет значения и относится к вопросам стиля.
Anatoly
а если один заголовочный файл полагается на наличие в цепочке включение уже включенного ранее файла - это расстрел
Egor
если хедер использует <вектор> - надо включать вектор везде в .цпп или один раз в .х ?
Anatoly
если заголовочный файл определяет сущность требующую полное определение vector там и включаешь. на самом деле, не понял к чему ты ведешь.
Эдвард
Berkus
Крылатый
Инклуды лучше в спп
Vsevolod
редко??
Berkus
а у Лакоса ее не найти случайно?
Berkus
у него добрых пол-книги посвящено правильному порядку инклюдов и их взаимосвязи с классами и компонентами
Санжар
Andrey
Large Scale C++?
Anatoly
#book #design #cpp #eng
Anonymous
Если найдёшь- кинь мне пожалуйста.
Berkus
я точно ее кидал или сюда или в супапро
Berkus
в супапро вот было
Berkus
John Lakos
Berkus
#books