今日、私はPICのプログラミングにMPLAB Xを使用し始め、コードを入力するための複数のファイルとスポットを含むコードテンプレートを見つけました。私のコードが含まれている単一のファイルがある前に。このテンプレートでは、構成ビットを配置することになっていますが、次のテキストがあります。
/* TODO Fill in your config bits here. Remove #if 0 to embed config words. */
#if 0
/* General syntax for configuration word 1 - Check your device .h file
for an up to date listing of available macros.*/
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF);
/* If the device has multiple configuration words, the second macro defines
the second configuration word. Again check your device .h file
for an up to date listing of available macros. */
__CONFIG(WRT_OFF & PLLEN_OFF & STVREN_OFF & BORV_19 & LVP_OFF);
#endif
「構成単語を埋め込むために#if 0を削除する」とは本当に理解できません。つまり...これはおそらく本当にシンプルなものです。私はグーグルでコンパイラのマニュアルを検索してみましたが、良い結果は得られませんでした。私が理解できることから、#if 0と#endifの間のコードはコンパイルされません。この埋め込みはどういう意味ですか?コードでの構成ビットの設定とその後の関係は関係していますか?
/* */
ネストしないので、コードの大きなブロックを/* */
その中にすでに/* */
コメントが含まれているコードで囲むと、全体が正しくコメント化されません。ただし、このライブラリの場合、よりクリーンなアプローチとして、#if defined EMBED_CONFIG_WORDS
代わりに#if 0
(おそらく別の構成ファイルなどで)を使用して、「構成行の埋め込みを有効にするには、この行のコメントを外す」//#define EMBED_CONFIG_WORDS
というコメントのような行を使用します。