мне тут давеча пришлось сопрягать свою замечательную прогу, написанную на устаревшем (как мне было замечено, бгг) visual c++ 2008 с внешней .dll, написанной на новомодной visual c++ 2010
Оно не сопрягается наглухо и вообще MS кажется полностью забили на обратную совместимость своих компиляторов. Например у них теперь std::string бинарно различаются в разных версиях. Что характерно names mangling при этом не поменялся и оно спокойно себе линкуется, только падает потом во всяких непредсказуемых местах. Коммерческий продукт, ага, хуже gcc.
API design for C++, угу-угу
Ненависть, ненависть, ненависть
дык всегда так было, хочешь совместимости - никаких STL контейнеров в апи, только интерфейсы. начиная с 2005 студии можно вообще одним макросом че-то-там-про-дебаг-итераторов изменить sizeof(std::string), вот это был апофеоз, да
ОтветитьУдалитьпо моему это адовый маразм, органический присущий c++ - внутри проги объекты - first class типы, а наружу их нельзя без геморроя передавать даже на одной версии компилятора
ОтветитьУдалить