---
title: Clang 宏问题
description: "程序代码逻辑使用了__GNUC__的宏作为判断依据，但是GCC与Clang中定义的宏内容不一致，可以使用如下命令确认Clang中宏定义的值。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_06_0050_0.html
sourcePath: /source/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_06_0050_0.html
indexId: 426ff310d5563fb298ede5e02820f6c293daf537b99bb362185841715722921c82
---
# Clang 宏问题

#### 问题介绍

程序代码逻辑使用了__GNUC__的宏作为判断依据，但是GCC与Clang中定义的宏内容不一致，可以使用如下命令确认Clang中宏定义的值。

```
clang -x c /dev/null -dM -E >clang.log;cat clang.log|grep '__GNUC__'
```


#### 解决方案

若宏内容不一致导致报错，可以在编译选项加入`-D__GNUC__=x`进行适配修改。
