@ProCxx

Страница 1763 из 2477
Delinsor
16.02.2018
16:39:00
Всем привет, я тут это, решил попробовать научиться програмировать на c++ Может кто может что посоветовать там

Delinsor
16.02.2018
16:41:00
Спасибо

Yaroslav
16.02.2018
16:41:39
бляха, то чувство, когда впервые пытаешься разместить исходники на гитхабе

Google
Yaroslav
16.02.2018
16:41:50
не очень приятное =\

Vasiliy
16.02.2018
16:45:57
Это ещё что, ты попробуй пулл реквест оформить и протолкнуть

Berkus
16.02.2018
16:48:17
Yaroslav
16.02.2018
16:48:33
слишком замудренно

я файл не мог удалить 2 минуты, ты о чем? XD

Это ещё что, ты попробуй пулл реквест оформить и протолкнуть

Berkus
16.02.2018
16:50:08
git init git remote add git add git commit git push

собсно всё, чего тут мудреного

Yaroslav
16.02.2018
16:50:31
в чем прикол, я через сайт пытаюсь это сделать

Berkus
16.02.2018
16:50:48
зачем делать это через сайт?

Yaroslav
16.02.2018
16:50:58
хз, ща попробую командами

Berkus
16.02.2018
16:51:28
ты всмысле вместо нормальных осмысленных коммитов пытаешься на сайт по одному файлу добавлять?

Yaroslav
16.02.2018
16:51:57
не, пытался добавлять все сразу, но это не сработало и он добавил один файл

Google
Pavel
16.02.2018
16:57:35
Ну вот, аватарку спиздили

Yaroslav
16.02.2018
16:57:40
.)

соррян

она прикольня

.)

Vitaliy
16.02.2018
17:16:57
Ребята, вы же не против, если я свой вопрос продублирую утренний ?

Всем привет. Кто может подсказать откуда берутся дебажные секции в shared либе, если она компилируется без всяких -g ? Но при этом, если убрать -pthread, то эти секции пропадают.

TriΔng3l
16.02.2018
17:17:56
https://twitter.com/alt_kia/status/964405675144065024

или баян уже?)

Vitaliy
16.02.2018
17:41:36
Там нет дебажных символов

Я через readelf смотрю

Kitsu
16.02.2018
17:42:27
Я через readelf смотрю
Попробуйте через nm -a

Berkus
16.02.2018
17:43:09
Vitaliy
16.02.2018
17:43:28
Я оговорился

Alik
16.02.2018
17:43:38
Привет всем. stop в данном случае подлежит синхронизации? Нужно thread1 убить по хорошему, поэтому я подумал, что лучше установить флаг, а потом дождаться, пока тред1 закончит исполняться. Всего тредов 2. Вроде синхронизировать не нужно. volatile bool stop = false; void thread1() { while(!stop) { // Code } } void thread2() { stop = true; wait(thread1_handle); }

Vitaliy
16.02.2018
17:43:39
Я имел ввиду дебажные секции

Vitaliy
16.02.2018
17:45:13
Гмм, а у меня есть
Если компилить хеллоу ворлд с линковкой pthread, то таких секций нет

Google
Alik
16.02.2018
17:46:27
забыл атомики и заборчики
То есть, компилятор может сменить очередность инструкций даже в этом случае? Когда stop это volatile переменная.

Berkus
16.02.2018
17:47:01
Arseny
16.02.2018
17:47:04
Все проще. По стандарту такой код UB

Alik
16.02.2018
17:47:15
Aidar
16.02.2018
17:47:21
для atomic<bool> не гарантируется lockfree

Berkus
16.02.2018
17:47:45
То есть, компилятор может сменить очередность инструкций даже в этом случае? Когда stop это volatile переменная.
очередность инструкций у тебя будет разная пушо два треда, компилятор и volatile не спасут

Aidar
16.02.2018
17:48:03
Богдан
16.02.2018
17:48:25
Ребята подскажите литературу для написания парсера текста

Berkus
16.02.2018
17:48:27
Насколько помню отрубает оптимизации
нет, он отрубает сохранение однажды полученного результата в регистре, при каждом обращении к переменной будет выполнено новое чтение из памяти. никаких гарантий ордеринга или атомарности там нет

Alik
16.02.2018
17:49:51
Nik
16.02.2018
17:50:19
Ребята подскажите литературу для написания парсера текста
Yacc/bison + lex/flex. Есть как книги, так и хорошая дока. Если совсем базовое понимание нужно, то dragon book

Олег
16.02.2018
17:51:59
Опасная рекомендация. После dragon book возникает желание самому написать, а не лезть во всякие бизоны.

Nik
16.02.2018
17:53:03
Ну если нет, например, понимания НБНФ, то в бизон тоже смысла лезть особо нет

Еще можно на antlr посмотреть. Доки тоже вагон и тележка. Но это для адептов LL грамматик :)

Berkus
16.02.2018
17:57:25
для человеческого текста надо другие парсеры )

Олег
16.02.2018
17:57:49
Еще можно на antlr посмотреть. Доки тоже вагон и тележка. Но это для адептов LL грамматик :)
Что странно, при этом к у них LL(*) и это даже часто работает.

Google
Admin
ERROR: S client not available

Олег
16.02.2018
17:58:07
для человеческого текста надо другие парсеры )
Да, рекуррентные нейронные сети вроде бы эта лабуда называется.

Nik
16.02.2018
18:00:25
Для человеческого текста нужны токенайзеры, леммеры, word2vec и уже потом что-нить типа lstm или другие rnn

Но перед всем этим нужно ответить на простой вопрос - чтобы что? Сетки для какой-то цели прикручиваются с каким-то ожидаемым результатом, а не как сферический конь в вакууме

Oleg
16.02.2018
18:24:25
коллеги, добрый вечер, вопрос у меня, довольно простой дано: boost::posix_time::ptime найти: способ вывода в строку в формате ""2018-01-15T18:15:30.12345Z" ключевой момент - как заставить выводить мили/микросекунды даже если они по нулям. std::string to_iso_extended_string(ptime) умеет почти все, кроме милисекунд, точнее она их показывает, когда они есть. Может есть возможность указать явный формат? И да, если я правильно понимаю, то индейская национальная изба мне, а не микросекунды.

Joy
17.02.2018
03:59:53
Парни, вопрос будет очень тупой, и если для этого чата его уровень низкий - перенаправьте в более "новичковый" что-ли. Итак, есть структура проекта - основной каталог с исходниками src, в нем общий /headers и несколько папок под заголовочные файлы упорядоченные по классам: /monsters /items /states Основной вопрос - как правильно это добро друг в друга инклудить? У меня постоянно получалось какое-то "перекрестное опыление", когда классу Game нужно знать класс Battlefield, наоборот тоже, получается каша и ошибки, а работающую конфигурацию получаю методом тыка (( На данный момент вопрос решается так, что я предварительно объявляю нужные классы в заголовочном файле, а инклуд уже в cpp - но IDE это говно подчеркивает (потому что IDE тоже говно ахах) К примеру вот так выглядит класс Game https://s9.postimg.org/hlefwoqn3/2018-02-17_06-46-47.png

Anatoly
17.02.2018
07:11:16
Парни, вопрос будет очень тупой, и если для этого чата его уровень низкий - перенаправьте в более "новичковый" что-ли. Итак, есть структура проекта - основной каталог с исходниками 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
17.02.2018
07:22:43
Я его и использую, но возможно надо порыть в сторону того почему gnome builder его подчеркивает как ошибку

Anatoly
17.02.2018
08:03:02
Я его и использую, но возможно надо порыть в сторону того почему gnome builder его подчеркивает как ошибку
с точки зрения языка С++ ваш код не содержит проблем, разбирайтесь с IDE. а так де факто стандартная структура проекта: build - сборочные скрипты, cmake описание проекта и т.п. doc - документация include - заголовочные файлы src - исходные файлы test - тесты

Joy
17.02.2018
08:08:50
include выносятся из src?

А как прописывать инклюды? Настроить переменную окружения? Или "../include/xzxz.h"

Я интересую как правильней, сделать можно и так и так

Surreal
17.02.2018
08:12:15
cmake

Alexander
17.02.2018
08:13:17
Я интересую как правильней, сделать можно и так и так
Сделай cmake проект и пропиши include_directory

Anatoly
17.02.2018
08:13:42
А как прописывать инклюды? Настроить переменную окружения? Или "../include/xzxz.h"
обычно делают include/<имя библиотеки или приложения>/*.h и включают после #include "myproject/myheader.h" предварительно описав в CMakeLists.txt через target_include_directories: target_include_directories(${PROJECT_NAME} PUBLIC include)

в итоге, твои заголовки не пересекуться с thirdparty заголовками и сразу отличишь свои от thirparty в коде.

ну и раз пошла такая пьянка включай заголовочные файлы в следующем порядке: 1. стандартные заголовки 2. thirdparty заголовочные файлы 3. свои заголовочные файлы например #include <vector> // standard library #include "boost/optional.h" // thirdparty library #include "myproject/game.h" // my header ...

Вакансии публикуются не здесь через согласование с @AlexFails , читайте правила.

Google
Anatoly
17.02.2018
08:39:35
а почему именно такой порядок?
для новичков должны быть какие-то правила, пусть будут такие.

Anatoly
17.02.2018
08:40:42
и не поспоришь..
ну, на самам деле это вольный перевод boost guideline: https://github.com/boostorg/geometry/wiki/Guidelines-for-Developers

вообщем, к чему это все. лучше плохой стиль, чем отсутствие стиля. как-то так.

Berkus
17.02.2018
08:47:12
А как прописывать инклюды? Настроить переменную окружения? Или "../include/xzxz.h"
если хедер лежит в include/sub/dir/head.h то в cpp файлах пишется #include "sub/dir/head.h"

а путь к include прописывается в билдсистеме

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