c++ - 源文件和头文件

标签 c++ c

我在理解源文件和头文件方面遇到困难。 假设

1) 我有一个源文件 (functions.cpp),其中包含位于 /Users/xyz/Desktop/位置的名为“int add(int x,int y)”的函数函数.cpp.

2)包含源文件(functions.cpp)中函数的声明的头文件(functions.h)放在/Users/xyz/Documents/function.h

3)其他包含'main()'函数的源文件(main.cpp)需要调用'functions.cpp'中定义的'add()'函数。源文件' main.cpp' 位于 /Users/xyz/Downloads/main.cpp

我将这些文件放在不同的位置,以便我可以更好地理解这些概念。

那么,如何使用 functions.hfunction.cpp 链接到 main.cpp

   #include "   "

我应该在上面的 include 中使用什么路径?

此外,据我了解,.h 文件提供了函数的声明,这些函数在其他地方定义,并且有一个声明对于编译器调用在某些其他文件中定义 的函数或尚未定义 的函数。是对的吗?如果我错了,请纠正我。

最佳答案

#include "functions.h"

您的代码应该知道您选择如何安排源代码树。对路径进行硬编码是为了赢得必须维护此代码的任何人的仇恨(包括从现在起六个月后的你)。

您的构建系统——无论它是什么——都可以处理路径。这可能很简单:

g++ -I/Users/xyz/Documents -c functions.cpp

您关于声明/定义如何工作的陈述基本上是正确的。

关于c++ - 源文件和头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803398/

相关文章:

c - 使用条件语句从十六进制显示为字符

c++ - 是否有任何可能的方法将事件(定制的)附加到在运行时创建的对象?[C++ Builder]

c++ - qt 返回糟糕的数学

c++ - 简单的 openGL 线图程序没有输出?

c - 我应该如何输入 cast void *?

C:通过支持该程序来提升 Linux 中的权限

c++ - 一个非常简单的 helloworld 的 makefile

c++ - 如何在 C++ 中模拟接口(interface)?

将 Long 转换为 Unsigned Short Int/Strtol

java - 位移时间复杂度