Используя Qt-Creator, я создал эти простые C-файлы только для проверки моего понимания:
main.c
#include <stdio.h>
#include "linked.h"
int main()
{
printf("Hello World!\n");
printf("%d", linked());
return 0;
}
connected.h
#ifndef LINKED_H_
#define LINKED_H_
int linked(void);
#endif // LINKED_H
connected.c
int linked()
{
return 5;
}
В IDE отображается предупреждение в строке connected.h между ними#define LINKED_H_
и int linked(void);
, которые читаются как
ISO C requires a translation unit to contain at least one declaration
Мое лучшее предположение о том, что это означает, что любой заголовок или другой файл C, если он находится в проекте, должен использоваться по крайней мере в основном файлеоднажды где-то.Я попытался найти предупреждение, но если на него уже был дан ответ, я не смог понять ответ.Мне кажется, я использовал функцию linked
и поэтому не должен предупреждать об этом.Кто-нибудь может объяснить, что происходит?
Программа компилируется и работает точно так, как ожидалось.