2017-01-18 24 views
0

に私は、組み込みC標準の本を読んでいると私は次のように気づい:の#includeは、組み込み

ませヘッダファイルの#include文が含まれていないもの

私は何をすべきを非標準型の関数宣言を使用していますか?

例:void function(some_funky_type x);

+0

ヘッダーファイルに含める必要があります。その声明はナンセンスです。私は、SIL2標準の埋め込みシステムで作業しています。ヘッダーファイルにステートメントを含めるのは間違いありません。 – Fredrik

+0

組み込みシステムに含まれている組み込み関数の問題点は何ですか?標準には、独立した環境に適合するすべての実装に現われなければならないヘッダのリストがあります。 – DeiDei

+0

本は初めて出版されたのはいつですか? – user3386109

答えて

3

これは、あなたが特定され、正確な理由のために愚かと逆のルールです。代わりに、すべての.cファイルに、後でインクルードされるヘッダーに必要なすべての.hファイルを含めることができます。一般的にインクルードされているヘッダーに新しい依存関係を導入すると、そのヘッダーを含むすべてのCファイルを更新する必要があることが想像できます。

7

この本を投げ捨ててください。絶対ごみです。実際に、他の貧しい魂がそれを拾うことがないように、それを燃やすべきです。

ヘッダファイル絶対には、彼らは自給自足であるためには、ヘッダーのすべての必要なファイル含める必要があります。あなたの#includeステートメントの順序を注意深くマッサージしようとするよりも悪いことではありません。ステートメントが含まれる前に必要な型がすでに定義されていることを確認してください。

+1

これに同意する。それは私が通常やっていることですし、私はこれを読んで、私が間違っていると思っていました。おそらく古いツールではヘッダー内にヘッダーを持たないほうが簡単でした。また、私はShift + Deleteをしなければならないその電子本 – Ghazy

関連する問題