在每个运行时将函数保存到相同的地址
save function to same adress in each runtime
>我有一个对象,它有一个指向函数的指针数组作为配置值,如下所示:
class Object{
public:
bool (*function[2])() = {};
};
bool fooFunc(){return true;}
bool barFunc(){return false;}
Object obj;
void setupObject(){
obj.function[0] = &fooFunc;
obj.function[1] = &barFunc;
}
我在μC上想将使用的功能存储在EEPROM中,以便在程序重新启动时对象可以使用相同的配置恢复。有没有办法编写函数指定函数写入的地址?
或者,我可以制作一个指针数组,其中包含所有允许的函数(几十个(,并且只保存函数 ID,但我不知道如何有效地使用可维护的代码来做到这一点。在这里使用 lambda 函数会为我节省一些空间吗?另外,这意味着我的函数总是被加载,不是吗?
有没有办法编写函数指定函数写入的地址?
不。不是标准C++。
选择地址是链接器执行的操作。如何配置链接器以将函数存储在手动选择的地址中,我不知道;这可能取决于您使用的链接器。
我可以制作一个包含所有允许功能的指针数组......会在这里使用 lambda 函数吗
不。每个 lambda 都有不同的类型,数组的所有元素都具有相同的类型。您不能有一个 lambda 数组。
相关文章:
- 将数组的地址分配给变量并删除
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 空基优化子对象的地址
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 如何在c++程序中找到函数的地址
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- C++ 将地址保存为字符串的向量转换为新的向量
- 在每个运行时将函数保存到相同的地址
- 如何保存指针地址,以便另一个指针可以继续处理它
- 局部变量保存相同的内存地址
- 保存QWidgets的地址/指针
- 将"this"地址保存到变量中
- 指针是否只保存指向其他变量的地址
- 指针变量可以保存另一个指针变量的地址吗
- 字符 * 名称 = "Duncan" 怎么可能 ;如果指针只能保存地址,是否有效?
- 保存数组地址的指针的地址是相同的