Andrei
http://en.cppreference.com/w/cpp/types/is_arithmetic
о, то, что искал, спс
Pavel
enable_if
Oleg
привет. может кто-то помочь? препод просто задание одно дал. звучит не сложно, но я не понимаю. нужно написать программу, к которой подключаются 2 dll файла. из dll_1 вызывается первая функция, эта функция вызывает вторую функцию из dll_2, вторая функция вызывает третью из dll_1, третья функция вызывает четвёртую функцию из dll_2, четвёртая функция выводит надпись. как это сделать? вот мои попытки написать код. dll_1: https://hastebin.com/litidevige.cpp dll_2: https://hastebin.com/badiquqire.cpp
Oleg
пожалуйста :с я не знаю cpp
Oleg
ради одного задания?
Pavel
Настолько тривиально, что аж грустно
Oleg
валуй - 100%.
🐙 Antony
ради одного задания?
Ребят, ну давайте человеку поможем. Видно же, что человек в институт по ошибке попал
Aleksei
Для supapro вопрос. Там на такие охотнее отвечают
Andrii
прийти в группу про схх говорить, что не хочешь учить схх)
Oleg
отписка? что ты имеешь в виду?
Pavel
🐙 Antony
+1
Oleg
так-то я просто с++ не учил. не интересен.
Pavel
Чтобы было проще: напиши прототип на каком-нибудь Python или JS. Пойми саму суть на этом прототипе и CPP перестанет быть такой загадкой.
Oleg
прототип? я понимаю что нужно делать. я не понимаю, как
Pavel
Ну тогда читай про то, как в cpp dll-ки подтягивать
Oleg
ну аналог.
Oleg
ну, да. я подолбился некоторое время сам и посчитал, что спросить у кого-то выйдет ралевантнее
Pavel
в python разве есть dll?
Чувак, я написал в cpp
Oleg
я только что (час назад) создал длл + экзешник, в котором эту длл вызвал
Oleg
проблемы у меня вызывают функции
Oleg
могу, но зачем?
Oleg
проблемы начинаются, когда одна функция из первой длл вызывает вторую из второй длл
Aleksei
Какие?
Oleg
можно как-то в VS держать открытыми не один проект?
Oleg
и как ты конечно же не скажешь?
Ioann_
код этого?
Надо сначала определить специальный макрос, который позволит определять, куда именно и что именно вы компилируете. Собственно говоря, этот макрос, определяется как то так: #ifdef BAR_EXPORTS #define BAR_API __declspec(dllexport) #else #define BAR_API __declspec(dllimport)
Ioann_
Этот макрос, вы должны дефайнить в main основной dll-ки. В других, ИМЕННО его не нужно задавать. Дл я других пишите тоже самое, но свой Макрос
Aleksei
Зачем тебе два проекта? В одном солюшене же можно все три держать
Ioann_
Таким образом, программа сможет определять, когда у вас идут функции на импорт, а когда на экспорт
Ioann_
в dll нет main 🤔
Имеется ввиду главный cpp файл
Ioann_
:\
Oleg
окей, попробую, минуту
Oleg
фото сюда не загружаются?
Anatoly
фото сюда не загружаются?
вежливо попроси @AlexFails , но если код собираешься таким образом закидывать, то лучше сразу на pastebin и т.п. или лучше сразу ideone.com, https://wandbox.org/
Oleg
Ему сначала надо про h файлы рассказать, наверное
в аш, кстати, написал void first_func(void); void second_func(void); void three_func(void); void four_func(void);
Oleg
но это уже неважно.
Aleksei
а где у них declspec?
Oleg
то есть, колво длл = кол-во .h?
Aleksei
то есть, колво длл = кол-во .h?
Ты читал https://msdn.microsoft.com/en-us/library/ms235636.aspx ?
Oleg
нет
Aleksei
Начни с этого, попробуй, если что-то не получится - задавай вопросы, что не получилось
kitsu
мб есть что по интереснее?
https://github.com/pybind/pybind11/ Вот такую штуку нашел, если еще актуально
Oleg
ладно, всем спасибо. надеюсь, мне этот чат больше не понадобится.
Ioann_
в чат военкомата пошел?
До слез просто😂
Alexander "SonnySlave"
Деканата
а там и до военкомата недалеко 😊
Andrii
Какие требования к классу, чтобы его можно было использовать в range-based циклах? Что должно быть в классе A, чтобы был корректным такой цикл A a; for(auto i : a) { ... }
Ruslan
begin & end
Alexander "SonnySlave"
Спасибо, почитаю
есть кое-что ещё: https://www.youtube.com/watch?v=aJLfbncabYU https://www.youtube.com/watch?v=d0xDCFuIA_g
Dima
Ребят, обязательно сеньору свжухвжуха знать ассембли?
Egor
Какие требования к классу, чтобы его можно было использовать в range-based циклах? Что должно быть в классе A, чтобы был корректным такой цикл A a; for(auto i : a) { ... }
Судя по http://en.cppreference.com/w/cpp/language/range-for требуется, чтобы были методы begin/end, которые возвращают некие объекты a и b, которые можно проверить a != b и сделать ++a, а также *a. Альтернатива методам begin/end — перегрузить функции begin(foo)/end(foo)
Egor
Ребят, обязательно сеньору свжухвжуха знать ассембли?
Я бы сказал, что да, как минимум на уровне "посмотрел на скомпилированный код, примерно понял, что и где происходит и почему"
Dima
Ммммм
Alexander "SonnySlave"
Ребят, обязательно сеньору свжухвжуха знать ассембли?
хотя бы чуток понимать, что там происходит. не обязательно уходить во всякие SIMD и так далее
Alexander "SonnySlave"
хотя compiler explorer способствует обучению в данной сфере
Екатерина 😇
Никто не хочет зевнуть лишний раз?)
Екатерина 😇
Я вот, не могу оставиться, например
🦥Alex Fails
#flood
Alexander "SonnySlave"
#supapro
Alexander "SonnySlave"
Рекомендую ознакомиться с правилами
Alexander "SonnySlave"
читать правила!
Anonymous
Где можно прочитать?
Anonymous
Где можно прочитать?
В описании чата О_о