在 C/C++ 预处理器中,单独一行上的单个井号/井号 (#) 的用途是什么?

2024-01-21

我一直在看Boost http://en.wikipedia.org/wiki/Boost_%28C%2B%2B_libraries%29库源代码,我注意到通常有单井号,没有附加任何预处理器指令。我通读了 GCC 预处理器手册和规范指南,但找不到任何相关内容。

(1) #ifndef BOOST_CONFIG_HPP
(2) #  include <boost/config.hpp>
(3) #endif
(4) #
(5) #if defined(BOOST_HAS_PRAGMA_ONCE)
(6) #  pragma once
(7) #endif

在第 4 行,井号后面没有任何内容。这有什么作用呢?它是在 C 预处理器 (CPP) 规范中定义的吗?

由于 Boost 是一个跨平台库,我认为任何 CPP 都应该正确解析它。在整个代码中使用随机的井号/井号会产生什么影响/副作用?


A #单独放在一条线上根本没有任何效果。我认为它是为了审美价值而使用的。

C 标准说:

6.10.7 空指令

语义学

表单的预处理指令

# new-line

没有影响。

C++ 标准也说了同样的话:

16.7 空指令 [cpp.null]

表单的预处理指令

# new-line

没有影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C/C++ 预处理器中,单独一行上的单个井号/井号 (#) 的用途是什么? 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l

随机推荐

  • .NET 生产调试

    我的 Windows 应用程序已经投入生产一段时间了 并将其设置为在抛出异常时向我们发送错误报告 其中大多数都具有相当的描述性 可以帮助我快速找到问题 我使用 MS 应用程序异常块 在某些情况下 我收到的报告是我无法重现的问题 并且似乎只发
  • 如何在各个数据点之间添加线条?

    我正在尝试在 Highcharts 中制作一个散点图 该图仅将两个单独的点相互连接 但不连接到任何其他点 显示数据点随时间的变化 Here http jsfiddle net 2MdEN 我说明我的问题 我希望点之间有一条线 20 20 a
  • 从 Android 应用程序启动 Google 地图和导航器

    我有一个 Android 应用程序 它允许用户打开谷歌地图或导航器来显示某个地址 此功能过去是有效的 但现在我收到以下错误并且应用程序崩溃 错误 AndroidRuntime 2165 android content ActivityNot
  • Windows 桌面上的 cygwin ssh 快捷方式

    我有多个需要远程访问的服务器 与 Putty 相比 我更喜欢 Cygwin 这样做 无论如何 打开我很酷的 Mintty 窗口然后输入以下命令的过程花费了太长时间 PS 我正在对这些服务器使用 密钥 身份验证 首先 我从 Windows 桌
  • 从 apache cxf REST 响应中删除空值字段

    我在用着apache cxf 2 7 11 jackson codehaus 1 9 13 spring 3 5在我的 REST 服务 Web 容器中 我想知道删除的最佳方法是什么null来自 REST 响应的值字段 例如 我的回应现在是这
  • 如何在 Dockerfile 中设置镜像名称?

    您可以在构建自定义图像时设置图像名称 如下所示 docker build t dude man v2 Will be named dude man v2 有没有办法在 Dockerfile 中定义镜像的名称 这样我就不必在docker bu
  • 子串算法

    有人可以向我解释如何迭代解决子串问题吗 The problem given two strings S S1S2S3 Sn and T T1T2T3 Tm with m is less than or equal to n determin
  • 列表中的第一项始终被选中

    我有一个项目列表 我希望能够导航到详细信息视图 但是 列表中的第一个元素始终传递给此视图 这可能是什么问题 struct ContentView View var array Object Object id init property 1
  • 排除webpack中的一些css文件

    我遇到了一个问题webpack 我的项目具有以下结构 文件夹结构 src js app js For importing app scss file vendor js For importing vendor scss file scss
  • 上下文感知合并?

    是否有任何用于编程语言的差异 合并工具 以语法感知的方式工作 如 XML Diff Tool 不仅仅是逐行比较 并且可以选择忽略空格 我感兴趣的是一个实际上遵循语言语法和定界符的程序 建议在不破坏语法正确性的情况下进行更改 或者捆绑多行分隔
  • 如何将溢出的菜单项包装到下拉列表中以创建响应式导航菜单?

    我正在制作菜单 我有一个包含许多列表项的菜单 我想要的是 当我将浏览器大小调整为小屏幕 例如笔记本电脑和平板电脑 时 我想要溢出li s折叠并显示在下拉菜单中 Actual Menu Responsive view for the same
  • 使用相同的 URL 替换弹出窗口 URL

    我需要用相同的 URL 替换 myWindow window open 弹出窗口 URL 但不知道如何操作 我相信我应该使用 setTimeout 但我不知道如何或在哪里放置它 这是我正在使用的编码
  • 如何使用react-router跳转到页面中的特定位置

    我正在尝试使用 React 和 React router 构建一个视差网站 在我发现的大多数react router示例中 目标dom节点被替换为与路由对应的Handler var routes
  • 使用 PIL 或 cv2 等模块在 python 中捕获屏幕的最有效方法是什么?因为它占用了很多内存

    使用 PIL 或 cv2 等模块在 python 中捕获屏幕的最有效方法是什么 因为它占用大量内存 我想教 AI 通过屏幕抓取和整洁的方式来玩 Chrome 的恐龙游戏 但它的速度很慢 我努力了 import numpy as np fro
  • puma gem - 无法构建 gem 本机扩展

    我在安装 puma gem 时收到以下错误 gem install puma Fetching puma 2 11 2 gem 100 Building native extensions This could take a while E
  • Keras 图像数据生成器抛出未找到文件错误?

    我无法从 keras 运行简单的数据生成器代码 import os import keras as K from keras preprocessing image import ImageDataGenerator def save im
  • 使用通配符将项目组转换为另一个项目组

    我有一个目标内定义的目录列表
  • 延长密钥库证书有效期

    有什么方法可以延长密钥库或证书的有效期吗 我已经创建了一个有效期为 10 年的密钥库 但是 由于谷歌市场的限制 我需要30年的有效期 证书有效性是证书签名的一部分 因此无法在现有证书中更改它 您唯一能做的就是颁发 获取有效期更长的新证书
  • 从 iframe 页面事件更改父级的 css

    I have homepage包含 middle overlay div 最初不可见 此外 它包含 iframe capture 页面上有单击按钮 在按钮的单击事件中我想让 middle overlay div 可见 但是从另一个页面我可以
  • 在 C/C++ 预处理器中,单独一行上的单个井号/井号 (#) 的用途是什么?

    我一直在看Boost http en wikipedia org wiki Boost 28C 2B 2B libraries 29库源代码 我注意到通常有单井号 没有附加任何预处理器指令 我通读了 GCC 预处理器手册和规范指南 但找不到