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