问题标签 [macros]

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 投票
9 回答
2271 浏览

c++ - #ifdef 在 switch 语句中的错误?

我有一些看起来像这样的代码:

SOMEMACRO 已定义,假设值为 4.. 为什么会跳过 case 4 和 5 而返回 FALSE?:(

是因为我没有默认情况,还是我不允许在 switch 语句中使用 ifdef?

0 投票
5 回答
5700 浏览

c++ - 查看编译器扩展代码 - C++

我了解到编译器会在编译时扩展宏。模板也在编译时展开。有没有办法看到这个扩展的代码?我正在使用 Visual Studio 2008 进行编译。

有什么想法吗?

0 投票
1 回答
126 浏览

visual-studio - 在 Visual Studio 2008 中构建特定解决方案后,有没有办法运行外部可执行文件?

我和这个线程中提出的问题相同,即我正在寻找一种在 Visual Studio 中构建解决方案后运行可执行文件或脚本的方法。

我尝试了使用宏捕获 OnBuildDone 事件的建议解决方案,该宏(据我了解)需要放置在宏 IDE 中 MyMacros 下的 EnvironmentEvents 部分中。这样做的问题是它使宏对我在 Visual Studio 中所做的一切都是全局的。换句话说,无论我正在构建哪种解决方案,它都会运行宏。但是,我只希望它为那个解决方案运行。

有没有办法制作一个仅针对特定解决方案捕获 OnBuildDone 事件的宏?

0 投票
1 回答
1729 浏览

ms-access - 自动运行访问宏

我有一个访问宏,我想从批处理文件中自动运行,该批处理文件将使用 Windows 计划任务进行计划。然而,目前批处理文件将不会继续,直到我在完成后关闭访问窗口。有没有办法可以默默地做到这一点?

我正在使用的线路是

0 投票
6 回答
1692 浏览

python - 解析的部分评估

我正在为 Python 开发一个宏系统(如此处所讨论的),我一直在考虑的一件事是度量单位。尽管可以在没有宏或通过静态宏(例如提前定义所有单位)的情况下实现度量单位,但我正在玩弄允许在运行时动态扩展语法的想法。

为此,我正在考虑在编译时对代码使用一种部分评估。如果对给定表达式的解析失败,由于其语法的宏不可用,编译器将停止对函数/块的评估,并生成它已经拥有的代码,其中包含未知表达式所在的存根。当此存根在运行时被命中时,该函数将针对当前宏集重新编译。如果此编译失败,将引发解析错误,因为执行无法继续。如果编译成功,新函数将替换旧函数并继续执行。

我看到的最大问题是,在受影响的代码运行之前,您无法找到解析错误。但是,这不会影响很多情况,例如 []、{}、() 和 `` 等组运算符仍然需要配对(我的标记器/列表解析器的要求),以及类和函数等顶级语法不会受到影响,因为它们的“运行时”实际上是加载时间,在那里评估语法并生成它们的对象。

除了实现困难和我上面描述的问题,这个想法还有什么问题?

0 投票
2 回答
92 浏览

visual-studio-2005 - 是否可以在 VS 2005 中修改宏的输出?

我正在使用 Visual Studio 2005 中的自定义构建规则功能,它允许使用诸如$(ConfigurationName)XML .rules 文件中的宏。

我只需要将 的子集$(ConfigurationName)作为参数传递给我的命令行工具:

如果我的目标名为DebugBuild,我希望命令以tool.exe -Debug.

有没有办法做到这一点?我想过创建一个用户定义的宏,但我不知道它们是否可以包含比纯文本更多的内容。我的想法是在我的自定义属性页面中得到这样的结果:

任何一个

或者

抱歉,如果这不是很清楚,如果需要,我可以提供更多详细信息:)

谢谢!

纪尧姆

0 投票
1 回答
677 浏览

c++ - 重新加载内联 ostringstream 宏

参考C++格式宏/内联ostringstream

问题在于允许内联对象以创建 iostream 样式的字符串的宏。

答案是:

用法(例如):

这很好用 - 使用 GCC。它也在 Visual C++ 2005 下编译和运行。但是对于后者,宏的所有使用都会导致空字符串,我对为什么以及如何修复它感到非常傻眼......?

0 投票
2 回答
8857 浏览

c++ - CUDA 编译器 (nvcc) 宏

是否有我可以使用的 CUDA 的#define 编译器 (nvcc) 宏?(如 _WIN32 用于 Windows 等。)

我需要这个用于在 nvcc 和 VC++ 编译器之间通用的头代码。我知道我可以继续定义我自己的并将其作为参数传递给 nvcc 编译器 (-D),但如果已经定义了它会很棒。

0 投票
2 回答
3404 浏览

usability - 宏的速度命名参数

我有一个带有几个参数的宏。其中一些是可选的,如果参数为空,它将替换为默认值。

现在的问题是如何让普通网页设计师尽可能容易地做到这一点。除了我的例子之外还有其他可能处理这种情况吗?

示例 1:

这里明显的问题是可选值。

示例 2:

当多次使用同一个宏并且所有变量都没有再次设置时,这里的问题可能是一个问题。

0 投票
13 回答
15946 浏览

netbeans - 您在 Netbeans 中创建了哪些有用的宏?

我使用 Netbeans (nightly build) 进行 Ruby on Rails 开发,并且希望增强我的宏。我自己创建了一些:

复制标识符:

将剪贴板粘贴到标识符上:

双引号元素

单引号元素:

但我正在寻找其他有用的,而谷歌什么也没给我。记录宏功能通常不能很好地工作,所以我宁愿自己“编写”宏,但我什至找不到列出哪些命令(如“select-identifier”)实际可用的参考。

那里有任何 Netbeans 宏专家吗?