我有一个 C 头文件(.h):
typedef uint8_t paraFunction(uint8_t paraVal, uint8_t paraNum);
paraFunction *paraCallTable[256];
我有一个 C 源文件 (.c):
paraFunction *paraCallTable[] = { fn1, fn2, ... fn255, fn256 };
但是,数组最终位于数据部分。我希望它位于代码/闪存中,因为函数地址(数组数据)是常量。该数组由其他源文件中的函数使用。
我该如何重写这些声明以使其全部不变?它们需要放在哪里(.c 还是 .h)?
我在 Google 上搜索并尝试了无数种不同的方法,但显然我还是不明白。