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

#### 问题介绍

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

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


#### 解决方案

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