问题标签 [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.
c++ - 宏中以 # 标记开头的参数
这是半条命 2 的 Alien Swarm 模组中的一个宏,旨在使用 MSVC 编译。
我以前从未在宏中看到以 a 开头的参数#
,而且我不确定这是特定于 MSVC 的事情还是不常见。这是什么意思?
c-preprocessor - C预处理器,将宏的结果字符串化
我想对宏扩展的结果进行字符串化。
我尝试过以下方法:
并且 TESTE 扩展为:“TEST”,而我正在尝试获得“thisisatest”。我知道这是预处理器的正确行为,但任何人都可以帮助我实现另一种方法吗?
c - C 用宏解串
有没有办法取消字符串作为宏参数提供?我需要能够调用名称在字符串中的函数。像这样的东西:
我将如何实现 call_func。它将位于一个#include
d 模块中,用于调用主 c 文件中的函数。如果有另一种方法可以做到这一点,名称不必在字符串中,但可以作为参数传递给可以的函数。这就是我的意思:
c - 涉及变量的C宏令牌连接 - 可能吗?
我正在尝试定义一个宏来生成一个包含变量的令牌名称。
基本上,我正在尝试的是:
我希望在上面的语句中生成令牌 P2DIR,但是根据我的编译器输出,它正在生成令牌 PportDIR,这不是我想要的。这里有什么帮助吗?还是我试图做的事情是不可能的?
c++ - 结合字符串文字和整数常量
给定一个编译时常量整数(一个对象,而不是宏),我可以在编译时将它与字符串文字结合起来,可能与预处理器结合使用吗?
例如,我可以通过将它们彼此相邻来连接字符串文字:
伟大的!但是如果我在混合中添加整数常量怎么办:
是否可以使用预处理器以某种方式将其与字符串文字连接起来?
如果那不可能,我可以将常量字符串与字符串文字混合吗?即如果我的错误代码是字符串,而不是无符号?
如果两者都不可能,那么将这种字符串文字和数字错误代码组合在一起的最短、最干净的方法是什么?
jquery - 获取 JSTree 的 JSON 数据,以及它的元数据
我们使用 jstree 作为导航菜单编辑器,并且一直将元数据分配给树的节点,如下所示:
我可以看到该data
对象包含相关属性,但不太确定 jquery 在此之后将关联数据保存在何处。
当我们来保存数据(将其序列化为我们的服务器端语言)时,元数据似乎被忽略了......
该json
对象被检查为没有描述元数据的属性。
我们如何序列化对象及其元数据?
提前致谢,
- 格雷格。
c - 替换宏变量中的字符串?
我有一个宏,我在其中传入一个参数并使用它根据输入的名称定义一个新变量:
问题是如果我传入一个结构变量,它会中断:
变成:
编辑:我希望它评估的是:
(或任何包含类似于输入内容的有效变量名)
我真正想要的是让这些工作:
但这些失败:
有什么办法可以使这项工作?也许替换->
或__
什么?我找到了连接但不替换字符串的方法..
python - 将数据数量/容量格式化为字符串
许多程序中的一项常见任务是将字节计数(例如从驱动器容量或文件大小)转换为更易于阅读的形式。将 150000000000 字节视为“150 GB”或“139.7 GiB”更具可读性。
是否有任何库包含执行这些转换的功能?在 Python 中?在 C? 在伪代码中?是否有关于“最易读”形式的最佳实践,例如重要字符的数量、精度等?
c - 使用预处理器将代码转换为字符串
免责声明:我不是C程序员。
我最近看到一个朋友的项目。由于我不明白的原因,他在运行时编译的字符串中编写代码。这会导致类似:
使用起来很糟糕,因为 Visual Studio 不会介入并进行语法突出显示等。
使用一些预处理器滥用,有可能欺骗 Visual Studio 使其认为您正在编写真正的代码,然后让预处理器在编译器获取您的源代码之前将其转换为字符串。这有效:
问题在于它打印出来:
那么问题是运行时编译器在第 1 行显示错误。有没有办法让它包含换行符?
更新这不是我的问题。这是别人的代码,我只是对使用预处理器让他的生活更轻松的想法产生了兴趣。我不知道他为什么要这样做。
更新删除了对 CUDA 的所有提及,因为这个问题是关于预处理器的,而不是 CUDA。