Точнее, догадываюсь. Ей на вход структура подается, целых три. И похоже, что функция считает, что структура придет выравненной как-то особенно. По дефолту pack(8).
> на сях на довольно низком уровне под винду на gcc
ссзб.
Вообще, это вполне очевидно, потому как библиотека прикомпилена, а хедер со структурой - нет. За использования упаковки без понимания ее смысла и закрытия там где не нужно уже - бить по рукам и больно.
дык под конец так и сделал... просто кто бы мог подумать хотя, чем вот дальше я размышляю, тем больше соглашаюсь - подключенные библиотеки предкомпилированные, в них по факту динамический тайпкастинг идет, а потому то, что я создал и передал по ссылке будет интерпретрировано с учетом локального выравнивания впредь буду умнее
Гы, ну да. Просто в плохих книжках по C вбивают что-то невнятное, и норот после этого начинает считать всякие #include какой-то магией, которая якобы работает через (несуществующий) механизм "модульности", etc, etc. А оно на самом деле просто тупой ассемблер с забавным синтаксисом, и всегда транслирует строго как написано (оптимизации уже сильно потом, в виде AST или сгенерированного кода).
Comments 20
Reply
Бред какой-то...
Reply
Reply
Reply
ссзб.
Вообще, это вполне очевидно, потому как библиотека прикомпилена, а хедер со структурой - нет. За использования упаковки без понимания ее смысла и закрытия там где не нужно уже - бить по рукам и больно.
Reply
Reply
хотя, чем вот дальше я размышляю, тем больше соглашаюсь - подключенные библиотеки предкомпилированные, в них по факту динамический тайпкастинг идет, а потому то, что я создал и передал по ссылке будет интерпретрировано с учетом локального выравнивания
впредь буду умнее
Reply
Reply
Reply
Leave a comment