В настоящее время мы создаем API для определенной библиотеки.
Часть интерфейса требует, чтобы библиотека получала и возвращала пользовательские классы, такие как vector и string.
При попытке смоделировать использование библиотеки в простом сценарии в режиме отладки происходит сбой системы при доставке строки в качестве ввода.
Я считаю, что в режиме отладки или выпуска существует другое представление класса строки. Тогда наша библиотека предполагает получить определенное представление, неправильно прочитать элемент данных и по пути раздавить.
Итак, каков наилучший способ передачи объектов STL в API.
Целевой ОС является Windows XP, скомпилированная с MSVC 8, хотя пользователь библиотеки будет использовать Windows, его компилятор может (и, вероятно, будет) отличаться
Идеи, которые у нас были до сих пор:
- Измените строку на char * - Но тогда разработчики могут быть сбиты с толку обязанностью освободить память.
- Используйте нашу собственную версию String - я не хочу разрабатывать другую частную реализацию строки.
- Выпуск для пользователя отладочной версии и выпуска версии.
- Спросите людей в переполнении стека, какой вариант мы упускаем или не понимаем, или просто слышим по их опыту - готово.