Могу ли я использовать стандартную библиотеку C в приложении Palm OS?

Опубликованный код для приложений Palm OS не включает стандартные заголовки, но вместо этого использует API-интерфейсы Palm OS для таких вещей, как StrCopy и MemMove. Могу ли я использовать стандартные заголовки и функции или мне нужно конвертировать код для использования версий Palm OS?

2 ответа

Решение

С точки зрения размера программы лучше использовать API Palm OS всякий раз, когда это возможно, поскольку это означает, что вам не нужно включать код из библиотеки в сгенерированный "исполняемый файл". Если вы используете функции из предоставленных компилятором библиотек, код этих функций будет добавляться в каждую из ваших программ, увеличивая их размеры.

Это зависит от компилятора и того, какую версию инструментов вы используете. В общем, если вы можете использовать API-интерфейсы Palm OS, вы, вероятно, будете лучше работать на платформе, но и в CodeWarrior, и в prc-tools реализованы некоторые библиотечные функции.

В CW для Palm OS V9 есть довольно полная версия стандартной библиотеки Metrowerks (MSL). Большая часть MSL C++ предоставляет вам доступ к STL и другим конструкциям. На фронте C у вас есть большинство стандартных заголовков C для управления памятью и строковых функций. Тем не менее, он пропускает реализации для локалей, математики, сигналов и стандартного ввода-вывода.

Чтобы использовать библиотеку, вам необходимо убедиться, что вы связываетесь с библиотеками MSL C/C++. Это можно установить при создании проекта в мастере или добавить позже, изменив пути доступа и добавив соответствующие статические библиотеки для своих целей.

Другие вопросы по тегам