
Kathu
02.05.2017
10:42:08
вроде можно как то def файл же создать и посмотри LoadLibraryEx
но хз поможет ли

Gregor
02.05.2017
10:42:54
спасибо всем, сейчас гляну

Alexander
02.05.2017
10:46:51

Google

Friedrich
02.05.2017
10:47:20
Буст не все любят почему-то.

Alexander
02.05.2017
10:47:42

Kathu
02.05.2017
10:47:58
у вас тут что, секта свидетелей буста? ради одной дллки в проект буст линковать, если его до этого там не было - оверкилл

Friedrich
02.05.2017
10:48:34
Подключить как зависимость — это да, и это может внести оверхед. А может и не внести.


Daniil
02.05.2017
10:49:47
кстати, вброс про буст небольшой
за что я люблю буст. Вот смотришь и сразу понятно как код работает и очень удобно читать сорцы
// Declare a group of options that will be
// allowed only on command line
po::options_description generic("Generic options");
generic.add_options()
("version,v", "print version string")
("help", "produce help message")
;
// Declare a group of options that will be
// allowed both on command line and in
// config file
po::options_description config("Configuration");
config.add_options()
("optimization", po::value<int>(&opt)->default_value(10),
"optimization level")
("include-path,I",
po::value< vector<string> >()->composing(),
"include path")
;
// Hidden options, will be allowed both on command line and
// in config file, but will not be shown to the user.
po::options_description hidden("Hidden options");
hidden.add_options()
("input-file", po::value< vector<string> >(), "input file")
;
офигенная конструкция
generic.add_options()
("version,v", "print version string")
("help", "produce help message")
;
наверняка add_options возвращает какой-нибудь тип данных у которого перегружен operator() который возвращает референс на себя же
называется как реализовать builder или чото в таком ключе чтобы никто ничего не понял


Alexander
02.05.2017
10:50:10

Friedrich
02.05.2017
10:50:13

Daniil
02.05.2017
10:50:23

Google

Friedrich
02.05.2017
10:50:35
Нельзя читать документацию и не знать про этот билдер
Но, если пытаться раскурить чужой код, не читая документации на библиотеку, это и правда покажется неочевидным.

Daniil
02.05.2017
10:51:35
если бы я такое встретил в коде я бы кирпичей наложил
вот вот

Gregor
02.05.2017
10:52:30
чуваки, я вовсе не хотел вкидывать про винду

Kathu
02.05.2017
10:52:44

Friedrich
02.05.2017
10:52:46
Про винду вкидывайте в холиварах.

Vladislav
02.05.2017
10:52:55
в посиксе есть getopt/getopt_long для этих дел

Antony
02.05.2017
10:54:04
если бы я такое встретил в коде я бы кирпичей наложил
Что-то я не пойму, что именно вам не нравится (я совершенно серьезно, без всяких подколов)?
Вот это
generic.add_options()
("version,v", "print version string")
("help", "produce help message")
;
выглядит в 100 раз читабельнее, чем какой-нить getopt или им подобные решения

Daniil
02.05.2017
10:54:16

Vladislav
02.05.2017
10:54:31
для парсинга аргументов

Daniil
02.05.2017
10:54:33

Alexander
02.05.2017
10:54:38

Vladislav
02.05.2017
10:54:58

Daniil
02.05.2017
10:55:12
хз я для этого либу искал
я всеравно не стал пользовать, поэтмоу забил
нет?
или
args << "version,v" << "print" << ...

Google

Vladislav
02.05.2017
10:58:18

Daniil
02.05.2017
10:58:20
в первом случаи не пришлось бы скорее всего лезть в доки или тереть глаза?

Vladislav
02.05.2017
10:58:43
аргументы приложения это.

Daniil
02.05.2017
10:58:58
да да там коммент есть
// Declare a group of options that will be
// allowed only on command line
а еще есть
// Declare a group of options that will be
// allowed both on command line and in
// config file
что как бы намекает

Kathu
02.05.2017
10:59:51
я тоже не против буста и сам активно использую, просто считаю, что если можно сделать без буста стандартными средствами, то лучше без буста

Friedrich
02.05.2017
10:59:52
Ну, в настоящем-то коде никто не станет расставлять комментарии от тьюториала.

Kathu
02.05.2017
11:00:01
может это просто травма психологическая

Friedrich
02.05.2017
11:00:12
И там тебе придётся приседать ради кроссплатформенности.

Artem
02.05.2017
11:00:35

Andrei
02.05.2017
11:01:11

Kathu
02.05.2017
11:01:22
после того, как я пытался понять и починить код, который парсит метаданные mjpeg с помощью boost::spirit'a

Friedrich
02.05.2017
11:01:46

Daniil
02.05.2017
11:01:55
это как эти вот извороты с --((i++)++) понятно же

Friedrich
02.05.2017
11:02:21

Daniil
02.05.2017
11:02:48
раз есть нечитабельная фича в языке давайте ее заюзаем, ведь мы профи, а те кто непонимает с первого раза лошки)

Alexander
02.05.2017
11:03:23

Friedrich
02.05.2017
11:03:39

Google

Alexander
02.05.2017
11:03:52

Friedrich
02.05.2017
11:04:05
Не подскажем. ?

Kathu
02.05.2017
11:04:14

Andrei
02.05.2017
11:04:23
dlopen поди

Kathu
02.05.2017
11:04:24
Аминь.

Alexander
02.05.2017
11:04:29

Дед Пегас
02.05.2017
11:04:36
Очень жаль, что в плюсах сложно красиво реализовать парсер а ля парсек хаскелевский.

Andrei
02.05.2017
11:05:03

Friedrich
02.05.2017
11:05:26

Admin
ERROR: S client not available

Kathu
02.05.2017
11:05:36

Alexander
02.05.2017
11:05:36
А зачем?
а, то есть если dll грузить, то пишем сами ifdef? ?

Friedrich
02.05.2017
11:06:31

Плюшка
02.05.2017
11:06:32

Alexander
02.05.2017
11:06:49

Andrei
02.05.2017
11:07:07

Плюшка
02.05.2017
11:07:09

Gregor
02.05.2017
11:07:18
у меня есть буст, скомпиленный в длл, в принципе его можно подключать)))

Google

Friedrich
02.05.2017
11:07:23
Стандартное != для винды.
Ну, я думаю, всем понятно, что в стандарте C++ такого нету и в ближайшее время не предвидится. Вот и обсуждают околостандартные решения :)

Alexander
02.05.2017
11:07:35

Плюшка
02.05.2017
11:07:41

Kathu
02.05.2017
11:07:42

Gregor
02.05.2017
11:07:44
LPCSTR funcName = static_cast<LPCSTR>("?add@MyDLL@MyDLLNamespace@@SANNN@Z");
вот такое имя внутри нэймспейса и класса для статического метода

Alexander
02.05.2017
11:07:51

Дед Пегас
02.05.2017
11:08:03
А в чём проблема взять буст?
Религия?

Плюшка
02.05.2017
11:08:10
Но если ты и так покрываешь 99% систем, то зачем делать что-то?

Alexander
02.05.2017
11:08:18

Friedrich
02.05.2017
11:08:24

Дед Пегас
02.05.2017
11:08:26
Выцепи только его.
Верней, только конкретный модуль.

Gregor
02.05.2017
11:08:38
вопрос про буст мне адресован или кому?

Дед Пегас
02.05.2017
11:08:47
Блин, ведь его даже весь компилять нет нужды.

Gregor
02.05.2017
11:09:43
мне не нужен буст, ибо я просто смотрю, как собирать приложения с длл и ковыряю с++
начинающий так скажем
надеюсь, вопрос снят

Дед Пегас
02.05.2017
11:10:27
омг
А уж развели...

Gregor
02.05.2017
11:10:45
dumpbin /EXPORTS помог
я так понимаю, это некий аналог objdump в gcc

Friedrich
02.05.2017
11:10:45
Ничего не разводили. Обсудили вопрос и всё.

Alexander
02.05.2017
11:10:58