Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置Visual Studio以理解GCC定义?_C_Visual Studio_Visual Studio 2010 - Fatal编程技术网

如何设置Visual Studio以理解GCC定义?

如何设置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__'

我有一个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__' 

如何设置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
这样的宏而不是直接使用关键字的目的是允许宏的实际内容发生变化,而不会影响使用宏的代码。首先,我会研究修改的方法。