问题标签 [stringification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
297 浏览

c++ - 宏中以 # 标记开头的参数

这是半条命 2 的 Alien Swarm 模组中的一个宏,旨在使用 MSVC 编译。

我以前从未在宏中看到以 a 开头的参数#,而且我不确定这是特定于 MSVC 的事情还是不常见。这是什么意思?

0 投票
2 回答
25940 浏览

c-preprocessor - C预处理器,将宏的结果字符串化

我想对宏扩展的结果进行字符串化。

我尝试过以下方法:

并且 TESTE 扩展为:“TEST”,而我正在尝试获得“thisisatest”。我知道这是预处理器的正确行为,但任何人都可以帮助我实现另一种方法吗?

0 投票
2 回答
1578 浏览

c - C 用宏解串

有没有办法取消字符串作为宏参数提供?我需要能够调用名称在字符串中的函数。像这样的东西:

我将如何实现 call_func。它将位于一个#included 模块中,用于调用主 c 文件中的函数。如果有另一种方法可以做到这一点,名称不必在字符串中,但可以作为参数传递给可以的函数。这就是我的意思:

0 投票
4 回答
13831 浏览

c - 涉及变量的C宏令牌连接 - 可能吗?

我正在尝试定义一个宏来生成一个包含变量的令牌名称。

基本上,我正在尝试的是:

我希望在上面的语句中生成令牌 P2DIR,但是根据我的编译器输出,它正在生成令牌 PportDIR,这不是我想要的。这里有什么帮助吗?还是我试图做的事情是不可能的?

0 投票
3 回答
1876 浏览

c - C中的令牌粘贴

在阅读了关于VA_NARG之后

我尝试使用宏根据C中的参数数量来实现函数重载。现在的问题是:

我从 C-faq中读到了这个。但仍然无法让它工作......

0 投票
2 回答
2603 浏览

c++ - 结合字符串文字和整数常量

给定一个编译时常量整数(一个对象,而不是宏),我可以在编译时将它与字符串文字结合起来,可能与预处理器结合使用吗?

例如,我可以通过将它们彼此相邻来连接字符串文字:

伟大的!但是如果我在混合中添加整数常量怎么办:

是否可以使用预处理器以某种方式将其与字符串文字连接起来?

如果那不可能,我可以将常量字符串与字符串文字混合吗?即如果我的错误代码是字符串,而不是无符号?

如果两者都不可能,那么将这种字符串文字和数字错误代码组合在一起的最短、最干净的方法是什么?

0 投票
2 回答
14227 浏览

jquery - 获取 JSTree 的 JSON 数据,以及它的元数据

我们使用 jstree 作为导航菜单编辑器,并且一直将元数据分配给树的节点,如下所示:

我可以看到该data对象包含相关属性,但不太确定 jquery 在此之后将关联数据保存在何处。

当我们来保存数据(将其序列化为我们的服务器端语言)时,元数据似乎被忽略了......

json对象被检查为没有描述元数据的属性。

我们如何序列化对象及其元数据?

提前致谢,

  • 格雷格。
0 投票
2 回答
11156 浏览

c - 替换宏变量中的字符串?

我有一个宏,我在其中传入一个参数并使用它根据输入的名称定义一个新变量:

问题是如果我传入一个结构变量,它会中断:

变成:

编辑:我希望它评估的是:

(或任何包含类似于输入内容的有效变量名)

我真正想要的是让这些工作:

但这些失败:

有什么办法可以使这项工作?也许替换->__什么?我找到了连接但不替换字符串的方法..

0 投票
3 回答
380 浏览

python - 将数据数量/容量格式化为字符串

许多程序中的一项常见任务是将字节计数(例如从驱动器容量或文件大小)转换为更易于阅读的形式。将 150000000000 字节视为“150 GB”或“139.7 GiB”更具可读性。

是否有任何库包含执行这些转换的功能?在 Python 中?在 C? 在伪代码中?是否有关于“最易读”形式的最佳实践,例如重要字符的数量、精度等?

0 投票
2 回答
477 浏览

c - 使用预处理器将代码转换为字符串

免责声明:我不是C程序员。

我最近看到一个朋友的项目。由于我不明白的原因,他在运行时编译的字符串中编写代码。这会导致类似:

使用起来很糟糕,因为 Visual Studio 不会介入并进行语法突出显示等。

使用一些预处理器滥用,有可能欺骗 Visual Studio 使其认为您正在编写真正的代码,然后让预处理器在编译器获取您的源代码之前将其转换为字符串。这有效:

问题在于它打印出来:

那么问题是运行时编译器在第 1 行显示错误。有没有办法让它包含换行符?

更新这不是我的问题。这是别人的代码,我只是对使用预处理器让他的生活更轻松的想法产生了兴趣。我不知道他为什么要这样做。

更新删除了对 CUDA 的所有提及,因为这个问题是关于预处理器的,而不是 CUDA。