我一个朋友写了很多重复代码,大家帮我的朋友看看能能优化不?
c吧
全部回复
仅看楼主
level 6
2023年08月30日 11点08分 1
level 11
将参数封装到数组里面 不就行了。。。。
2023年08月31日 09点08分 2
额,这个要怎么操作啊
2023年09月10日 07点09分
level 1
把RELAY_PN压到数组就行
2023年09月02日 01点09分 3
level 11
enum枚举体配合函数
2023年09月02日 05点09分 4
咋看起来像单片机代码
2023年09月02日 05点09分
或者使用define也可以[吐舌]
2023年09月02日 05点09分
level 6
这里可使用宏定义:
#define default_beep() \
beep(1, 100, 20, 0)
#define set_relay(n, v) \
rt_pin_write(RELAY_PIN_##n, v)
#define get_relay(n) \
rt_pin_read(RELAY_PIN##n)
#define open_relay(n) \
do { \
default_beep(); \
set_relay(n, PIN_HIGH); \
} while (0)
#define close_delay(n) \
do { \
default_beep(); \
set_relay(n, PIN_LOW); \
} while (0)
#define toggle_relay(n) \
do { \
default_beep(); \
set_delay(n, !get_delay(n)); \
} while (0)
#define open_relay_1() open_relay(1)
#define open_relay_2() open_relay(2)
......
#define close_relay_1() close_relay(1)
......
#define toggle_relay_1() toggle_relay(1)
......
#define get_relay_1() get_relay(1)
......
#undef default_beep
#undef set_relay
#undef get_relay
#undef open_relay
#undef close_relay
#undef toggle_relay
2023年09月19日 17点09分 5
6,我试试,谢谢
2023年09月21日 17点09分
level 1
我是萌新,我写代码不用方法的,直接一个int main(){}就可以了.
2025年04月29日 14点04分 6
吧务
level 10
先说一下需求比较好
2025年05月20日 02点05分 7
1