在Dev-C++中,为什么我导入了项目所需的文件却无法编译我的项目?
In Dev-C++, Why cannot I compile my project although I imported the project required files?
在 Dev-C++ 中,我想创建一个项目来对 table 进行排序,这就是我将源文件引入我的项目的原因。但是当我想编译我的项目时,编译器给我一个错误,它无法识别函数。
这是我的第一个源文件。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define LENGTH 5
我将第一个文件保存在电脑中为"Preprocessors.c"。
第二个源文件:
void Selective_sorting(int Table[], int Length)
{
int *Temporary;
int Smallest_index;
for(register short int Outside = 0; Outside < Length; Outside++)
{
Smallest_index = Outside;
for(register short int Inside = (Outside + 1); Inside < Length; Inside++)
{
if(*(Table + Inside) < *(Table + Smallest_index))
Smallest_index = Inside;
}
Temporary = (int*) malloc(sizeof(int));
if(!Temporary)
{
printf("An error occurred while allocating memory.\n");
exit(1);
}
*Temporary = *(Table + Smallest_index);
*(Table + Smallest_index) = *(Table + Outside);
*(Table + Outside) = *(Table + Smallest_index);
free(Temporary);
}
}
我把第二个源文件在电脑里保存为"Selective_func.c"。
以及 运行 程序的第三个源代码:
int main()
{
int table[5] = {9, 7, 6, 5, 3};
Selective_sorting(table, 5);
for(register short int Counter = 0; Counter < 5; Counter++)
printf("%d\n", *(table + Counter));
return 0;
}
第三个源文件我在电脑里保存为"Main_func.c"。
并且我将源文件引入到我的项目中,当我编译项目时,出现了这个错误:
您没有正确包含文件。
您的主文件需要包含它需要的 header:例如 stdlib.h 和 stdio.h,还有定义 void Selective_sorting(int Table[], int Length);
的 header。
那么你的实现文件还应该包含与 void Selective_sorting(int Table[], int Length);
原型相同的 header + 它使用的东西所需的任何 header 文件(例如 stdio.h 因为你使用printf()
).
基本上你应该永远记住你想要编译的任何 C 文件(.c 或 .h)不知道任何函数、变量或类型(系统 built-in 除外)如果你不要包含定义它的 header 文件。
在 Dev-C++ 中,我想创建一个项目来对 table 进行排序,这就是我将源文件引入我的项目的原因。但是当我想编译我的项目时,编译器给我一个错误,它无法识别函数。
这是我的第一个源文件。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define LENGTH 5
我将第一个文件保存在电脑中为"Preprocessors.c"。
第二个源文件:
void Selective_sorting(int Table[], int Length)
{
int *Temporary;
int Smallest_index;
for(register short int Outside = 0; Outside < Length; Outside++)
{
Smallest_index = Outside;
for(register short int Inside = (Outside + 1); Inside < Length; Inside++)
{
if(*(Table + Inside) < *(Table + Smallest_index))
Smallest_index = Inside;
}
Temporary = (int*) malloc(sizeof(int));
if(!Temporary)
{
printf("An error occurred while allocating memory.\n");
exit(1);
}
*Temporary = *(Table + Smallest_index);
*(Table + Smallest_index) = *(Table + Outside);
*(Table + Outside) = *(Table + Smallest_index);
free(Temporary);
}
}
我把第二个源文件在电脑里保存为"Selective_func.c"。
以及 运行 程序的第三个源代码:
int main()
{
int table[5] = {9, 7, 6, 5, 3};
Selective_sorting(table, 5);
for(register short int Counter = 0; Counter < 5; Counter++)
printf("%d\n", *(table + Counter));
return 0;
}
第三个源文件我在电脑里保存为"Main_func.c"。
并且我将源文件引入到我的项目中,当我编译项目时,出现了这个错误:
您没有正确包含文件。
您的主文件需要包含它需要的 header:例如 stdlib.h 和 stdio.h,还有定义 void Selective_sorting(int Table[], int Length);
的 header。
那么你的实现文件还应该包含与 void Selective_sorting(int Table[], int Length);
原型相同的 header + 它使用的东西所需的任何 header 文件(例如 stdio.h 因为你使用printf()
).
基本上你应该永远记住你想要编译的任何 C 文件(.c 或 .h)不知道任何函数、变量或类型(系统 built-in 除外)如果你不要包含定义它的 header 文件。