Похоже, мне, возможно, придется приступить к кросс-платформенному проекту, и часть его должна быть сделана на C или С++ (пока не решил, что вопрос о них и тот и другой). Я буду иметь дело в основном с текстовыми материалами и строками в целом.
Этот C/С++ будет иметь API, вызываемый из более высокоуровневого кода, зависящего от платформы.
Мой вопрос:, какие типы целесообразно использовать для работы со строками, в частности при объявлении публичных интерфейсов? Существуют ли рекомендуемые стандартные методы? Есть ли что избежать?
У меня мало опыта написания кода на C или С++, и даже это было в Windows, поэтому ничего подобного кросс-платформу здесь вообще. Поэтому то, что я действительно ищу, - это то, что поможет мне правильно и избежать глупых вещей, которые могут вызвать много боли.
Изменить 1: Чтобы дать немного больше информации о предполагаемом использовании. API будет потребляться:
-
Цель C на iPhone/iPad/Mac через NSString и друзей. API может быть статически связан, поэтому здесь не нужно беспокоиться о проблемах .so.dll.
-
Java через JNI на Android и других платформах Java
-
.NET через p/invoke из управляемого кода С# или изначально статически связан с использованием С++/CLI.
-
Есть несколько соображений об использовании lua как-то в этом контексте. Не знаю, имеет ли это какое-либо отношение к чему-либо, хотя.