如何设置Visual Studio以理解GCC定义?
我有一个C语言的项目,在头文件中定义了以下代码如何设置Visual Studio以理解GCC定义?,c,visual-studio,visual-studio-2010,C,Visual Studio,Visual Studio 2010,我有一个C语言的项目,在头文件中定义了以下代码 /*_INLINE_ define for abstraction of the keyword inline*/ #define INLINE __inline__ 我已经用GCC为Tricore微控制器编译了这个项目,现在我必须用Visual Studio 2010为模拟编译同一个项目 但是Visual Studio编译器显示以下错误: error C2054: expected '(' to follow '__inline__'
/*_INLINE_ define for abstraction of the keyword inline*/
#define INLINE __inline__
我已经用GCC为Tricore微控制器编译了这个项目,现在我必须用Visual Studio 2010为模拟编译同一个项目
但是Visual Studio编译器显示以下错误:
error C2054: expected '(' to follow '__inline__'
如何设置Visual Studio以理解此定义?
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>是一个宏,而不是一个宏。您需要做的是找出该关键字的MSVC等价项,并根据运行的编译器更改宏内联
的内容
似乎表明关键字的MSVC格式副本是\uu inline
。因此,您应该修改标题,如下所示:
#ifdef __GNUC__
#define INLINE __inline__
#elif defined _MSC_VER
#define INLINE __inline
#else
// Some kind of default, or error out
#endif
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。您需要做的是找出该关键字的MSVC等价项,并根据运行的编译器更改宏内联
的内容
似乎表明关键字的MSVC格式副本是\uu inline
。因此,您应该修改标题,如下所示:
#ifdef __GNUC__
#define INLINE __inline__
#elif defined _MSC_VER
#define INLINE __inline
#else
// Some kind of default, or error out
#endif
非常感谢您的回复,C代码是自动生成的,最好有一个像编译器标志这样的解决方案。@poprock使用像INLINE
这样的宏而不是直接使用关键字的唯一(或至少主要)目的是允许宏的实际内容发生变化而不影响使用它的代码。首先,我会研究修改的方法。非常感谢您的回复,C代码是自动生成的,最好有一个类似编译器标志的解决方案。@poprock the sole(或至少是main)使用像INLINE
这样的宏而不是直接使用关键字的目的是允许宏的实际内容发生变化,而不会影响使用宏的代码。首先,我会研究修改的方法。