日本語マルチバイト文字をサポートするための設定
テクニカル・ノート 200507
アーキテクチャ:
All
コンポーネント:
compiler
更新日:
2020/05/28 3:16
はじめに
このテクニカルノートは、ソースコード内のコメント行に日本語が含まれる場合の設定について解説します。
解説
マルチバイト非対応環境では、文字によっては日本語Sfhit JISの2バイト目がエスケープ文字等として認識されてしまう等により、コンパイルでエラーが発生したり、コンパイル結果が想定外となることがあります。
例えば行末に「ソ」、「噂」、「蚕」、「十」、「能」など文字コードの2バイト目が0x5Cの文字がある場合、改行コードが無効となり、次行のコードがコメント行に含まれてしまいます。
日本語の文字を正しく解釈するには、プロジェクトオプションを以下のように設定してください。設定は、IAR Embedded Workbench shared componentsのバージョンによって異なります。バージョンは、 Help(ヘルプ)>About(バージョン情報)>Product Info(製品情報) で確認してください。
Shared Components がVersion 8.x.x 以上のバージョン
2017年以降にリリースの IAR Embedded Workbench
Project Options(プロジェクトオプション)>C/C++ Compiler(C/C++コンパイラ)>Encodings(エンコード) タブで
以下のすべての設定で System locale(システムロケール) を設定:
- Default source file encoding(デフォルトのソースファイルのエンコード)
- Default input file encoding(デフォルトの入力ファイルのエンコード)
- Text output file encoding(テキスト出力ファイルのエンコード)
他のバージョン
2017年より前にリリースの IAR Embedded Workbench
Project Options>C/C++ Compiler>Language 2 タブ で、
Enable multibyte support(マルチバイト文字サポート) を選択してください。
まとめ
ソースコードファイル中に日本語が含まれる場合は、プロジェクトオプションで適切な設定を行う必要があります。
全ての製品名は、それぞれの所有者の商標または登録商標です