小编Hne*_*eel的帖子

如何编写与编译器无关的通用代码?

在我的工作中,我使用适用于许多平台(Windows,嵌入式微控制器,Arduino等)的许多不同的编译器。现在,我想编写一个通用例程,该例程应适用于所有这些例程,但是我与数据类型发生冲突。它主要是低级的东西,所以我想使用'byte','word','bool'等类型。

对于某些编译器,尚未定义这些类型,但对于某些编译器,则已定义这些类型,在这种情况下,这将导致类型冲突的错误。

我了解到typedef比#define更受青睐。在这个问题中,很明显没有办法进行条件typedef。

我已经考虑过使用唯一类型,例如:

typedef unsigned char mybyte
typedef unsigned short int myword
etc...
Run Code Online (Sandbox Code Playgroud)

但这会使我的源代码看起来非常丑陋,恕我直言。

c c++

1
推荐指数
1
解决办法
123
查看次数

标签 统计

c ×1

c++ ×1