c – 保持BOOL而不是bool
发布时间:2020-12-16 10:22:20 所属栏目:百科 来源:网络整理
导读:我知道,bool在C中使用,而BOOL是Microsoft特定类型,定义为int. 我的代码正在使用BOOL,因为它是为Windows开始的,但是当我要将它移植到Mac时,我试图保持相同的方式而不将我的代码从BOOL更改为bool. 这样的事可以吗? typedef int8_t _Bool; typedef _Bool (BOOL
我知道,bool在C中使用,而BOOL是Microsoft特定类型,定义为int.
我的代码正在使用BOOL,因为它是为Windows开始的,但是当我要将它移植到Mac时,我试图保持相同的方式而不将我的代码从BOOL更改为bool. 这样的事可以吗? typedef int8_t _Bool; typedef _Bool (BOOL); static const BOOL False = 0; static const BOOL True = 1; 如果是的话,有更好的方法和原因吗? 解决方法
由于BOOL被定义为一个int,你不知道在没有检查你移植的某些代码是否依赖于它是一个int.
因此,我会选择以下内容: #if NOT_MICROSOFT typedef int BOOL; #define TRUE 1 #define FALSE 0 #endif 如果您有机会检查您正在移植的代码是否正常工作,无论BOOL类型是真的是int还是真的bool,那么很可能您有机会将其更改为使用bool(或使用int8_t,无论如何)你比较喜欢). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |