我是 C 编程新手。当我将 blank.h 文件包含到 Test.c 文件中时,程序将无法编译,但是当我将 blank.c 文件包含到 Test.c 文件中时,它可以正常编译。以下是所有 .c 和 .h 文件的来源。我使用 gcc 作为我的编译器,我觉得我需要与它进行某种链接?任何帮助都会非常感谢!
这是 Test.c 源
#include <stdio.h>
#include "blank.h"
#include "boolean.h"
int main()
{
bool result = blank("");
printf("%d\n", result);
return 0;
}
这是空白.h 源
// Header file for blank function
bool blank(char string[]);
这是空白.c 源
#include "boolean.h"
#include "blank.h"
#include <regex.h>
bool blank(char string[])
{
regex_t regex_blank;
int blank = regcomp(®ex_blank, "[:blank:]", 0);
blank = regexec(®ex_blank, string, 0, NULL, 0);
if ( string == NULL || blank == 1 )
return true;
else
return false;
}
最后是 boolean.h
// Boolean
// Define true
#ifndef true
#define true 1
#endif
// Define false
#ifndef false
#define false 0
#endif
typedef int bool;