Как правильно создать функцию C (включая заголовочный файл)
Я пытаюсь создать свои собственные функции в C, а затем использовать #include
с заголовочным файлом. Я знаю, как сделать заголовочный файл, и я написал функцию.c. Однако, когда я пытаюсь скомпилировать.c, я получаю сообщение об ошибке "Ошибка компоновщика] с неопределенной ссылкой на" WinMain@16 ", и он не может скомпилироваться. Затем, если я пытаюсь использовать его в программе, он говорит: "[Предупреждение] нет новой строки в конце файла", а затем "[Ошибка компоновщика] неопределенная ссылка на validf (int, int, int)". Кто-нибудь может помочь?
Код функции:
int validf(int current,int max, int zero)
{
if(zero==1)
{
if(current>max || current<0)
{
printf("Invalid Input");
return 0;
}
else
{
return 1;
}
}
else if(zero==0)
{
if(current>max || current<=0)
{
printf("Invalid Input");
return 0;
}
else
{
return 1;
}
}
else
{
printf("Invalid parameters");
return -1;
}
}
Основной код:
#include<stdio.h>
#include<stdlib.h>
#include "validf.h"
int main()
{
int valid=0;
valid=validf(4,5,0);
printf("%d",valid);
system("\npause");
return 0;
}
Код заголовка:
#ifndef VALIDF_H_
#define VALIDF_H_
int validf(int current,int max,int zero);
#endif
1 ответ
Ваша программа состоит из 3 файлов:
validf.h
заголовочный файл для validf
, Содержит декларацию validf
функция
validf.c
файл кода для validf
, Содержит определение validf
функция.
main.c
содержит main
функция. Возможно, вы выбрали другое имя для этого файла.
В вашей IDE вы должны создать проект, который состоит из этих файлов. Вам также необходимо настроить имя результирующей программы. Я не знаком с этой конкретной IDE, но обычно это делается под Project->Settings->Compile or Build or Link
,
Это заставит вашу IDE скомпилировать два .c
файлы, а затем связать их в одну программу.
Если вы не создаете проект, вероятно, что IDE обрабатывает каждый .c
файл как другая программа, которая вызовет ошибки, которые вы упоминаете.