включите определения функций, присутствующие в файлах .c в main - PullRequest
0 голосов
/ 09 августа 2011

Мне пришлось написать несколько функций, которые очень длинные. Итак, я решил поместить их в разные файлы и связать их с основными .., чтобы они работали так, как если бы я писал определения функций после main().

Как мне это сделать ..

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

В файле .h вы помещаете свой прототип

#ifndef MY_HEADER_H
#define MY_HEADER_H
void hello(void);
#endif

В отдельный файл .c вы реализуете свою функцию, такую ​​как hello.c

#include "myheader.h"
void hello()
{
    printf("Testing function from other file\n");
}

, затем в main вы делаете

#include "myheader.h"

int main()
{
    hello();
    return 0;
}

перед компиляцией файлов убедитесь, что вы скомпилировали hello.c в hello.o, или он скажет вам, что не может разрешить ссылку на hello.

0 голосов
/ 09 августа 2011

Найти создать заголовочный файл, который имеет окончание файла .h.Допустим, этот заголовочный файл называется blah.h.

Общая структура этого заголовка будет

#ifndef BLAH_H_INCLUDED
#define BLAH_H_INCLUDED

//code

#endif // BLAH_H_INCLUDED

Это защитные устройства заголовка, чтобы предотвратить множественные включения.Внутри кода вы по-прежнему будете декларировать свои функции.

Например, void function(int blah); будет допустимым объявлением функции.

Этот файл затем включается в начало всех ваших файлов, которые используютили определяет объявленные функции, #include "blah.h"

Затем вы можете определить свои функции в других файлах, и когда вы свяжете их вместе, программа будет работать.

...