是否可以在系统库标题中添加Whitespace

Is it possible to add a whitespace to a system library header?

本文关键字:添加 Whitespace 标题 系统库 是否      更新时间:2023-10-16

我在C 11模式下汇编了一个问题,可以通过简单地将Whitespace字符添加到DBUS库的标题中来解决。

如果我这样做 - 当我想构建库(使用Whitespace'd标头)的库时,它会破坏东西吗?

特别是,dbus-protocol.h包含以下线:

#define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "<!DOCTYPE node PUBLIC ""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER""n""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"">n"

在c 11模式下成功编译的位置必须像以下方式插入:

...PUBLIC "" DBUS_INTROSPECT...

我们可以在不兼容的情况下真正更改标头文件的多少?(我知道QT ABI兼容性指南,但我认为它没有解决我的特定问题)

看起来像该标题中的错误。除非添加一些真正的病理案例,否则在其中添加空格不会引起不相容性,除了避免使用某些编译器上的错误。

我假设DBUS_ ...标识符扩展到引用划界字符串,然后应该自动与该宏的其余部分自动构造。这是一个非常安全的假设。