2

このようにできますか

/*includeAll.h*/

#ifndef INCLUDEALL_H_
#define INCLUDEALL_H_ 1

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include "DataTypeDefs.h"

#include "timer_api.h"
#include "uart_api.h"
#include "RTC_PCF8563.h" 
#include "TWI_Master.h"
#include "ADC_LTC1859.h"
#include "spi.h"
#include "AT45DB161D_UART_AS_mSPI.h"

#include "Utilities.h"

#ifndef F_CPU 
#define F_CPU 16000000UL
#endif

#include <util/delay.h>


#include <string.h>

#endif /* INCLUDEALL_H_ */

そして、このincludeAll.hファイルをどこにでも含めます。どこでも、すべてのプロジェクトファイルを意味します。

#define INCLUDEALL_H_ 1のような同様のマクロが、他のすべてのファイルで使用されています。

コンパイル時に非常に時間がかかることがわかります。

4

2 に答える 2

2

コンパイル時のペナルティは別として、そうすることでコードの変更/移植/リファクタリングが非常に難しくなります。

私には、依存関係を最小限に抑えるという一般的なルールがあります。不足しているヘッダーを適切な場所に含めるのにそれほど手間がかからず、後で多くの頭痛の種を減らすことができます。

于 2011-09-03T09:41:05.237 に答える
1

をプリコンパイル済みヘッダーincludeAll.hとして使用できます。拡張子をに変更することをお勧めします。.pch

于 2011-09-02T15:50:46.750 に答える