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

#### 问题介绍

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

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


#### 解决方案

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