.h または .c / .cpp に #include がありますか? 質問する

.h または .c / .cpp に #include がありますか? 質問する

C または C++ でコーディングする場合、#include's はどこに配置すればよいですか?

コールバック.h:

#ifndef _CALLBACK_H_
#define _CALLBACK_H_

#include <sndfile.h>
#include "main.h"

void on_button_apply_clicked(GtkButton* button, struct user_data_s* data);
void on_button_cancel_clicked(GtkButton* button, struct user_data_s* data);

#endif

コールバック.c:

#include <stdlib.h>
#include <math.h>

#include "config.h"

#include "callback.h"
#include "play.h"

void on_button_apply_clicked(GtkButton* button, struct user_data_s* data) {
  gint page;
  page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->notebook));

  ...

すべてのインクルードは .h または .c / .cpp のいずれかに含める必要がありますか、それともここで行ったように両方に含める必要がありますか?

ベストアンサー1

にはできる限り多くのものを入れ.c、 にはできる限り少なく入れます.h。 のインクルードは.cその 1 つのファイルがコンパイルされるときにのみインクルードされますが、 のインクルードは.hそれを使用するすべてのファイルによってインクルードされる必要があります。

おすすめ記事