システムヘッダファイルstdarg.hファイルが見つからない

テクニカル・ノート 181212J

アーキテクチャ:

ARM

コンポーネント:

compiler

更新日:

2020/03/05 2:26

はじめに

Embedded Workbench for Arm 7.20から8.32までの間、stdarg.hで書かれている定義はコンパイラで持つようになり、Embedded Workbench for Arm 7.20からEmbedded Workbench for Arm 7.40の製品ではstdarg.hファイルがパッケージから削除されているため、外部の静的解析ツールを使用される場合、参照ファイルがなくエラーとなることがあります。

Embedded Workbench for Arm 7.40.4以降、そのようなエラーを回避するため、またstdarg.hファイルをパッケージに含んでおりますが、コンパイラはそのファイルは使用せずコンパイラ内部の定義を使用しています。

解説

Embedded Workbench for Arm 7.20から8.32までの間、stdarg.hで書かれている定義はコンパイラで持つようになりました。

コンパイラは、

#include <stdarg.h>

文に出会うと、コンパイラ内部にあるstdarg.hに相当する定義を読み込みますので、ソース互換性は保たれています。

なお、stdarg.hはすべて小文字で表記してください。

[良い例]

#include <stdarg.h>

 

[悪い例]

#include <Stdarg.h>

#include <StdArg.h>

など                                                                  

まとめ

外部の静的解析ツールをお使いでstdarg.hが見つからないとエラーが発生する場合は、以前のバージョンのstdarg.hをコピーしてお使いください。

 

全ての製品名は、それぞれの所有者の商標または登録商標です

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。