首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IddCX标头导致纯C编译的错误

IddCX标头导致纯C编译的错误
EN

Stack Overflow用户
提问于 2022-01-12 02:01:19
回答 1查看 104关注 0票数 0

我试图使用纯C的窗口驱动程序,我正在工作。它是使用IddCx的驱动程序(um/iddcx/iddcx.h)。这个标题有一个“extern " C "‘包装器,允许C编译。问题是'extern”C’块中的代码不是C。我得到这两个问题。

枚举声明如下:

代码语言:javascript
复制
enum IDDCX_MONITOR_MODE_ORIGIN : UINT
{
    IDDCX_MONITOR_MODE_ORIGIN_UNINITIALIZED = 0,
    /// <summary>
    /// Indicates that the driver added this mode from directly processing the monitor description
    /// </summary>
    IDDCX_MONITOR_MODE_ORIGIN_MONITORDESCRIPTOR = 1,
    /// <summary>
    /// Indicates that the driver did not add this mode as a direct resolution of processing the modes
    /// supported by the monitor but because of separate additional knowledge it has about the monitor
    /// </summary>
    IDDCX_MONITOR_MODE_ORIGIN_DRIVER = 2,
};

导致这样的错误(在C中,我认为您不能为Enum定义一个类型):error C2059: syntax error: ':'

和如下的函数声明:

代码语言:javascript
复制
typedef
_Function_class_(EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION)
_IRQL_requires_same_
NTSTATUS
NTAPI
EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION(
    _In_
    const IDARG_IN_PARSEMONITORDESCRIPTION* pInArgs,
    _Out_
    IDARG_OUT_PARSEMONITORDESCRIPTION* pOutArgs
    );

会导致类似这样的错误(因为结构没有给ty胡枝子,因此需要以“struct”作为前缀):error C2143: syntax error: missing ')' before '*'

error C2143: syntax error: missing '{' before '*'

error C2143: syntax error: missing ';' before '*'

warning C4218: nonstandard extension used: must specify at least a storage class or a type error C2059: syntax error: ')'

warning C4218: nonstandard extension used: must specify at least a storage class or a type

如果标题没有任何外部C包装,我将假设它只是一个Cpp API,而不是使用Cpp。但是它确实有它们,所以它应该编译得很好。或者我需要设置一些标志才能让它工作,或者这是微软的一个错误。如果他们犯了错误,请报告错误,并创建我自己的标题以供目前使用。

另外,如果微软是一个bug,我应该在哪里向它报告呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-12 14:35:39

IddCx似乎是C兼容的,但它不兼容。我已经向微软报告了这个问题。我已经创建了一个临时的自定义头文件,该文件是兼容的。它现在编译得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70675511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档