app.c 有main(),Task1.c中有任务Task1() 另外还有Task1.h
我的做法是:
app.c中 声明 extern void Task1(void* p_arg); //如果写成extern static void Task1(void* p_arg); 会报错 为什么?
Task1.h中没有声明 static void Task1(void* p_arg); //如果有的话会报错
Task1.h 有 #define Pin_Led_up GPIO_Pin_0 供Task1.c使用
Task1.c中 #include "Task1.h"
请问这种写法有没有错误?新手↓
------解决方案--------------------
这个问题可以参考下Visual Stdio下的一些项目文件结构
我现在已经改成这样:
Task1.h中 声明 extern void Task1(void* p_arg); //如果写成extern static void Task1(void* p_arg); 会报错 为什么?
app.c 中 #include "Task1.h"
Task1.h 有 #define Pin_Led_up GPIO_Pin_0 供Task1.c使用
Task1.c中 #include "Task1.h"
请问这种写法有没有错误?
extern 可能会有问题,因为你这是告诉连接器Task1()在其他文件里面,但实际上还是在当前文件里
Task1.h中可以这样写
#ifndef _TASK1_H_
#define _TASK1_H_
void Task1(void* p_arg);
#endif
其他需要调用Task1()的文件里面加上 #include "task1.h" 就可以了.
app.c类似.