HAL层是硬件抽象层,指的意思就是说调用该层的api是和平台无关的,在不同的平台都能调用成功。所有我们需要对不同平台的实现进行一层封装,就HAL层。以下是文件逻辑实现:
/*
HAL_logic
|__ HAL_logic.sh
|__ HAL_logic
|__ HAL_logic.vcxproj
|__ main.cpp
|__ print.h --------------------- 实现与平台无关
|__ print.cpp -----------------╯
|__ platform
|__ linux
| |__print_linux.h ------ 实现与linux平台相关
| |__print_linux.cpp ---╯
|__ windows
| __print_win.h ------ 实现与win平台相关
| __print_win.cpp ---╯
print()
|
print_linux.h
|-------->>> 合并 >>>--- print.h --->>>--- 最终只使用print.h供外部调用
print_win.h | |
| out() |
print() | |
print()-------------|
(相同功能的函