包括arduino中单独文件中的函数
including functions in seperate file in arduino
无qn。
我使用的是Arduino 1.6.5,我有下面这样的东西,以前也能用。
main.ino
#include "oldFunctions.h"
#define BLAHBLAH
setup(){
//....
}
loop(){
//....
}
void newFunctionA(void){
//....
}
oldFunctions.h。这是我随着时间的推移添加的一个文件,包含了新的函数和内容。
void test(void){
newFunctionA();
}
这曾经在Arduino 1.6.5中工作,但我升级到1.6.8,现在我得到错误,说newFunctionA没有在这个范围中声明
有人能帮忙吗?
把文件搞砸,然后希望编译器能发挥一些作用,这总是一个坏主意。我建议你使用这些文件,因为它们是应该使用的,所以
- 头文件(
*.h
、*.hpp
)应包含类定义(但不包含实现)、定义为extern
的全局变量、函数原型。他们应使用通用ifndef...
来防止多个夹杂物 - 源文件(
*.c
、*.cpp
、*.ino
)应包含实际函数实现、方法实现和全局变量定义
你不应该避免使用这个,否则你会进入很多可能的麻烦。
在您的情况下,您应该有三个文件:
main.ino
#include "oldFunctions.h"
#define BLAHBLAH
setup(){
//....
}
loop(){
//....
}
void newFunctionA(void){
//....
}
oldFunctions.h
#ifndef OLD_FUNCTIONS_H
#define OLD_FUNCTIONS_H
void newFunctionA();
void test();
#endif
oldFunctions.cpp
#include "oldFunctions.h"
void test(void){
newFunctionA();
}
但是,请注意,在cpp文件中,不应使用在main.ino
中定义的BLAHBLAH
。如果需要,请将其移动到oldfunctions.h
文件中。
在newFunctionA
是一个你想与旧函数分离的新函数时,只需创建一个新的头文件并将其包含在内。重要的是,你不依赖arduino连接源文件,因为这可能会导致意外行为。
相关文章:
- 用C++在单独的头文件中完成函数体
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 头文件、宏和内联函数c++
- 如何使用单独文件中的派生类访问友元函数对象
- C++无法定义虚拟函数 OUTER 类和头文件
- 回溯C++不打印函数,因此文件
- 如何从另一个文件继承私有成员变量和公共函数
- 从函数角度看ID到文件路径的内部与外部映射
- 区分非成员函数和头文件中的成员函数
- 如何使用对C函数和类对象的外部调用来处理C++头文件
- 如何在其他文件中使用函数
- 整数键映射到头文件中的成员函数指针
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 用"=default"声明的函数应该只在头文件中执行
- 将单独的头文件和类定义文件链接到主函数文件 - G++ 返回重载"undefined reference to"构造函数
- C++ - 在一个函数/文件中初始化变量然后在main()/另一个文件中使用它的最佳方法是什么?
- C++单独的函数文件
- 只对单个函数/文件启用编译器优化