Есть ли в C достойный метод для объявления строк в стиле Pascal с указанием длины в качестве констант, чтобы их можно было хранить в ПЗУ? (Я работаю над крошечным встроенным устройством, которое использует компилятор ANSI C, отличный от GCC).
C-строка заканчивается 0, например, «f», «o», «o», 0.
Строка Паскаля имеет длину в первом байте, например, 3, 'f', 'o', 'o'.
Я могу определить C-строку для хранения в ПЗУ следующим образом:
Код:
const char *s = "foo";
Я мог бы вручную указать длину строки Pascal:
Код:
const char s[] = {3, 'f', 'o', 'o'};
Однако это неудобно. Есть ли альтернатива? Может в препроцессоре?
Я читал онлайн через масштабирование, что GCC и clang (и, возможно, другие) поддерживают параметр -fpascal-strings, который позволяет вам объявлять строковые литералы в стиле паскаля, если первым символом в строке будет \p. Это верно?
Социальные закладки