AM335x プロセッサで動作するアプリケーション用に多言語 GUI をセットアップしようとしています。CCS 6.0.1 で開発し、TI コンパイラ 5.1.8 を使用しています。概念は、列挙された辞書配列を取得し、現在の辞書ポインターをそれらのいずれかに切り替えて、意味のある列挙型を使用できるようにすることです。
enum dictionary_indexes {
name,
surname,
phone
}
const char *dictionary_en[60];
dictionary_en[name] = "Your name";
dictionary_en[surname] = "Your surname";
//and so on
残念ながら、CCS はそのようなコードをコンパイルしません。宣言の時点で初期化された配列のみを許可します。
//compiles nicely:
const char * const teststring[] = {
"String1",
"String2",
};
//doesn't compile:
const char *teststring2[2];
teststring2[0]="Hello";
teststring2[1]="World";
このようなコードはエラーになります
タイプ「char [6]」の値を使用してタイプ「int [0]」のエンティティを初期化することはできません
すべての配列エントリについても同様です。
ここで何か不足していますか?私は過去にそのようなコードを使用しましたが、うまくいきました。TI のコンパイラの問題ですか、それともプロセッサ固有の問題ですか? 動作するはずのコードは、次のスレッドに基づいています: C で文字列の配列を作成するにはどうすればよいですか?