C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. No Ads, offtop, flood 2. Полные правила тут https://t.me/ProCxx/259155 Объявления о вакансиях,эвентах - в лс @AlexFails или @MasterZiV канал вакансий https://t.me/ProCxxJobs
Если имеется ввиду просто вернуть std::string, то это не прокатит
Читать полностью…#include <stdio.h>
https://en.cppreference.com/w/c/language/generic
#include <math.h>
// Possible implementation of the tgmath.h macro cbrt
#define cbrt(X) _Generic((X), \
long double: cbrtl, \
default: cbrt, \
float: cbrtf \
)(X)
int main(void)
{
double x = 8.0;
const float y = 3.375;
printf("cbrt(8.0) = %f\n", cbrt(x)); // selects the default cbrt
printf("cbrtf(3.375) = %f\n", cbrt(y)); // converts const float to float,
// then selects cbrtf
}
Куда мне идти со своими вопросами по opengl? Подскажет кто?
Читать полностью…Ну да, там очень интересные вещи юзаются. Доку когда читаешь — вообще качаешься от некоторых моментов, например GQuark.
Читать полностью…Конечно это очень хорошая либа, но когда я впервые с ней столкнулся -- было страшно
Читать полностью…Да, только вот хотел про нее сказать. Но с неподготовленного глаза может пойти кровь)
Читать полностью…Библиотека GLib успешно этим занимается уже который год.
Читать полностью…+
В Си вполне можно эмулировать ООП и даже полиморфизм с помощью структуры с полями и указателями на "методы". Только вот инициализацию и очистку придется делать ручками.
Что касается плюсовых контейнеров, то да, придётся данные копировать в примитивные типы или в какие-то POD-структурки:std::string
-> char*
std::list
-> LIST_HEADER
+ LIST_ENTRY
(Windows only)
Ну и так далее, надо просто найти/создать подходящие по смыслу обёрточки
Если же это класс с реализацией, то можно в принципе создать экземпляр, а вернуть void*, который потом в приложении скастить к нужному типу (например, если из DLL надо получить что-то)
у меня какой то такой воркфлоу стандартный для подобных задач
Читать полностью…ну так интерпретатор можно запаковать через pyinstaller)
Читать полностью…Как делать сишное апи поверх с++? К примеру, функция возвращает std::string. Делать strdup? С остальными данными также или есть лучше способы?
Читать полностью…Во-первых, это не макрос, а ключевое слово языка. Во-вторых, изобразите мне с помощью этого что-нибудь типа std::enable_if
Читать полностью…Можно, только я видел насколько много макросов для этого приходится городить
Читать полностью…Зачем POD-ы. Я вообще вон писал код из серии типа
MyLibInstance* CreateMyLibInstance(...);
Ну и потом вызывал методы как-то через someMethod(mylibInstance, ...); что семантически было идентично mylibinstance->someMethod(...);
сишное api обычно не через strdup возвращает строки, а через параметры
Читать полностью…pyinstaller --onefile
-чет вроде такого, ну и там еще можно либы всякие, иконки и тд подтащить - читайте хелп
обычно из питона требуется плюсовый код заюзать, а не наоборот, через pybind11 компилится плюсовый модуль питоновский, импортируется это в скрипт-обвязку и через pyinstaller со всеми интерпретаторами и ресурсами запаковывается в экзешник
Читать полностью…с ним правда повозиться немног придется возможно, но вроде то что надо
Читать полностью…pybind требует рантайм питона, а то про что я говорю - это создание независимого от него бинарника
Читать полностью…