@ProCxx

Страница 683 из 2477
Pavel
20.03.2017
11:07:03
потоки жрет прилично, но там глобальный лок правда

Anton
20.03.2017
11:08:16
Ясно, ну раз нет единого инструмента, тогда вот посмотрите на easylogging++. Может кому интересно будет. https://github.com/muflihun/easyloggingpp

Мне прям зашел. Единственное думал, что это левая хрень какая-то и есть какой-то более общий/популярный инструмент

Google
Yenq
20.03.2017
11:13:08
Ребят, я недавно спрашивал про смену точки входа в программу, так вот как изменить ее я понял, это подать имя линкеру, а если мне нужно что бы точка входа была тоже мэйн, но с другой сигнатурой?



Как это можно сделать?

Alex Фэils?︙
20.03.2017
11:14:53
Надо узнать манглированное (mangled) имя мейна твоего

Tema
20.03.2017
11:18:59
это ужэ было , отвечали жэ

ужэ

Yenq
20.03.2017
11:19:45
Ответ был правильный но для другой ситуации, если входная функция имеет другое имя, не мэйн

А тут весь прикол в том, что бы точкой был мэцн с другой сигнатурой

Alex Фэils?︙
20.03.2017
11:20:18
Что что сделать?
Ща поправлю, сорян, спешу ща

Yenq
20.03.2017
11:20:28
Google
Yenq
20.03.2017
11:21:43
Или может я очень туплю

Stanislav
20.03.2017
11:21:44
переопределяешь main, и оттуда вызываешь main с нужной сигнатурой

Yenq
20.03.2017
11:22:10
Это как то костыльно

Stanislav
20.03.2017
11:23:11
По-другому нельзя?
нет, стандарт требует только такой мейн

Yenq
20.03.2017
11:23:22
Stanislav
20.03.2017
11:27:49
в qt сделано так же, чтобы для гуи и не гуи приложений в винде вызывался main, в гуи винда ждет WinMain

хотя нет, слегка не так :) но похожий механизм

Yenq
20.03.2017
11:29:41
есть мысль

разве указательна мэйн не находится в _start?

это правда будет очень сложно подменить там указатель...

Tema
20.03.2017
11:34:35
вообще

у тя там подсказка

ELF

Yenq
20.03.2017
11:35:22
У меня просто знаний не хватает, вот и спрашиваю)

Tema
20.03.2017
11:35:44
я делал недавно хеловорлд, ты конпилируеш бинарий в ELF потом делаеш другую програму которая умеет загружать ELF и находить в нём имена функций, получаеш доступ до функции и вызываеш её тело

яхз мож у тя задание не про ето

Yenq
20.03.2017
11:36:19
хм... ну все равно спасибо за наводку

Дед Пегас
20.03.2017
11:56:33
@isenbaev смотри! Почти то, что тебе нужно! https://github.com/Enhex/small_int

Google
babysitter
20.03.2017
12:02:33
а чем по дефолту пользуются для динной арифметики кстати.

Pavel
20.03.2017
12:02:41
gmp?

Антон
20.03.2017
13:46:21
babysitter
20.03.2017
13:48:06
Заходишь в Гугл и ищешь
вот спасибо, теперь знаю, что делать в ситуации, к которой жизнь меня не готовила

Tema
20.03.2017
13:53:12
а можно сделать так что типа если есть клас то ты наследуешся а если нет то не наследуешся, типа форвард наследование хочу

Vyacheslav
20.03.2017
13:54:19
а как это будет выглядеть?

Denis
20.03.2017
13:54:49
если есть класс где?

Tema
20.03.2017
13:54:52
также

есть клас в объектнеках

Шаурма
20.03.2017
13:55:11
препроцессором можно?

Denis
20.03.2017
13:55:12
но вообще такое делают обычно системами сборки, подменяют хедеры в зависимости от условий

Tema
20.03.2017
13:55:21
препроцессором можно?
ну это запасной вариантец

Denis
20.03.2017
13:56:45
ну так сделай два хедера и цппшника и в мейклисте или что там у тебя пропиши переименование одного из них в нужный. Тогда ты везде инклюдишь нужный, а какой он будет - зависит от сборки

Shorty(Ale Chapa) Manskiy
20.03.2017
13:58:49
препроцессором можно?
что-то такое можно делать в D - static if (is(ClassName) && isClass!ClassName) ... else ... но как препроцесором делать?

Cyber
20.03.2017
13:59:10
через constexpr?

Google
Denis
20.03.2017
13:59:50
Вот что-то похожее вроде в Qt делают с приватными классами, если не путаю, конечно
да, только не для приватных классов. А для реализаций под разные платформы/условия. Мы тоже так же делаем (благо тот же кумейк юзаем)

Denis
20.03.2017
14:00:21
Да, точно, для разных платформ разные файлы

Evgeniy
20.03.2017
14:00:30
Shorty(Ale Chapa) Manskiy
20.03.2017
14:03:45
кажетя вам тоже static_if завезли, разве нет?

или проблема в том, чтобы проверить существование класса?

Плюшка
20.03.2017
14:04:25
в с++17 есть же if constexpr

Admin
ERROR: S client not available

Stanislav
20.03.2017
14:07:37
ага, и трейт is_class в С++17 на констекспрах

template< class T > inline constexpr bool is_class_v = is_class<T>::value;

Shorty(Ale Chapa) Manskiy
20.03.2017
14:15:56
is_class<T>::value а если T не существует, что тогда? ошибка?

Surreal
20.03.2017
14:18:28
в с++17 есть же if constexpr
А вы смотрели его? Им можно заменить enable_if? Типа: template <typename T> class X { void f1(); if constexpr (/* условие по T */) { void f2(); void f3(); } if constexpr (/* 2 условие по T */) { void f4(); void f5(); } }; А то эти enable_if захламляют все и не все IDE их цепляют в плане комплишина имен функций для объекта.

И да, это можно специализацией и наследованием сделать, но мне хочется так.

Shorty(Ale Chapa) Manskiy
20.03.2017
14:22:22
enable_if для SFINE, и как ты его предлагаеш заменить на if constexpr? вот так чтоли - if constexpr (enable_if(...)), вот только это не очень на замену походит...

Anton
20.03.2017
14:22:26
Судя по всему, пока с метом не опеределилсь? #procxxbdaymeet

Surreal
20.03.2017
14:28:32
Shorty(Ale Chapa) Manskiy
20.03.2017
14:32:51
если честно, я не понял что ты хочеш. Но если там все как в D, то да, твой код что выше, вполне возможен. но как это поможет IDE я даже не догадываюсь.

Surreal
20.03.2017
14:37:28
если честно, я не понял что ты хочеш. Но если там все как в D, то да, твой код что выше, вполне возможен. но как это поможет IDE я даже не догадываюсь.
Боюсь, что там все не как в D. Дело больше не в IDE, а в том, что гораздо проще будет ориентироваться в коде. Хотя, программист всегда найдет способ все усложнить и сделать кучу вложенных трейтов, за которыми сложно найти функцию и исходный класс.

Tony
20.03.2017
15:09:58
с помощью си сообщения в амазоновскую DynamoDB отправлять лучше всего через амазоновский IoT или напрямую?

Nikolay добряш
20.03.2017
15:12:19
http://www.internet-law.ru/stroyka/text/23066/

кстати интересно

Google
Vyacheslav
20.03.2017
16:04:23
Здравствуйте! Пишу такой код (C++14): struct Foo { virtual void method(const auto &cb) { cout « cb « endl; } }; struct Bar : Foo { void method3(const auto &cb) { cb("hello") } } но код не компилируется, пишет, что implicit templates may not be "virtual" Правильно я понимаю, что проблема в том, что, темплейты (в случае auto) - определяются в compile-time, а virtual methods - run-time

Stanislav
20.03.2017
16:07:20
и где тут темплейт?

Vyacheslav
20.03.2017
16:08:15
я так понимаю имеется ввиду, что auto вычисляется во время компиляции, как темплейт

Matway
20.03.2017
16:08:21
Здравствуйте! Пишу такой код (C++14): struct Foo { virtual void method(const auto &cb) { cout « cb « endl; } }; struct Bar : Foo { void method3(const auto &cb) { cb("hello") } } но код не компилируется, пишет, что implicit templates may not be "virtual" Правильно я понимаю, что проблема в том, что, темплейты (в случае auto) - определяются в compile-time, а virtual methods - run-time
К моменту закрывающей фигурной скобки класса/структуры компилятор должен иметь всю информацию, необходимую для создания vtable. В случае с темплейтами он не может предсказать, какие будут специализации. Поэтому темплейты (и auto аргументы) не могут быть virtual.

Vyacheslav
20.03.2017
16:09:04
понял, спасибо

Matway
20.03.2017
16:15:19
Тем не менее, можно добиться желаемого поведения: http://ideone.com/AKtiGd

kapkapbopoh
20.03.2017
16:24:44
Читал кто buildyourownlisp?

Surreal
20.03.2017
16:29:22
Про кложуру небось?

Vyacheslav
20.03.2017
16:30:03
про C )

Matway
20.03.2017
16:41:16
А, если нужно в эту сторону, то можно гораздо интереснее сделать: http://ideone.com/AKtiGd

Это называется CRTP, и это очень мощная вещь. https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern

Daniyal
20.03.2017
16:45:47
Как в cmake найти файл по regex'у? Execute_process яро отказывается выполнять tar -xvf fileName*

Кто сталкивался? Как решили?

Surreal
20.03.2017
16:49:57
прям магия какая-то )
Страуструпу помогали проектировать язык единороги. Это все знают.

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