宏的##嵌套问题

2023-10-27

宏的##嵌套问题

错误demo

#define VAL 55
#define CAT_STR(A, B) A##B

int main(void)
{
	// 当宏表达式的形参给 宏 [VAL] 出现问题
	int CAT_STR(Temp, VAL); //展开得: int TempVAL; 你期望的是int Temp55;
	printf("Temp = %d", Temp);
	return 0;
}

改正demo

#define VAL 55

#define _CAT_STR(A, B) A##B

#define CAT_STR(A, B) _CAT_STR(A, B)

int main(void)
{
	int CAT_STR(Temp, VAL);
	printf("Temp = %d", Temp);
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

宏的##嵌套问题 的相关文章

  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • Angular CLI 使用教程指南参考

    Angular CLI 使用教程指南参考 Angular CLI 现在虽然可以正常使用但仍然处于测试阶段 Angular CLI 依赖 Node 4 和 NPM 3 或更高版本 安装 要安装Angular CLI你需要先安装node和npm
  • RobotStudio 建立机器人模型和虚拟示教器的使用

    本系列使用的ABB机器人仿真软件版本为RbotStudio 5 15 02 64 bit 建立一个机器人模型 1 创建新工作站 空工作站 2 ABB模型库 选择机器人模型 3 导入模型库 选择工具模型
  • angular route 知識點

    讲解 路由功能是由 routeProvider服务 和 ng view 搭配实现 ng view相当于提供了页面模板的挂载点 当切换URL进行跳转时 不同的页面模板会放在ng view所在的位置 然后通过 routeProvider 配置路
  • 解决wordpress配置固定链接出现404错误

    两种方法解决 1 选择自定义结构在想要的固定链接格式前加 index php 这样虽然到达效果但是前面会加多个index php如果想不要的话试试第二种 2 我用的是nginx 在宝塔中选网站再进入设置选择伪静态 增加 location b
  • 向HTML中插入视频有两种方法

    向HTML中插入视频有两种方法 一种是古老的object标签 一种是html5中的video标签 前者兼容性相对好些 后者兼容性让人头疼 最常用的向HTML中插入视频的方法有两种 一种是古老的标签 一种是html5中的
  • CentOS 7.4 安装配置Samba服务器

    root localhost cat etc redhat release CentOS Linux release 7 4 1708 Core root localhost yum y install samba samba client
  • element 框架小细节

    Tabs 自定义添加页 div style margin bottom 20px div
  • NodeJS 对于 Java 开发者而言是什么?

    我们都知道Node js现在得到了所有的关注 每个人都对学习Node js感兴趣 并希望可以工作于Node js 在开始工作之前了解技术背后的概念总是不会错的 但对初学者来说 可能会因为不同的人使用的不同定义而晕头转向 Node js究竟是
  • JKS to PEM

    本文转自 https blog tankywoo com 2014 12 29 jks to pem html JKS Java KeyStore 是Java的一个证书仓库 包括授权证书和公钥证书等 file tankywoo jks ta
  • 动态cg怎么提取_galgame怎么提取动态cg(千彰cg怎么拿)

    crass是一款图片提取软件 那么你下的并不是cg而是提取cg的方法 重新找别的地方下吧 这些软件 crass 0 4 13 14 Susie32 不过有些被加密的 就不能提取 想把CG和音乐都抽出来 虽然网上有CG包下载 不过还是想自己抽
  • java 按list对象多个字段排序

    Java List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用 第一节 对于引入题目的探讨 首先把引入题目表述的清楚一些 在一个List中存储的是一些对象实例 而对象实例包含多个属性字段 我
  • HTML中如何插入空格,HTML空格代码,多种HTML空格写法

    记录一下 用到的空格的转义字符 1 最常见 nbsp 的称为 不换行空格 全称 No Break Space 占1个字符宽度 nbsp 2 ensp 称为 半角空格 全称 En Space 占1个字符宽度 ensp 3 emsp 的称为 全
  • 阿里云API网关使用教程

    API 网关 API Gateway 提供高性能 高可用的 API 托管服务 帮助用户对外开放其部署在 ECS 容器服务等阿里云产品上的应用 提供完整的 API 发布 管理 维护生命周期管理 用户只需进行简单的操作 即可快速 低成本 低风险
  • MYSQL的主键和外键,内连接和外连接,关联子查询

    目录 友情提醒 第一章 MYSQL数据库多表主键和外键 1 外键介绍 FOREIGN KEY 2 外键约束作用 2 三种情况下添加外键约束 一对一关系 一对多关系 多对多关系 4 删除外键约束 第二章 MYSQL数据库表之间的连接 1 内连
  • aspnet zero Refused to apply style from '...'because its MIME type ('') is not a supported styleshee

    这是asp net zero前端css javascript无法加载造成的错误 解决方法 1 安装npm 2 安装yarn cnpm install g yarn 3 在 Web Mvc目录下 打开cmd 执行 yarn 执行完成后再运行
  • Jeesite4使用小结(技术选型)

    这段时间公司准备采用新技术来进行开速开发 自己也是接手了一个项目 目前处于一边熟悉框架 一边开发 中间也踩了很多坑 所以在这打算记录一下 希望能给后面接触这个快速开发框架的一点帮助 第一次接触这个框架 一定要先了解他这个框架的技术选型 当然
  • 06_Me and My Girlfriend:信息收集、漏洞利用、基础提权姿势总结回顾

    思路总结 总体来说 在利用nmap进行扫描以后发发现主机 正对主机ip进行端口与服务的扫描 发现网站开放的80端口 访问发现没有任何功能 尝试gobuster与工具的使用扫描目录与敏感文件 但是无可利用信息 查看网页源码发现暴出来的信息us
  • 字符游戏-智能蛇(上)

    字符游戏 智能蛇 上 上周的作业是写出字符游戏 贪吃蛇的小程序 在完成这个项目之后 我将理清思路 记录一下我的学习过程 让蛇动起来 放置奖励的食物 在蛇吃到食物时延长蛇的身体 设置游戏结束的机制 让蛇动起来 先设置一下相应的字符表示 cha
  • java爬取异步数据_Java 关于抓取异步的网页数据

    publicstaticStringgetHtmlCode Stringurl StringcharCode throwsIOException StringhtmlCode InputStreamin null HttpURLConnec
  • 宏的##嵌套问题

    宏的 嵌套问题 错误demo define VAL 55 define CAT STR A B A B int main void 当宏表达式的形参给 宏 VAL 出现问题 int CAT STR Temp VAL 展开得 int Temp