首先,我是一个初学者,不太确定如何解释我的需求,但我会尝试一下。(我搜索了一下,但没找到完整的答案。)
我正在自学C语言,使用Code Blocks。
我想创建自己的小型函数库,并在我的程序中使用它。
我有一个名为"C"的文件夹。在"C"文件夹中,我有一个名为"Exercises"的文件夹,用于完成书中的小项目。
此外,在"C"中,我想再建一个名为"MyC"的文件夹,用于保存我的头文件和包含我自定义函数实现的.c文件。例如,这些.h和.c将保存在"MyC"中:
//test.h
我正在自学C语言,使用Code Blocks。
我想创建自己的小型函数库,并在我的程序中使用它。
我有一个名为"C"的文件夹。在"C"文件夹中,我有一个名为"Exercises"的文件夹,用于完成书中的小项目。
此外,在"C"中,我想再建一个名为"MyC"的文件夹,用于保存我的头文件和包含我自定义函数实现的.c文件。例如,这些.h和.c将保存在"MyC"中:
//test.h
#ifndef _TEST_H
#define _TEST_H
int mySum(int, int);
#endif // _TEST_H
//测试.c
#include <stdio.h>
#include "test.h"
int mySum(int a, int b)
{
return a + b;
}
现在,我的目标是在“练习”中创建一个新项目,并且不需要将test.h和test.c的副本复制到项目中,而只需#include我的test.h并执行以下操作:
//testMain.c
#include <stdio.h>
#include <test.h>
int main(void)
{
printf("\n2 + 1 = %d", mySum(2, 1));
return 0;
}
我知道<>是用来包含标准头文件的,但引号则是用来包含当前文件夹中的头文件,这正是我不想要的。
有可能实现吗?怎么做?
我尝试了在设置>编译器中进入搜索目录并添加头文件路径,但没有成功。它给我一个错误:“undefined reference to 'mySum'”我还尝试过在#include语句中使用引号和括号。
请问各位能否提供一份逐步说明,告诉我如何实现我的需求?
MyC
中的一些符号的定义。你是否为MyC
目录中的所有文件构建了库?另外,似乎你正在使用某个IDE进行编译。这是真的吗?你愿意直接使用命令行中的gcc
吗? - Tuxdude