如何让一个.h里的变量让其他.c都能访问到
假设现在有一个tool.c,tool.h,两个文件 A.c ,B.c 欲调用tool.c里的变量
tool.h
#ifndef led_control
#define led_control
#include <stdio.h>
extern int LED_IO_MY;
extern int led_state;
void led_gpio_init();
void led_listen_task();
#endif
tool.c
#include<led_control.h>
int LED_IO_MY = 7;
int led_state = 0;
void led_gpio_init(){
int ret;
//将功能设置成GPIO
ret = hi_io_set_func(LED_IO_MY, HI_IO_FUNC_GPIO_10_GPIO);
printf("1 ret = %u\n", ret);
// sleep(1);
//控制方向设置成输出方向
ret = hi_gpio_set_dir(LED_IO_MY, HI_GPIO_DIR_OUT);
printf("2 ret = %u\n", ret);
// sleep(1);
//输出高电平
(void)hi_gpio_set_ouput_val(LED_IO_MY, HI_GPIO_VALUE1);
}
void led_listen_task(){
while(1){
if(led_state){
(void)hi_gpio_set_ouput_val(LED_IO_MY, HI_GPIO_VALUE1);
}
else{
(void)hi_gpio_set_ouput_val(LED_IO_MY, HI_GPIO_VALUE0);
}
sleep(1);
}
}
在一个tool.h里声明extern ,在tool.c里面定义.
这样其他文件就可以包含了
如果其他文件并不需要用这个变量,可以加static修饰符,这样就是仅当前文件可见此变量.