Size: a a a

2020 September 11

ПК

Побитый Кирпич... in pro.cxx
Constantine Drozdov
а, точно, кажется именно так написана винда
std либа в msvc так написана. Да и многие другие либы из win sdk (PPL например)
источник

ПК

Побитый Кирпич... in pro.cxx
Александр Караев
так точно написан DirectX
в directx же COM, а не С интерфейс
источник

АК

Александр Караев... in pro.cxx
Побитый Кирпич
в directx же COM, а не С интерфейс
COM, но сишный ведь
источник

ПК

Побитый Кирпич... in pro.cxx
Александр Караев
COM, но сишный ведь
А, ну там есть сишные функции, которые создают объекты, но сами объекты через С++ COM интерфейс юзаются.
источник

АК

Александр Караев... in pro.cxx
Побитый Кирпич
А, ну там есть сишные функции, которые создают объекты, но сами объекты через С++ COM интерфейс юзаются.
там весь интерфейс сишный, использовать его можно из C, но так как там COM со счётчиками ссылок, то он может быть удобно использован со всякими C++ CComPtr.
но да, согласен, хоть какие-то плюсовые обертки они предоставляют
источник

AN

Alexander N in pro.cxx
Pavel Samolysov
Кстати, в LLVM даже свою версию libc сейчас пишут на C++. Бегло просмотрев репозиторий, пришел к выводу, что C-апи потом генерируется.
Вот, я тоже думал нафиг писать врапперы для всего, если можно юзать генератор. Я писал функции ручками только когда их тело было сложнее,чем просто вызвать одноименный метод. Например писал либу, чтобы искать изображение в другом изображении и там ручками экспорты были написаны т к. не совсем один к одному
источник

V

Vittore in pro.cxx
Добрый день подскажите пожалуйста, как избежать ошибку stack around variable corrupted?

int i = 0;
   char str[5];

   cin >> str;
   while (str[i]) {
       cout << str[i];
       i++;
   }
источник

D

Danya in pro.cxx
Vittore
Добрый день подскажите пожалуйста, как избежать ошибку stack around variable corrupted?

int i = 0;
   char str[5];

   cin >> str;
   while (str[i]) {
       cout << str[i];
       i++;
   }
1) Подобные вопросы в @supapro
2) Ты выходишь за границы массива
источник

V

Vittore in pro.cxx
Danya
1) Подобные вопросы в @supapro
2) Ты выходишь за границы массива
спаисбо!
источник

V

Vyacheslav in pro.cxx
Alexander N
Просто я тут забурился немного в спеку XLSX, со всеми его приколами из серии чарты, ссылки, формулы и прочее и думал если писать либу, то так, чтобы потом можно было её юзать через ffi/LoadLibrary/dlopen из python/ruby и даже мерзости типа PHP. Я уже подумываю, а что если савтогенерить C API :)
А чем ваше апи будет отличаться от Office COM Automation?
источник

V

Vyacheslav in pro.cxx
Побитый Кирпич
в directx же COM, а не С интерфейс
COM он из почти любого языка работает, т.к. это соглашение о вызовах. Как тот же stdcall/cdecl/pascal, но для объектов и интерфейсов. Его можно хоть из Ассемблера дергать
источник

ПК

Побитый Кирпич... in pro.cxx
Vyacheslav
COM он из почти любого языка работает, т.к. это соглашение о вызовах. Как тот же stdcall/cdecl/pascal, но для объектов и интерфейсов. Его можно хоть из Ассемблера дергать
Это да
источник

SE

Stanislav Ershov in pro.cxx
Vyacheslav
COM он из почти любого языка работает, т.к. это соглашение о вызовах. Как тот же stdcall/cdecl/pascal, но для объектов и интерфейсов. Его можно хоть из Ассемблера дергать
в слитых сорцах DarkEngine на котором Thief 2 и Систем Шок сделаны, они активно использовали ком, чтобы из Си стучатся в плюсовую часть
источник

V

Vyacheslav in pro.cxx
Stanislav Ershov
в слитых сорцах DarkEngine на котором Thief 2 и Систем Шок сделаны, они активно использовали ком, чтобы из Си стучатся в плюсовую часть
Главное в обертках из плюсов с++ исключения перехватывать, а то из-за этих врапперов и их комбинации и разнообразия компиляторов может случиться внезапный sigfault
источник

V

Vyacheslav in pro.cxx
Я видел монстров, подгружающих 4 разных версии VC Runtime, одна из которых была дебажная.
источник

我が名はレギオン... in pro.cxx
Существует контейнер ли, который может хранить значение тернарного оператора, при условии, что это будет вычисляться в рантайме?
То есть нужно сохранить переменную, которая может быть либо std::string либо int.
источник

AS

Anatoly Shirokov in pro.cxx
我が名はレギオン
Существует контейнер ли, который может хранить значение тернарного оператора, при условии, что это будет вычисляться в рантайме?
То есть нужно сохранить переменную, которая может быть либо std::string либо int.
std::variant или менее строго std::any
источник

AN

Alexander N in pro.cxx
Vyacheslav
А чем ваше апи будет отличаться от Office COM Automation?
Тем, что поддерживаться Linux должен?
источник

AN

Alexander N in pro.cxx
Stanislav Ershov
в слитых сорцах DarkEngine на котором Thief 2 и Систем Шок сделаны, они активно использовали ком, чтобы из Си стучатся в плюсовую часть
оО когда его сливали. Я помню оба. И нафиг COM для этого внутри одной программы. Точнее зачем на двух языках писать один движок
источник

D

Dmitriy in pro.cxx
我が名はレギオン
Существует контейнер ли, который может хранить значение тернарного оператора, при условии, что это будет вычисляться в рантайме?
То есть нужно сохранить переменную, которая может быть либо std::string либо int.
А разве тернарный оператор может использоваться при отсутствии common type у аргументов?
источник