问题标签 [preprocessor]
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.
asp.net - ASPX/ASCX 页面中的“#if DEBUG”
我希望能够根据我在 VS2005 IDE 中选择的模式(调试或发布)指向 2 个程序集之一。像这样的东西(不起作用):
所以,我的问题是:如何在 ASPX 或 ASCX 页面中正确使用#if DEBUG?
visual-studio - WINVER或WIN32_WINNT如何影响操作系统版本,如dumpbin所示
我们有一个现有的(旧)代码行,我们最近从 VC6 转换为 VS2008(沿途转换为 VS2005)。转换后,所有(或大部分)vcproj 文件通过预处理器设置将 WINVER 设置为 0x0500。在我们的很多预编译头文件(通常是 stdafx.h)中,WINVER 设置为 0x0500(有些仍然设置为 0x0400)。如果我在我们的主 exe 上使用 dumpbin /headers,它显示操作系统版本是 5.0 (Windows 2000)。
在更改 vcproj 预处理器设置以使 WINVER 和 WIN32_WINNT 为 0x0501 并在 stdafx.h 文件中进行类似更改并重新构建后,dumpbin 仍然显示操作系统版本为 5.0。
我还使用 VS2008 创建了一个全新的控制台应用程序(以及一个全新的 MFC 应用程序)并构建了它们。即使通过 targetver.h 文件设置的 WINVER(和 WIN32_WINNT)为 0x0600,这些 exe 也显示操作系统版本为 5.0。
我猜想将 WINVER 和/或 WIN32_WINNT 设置为 0x0501 或 0x0600 会对 dumpbin 显示的操作系统版本产生一些影响。我是对的,我应该期望 dumpbin 显示对应于 WINVER 和/或 WIN32_WINNT 的操作系统版本吗?
我已经阅读了一些关于这方面的好文章(msdn 上的“使用 Windows 标头”,The Old New Thing 上的“WINVER 之间有什么区别...”,以及这个特别有趣的文章:http: //blogs.msdn.com /dsvc/archive/2009/06/19/troubleshooting-not-a-valid-win32-application-error-at-the-startup.aspx
虽然操作系统版本字段中出现的确切版本可能不是一个大问题,但我们希望了解行为并能够做“正确”的事情以确保我们正确使用这些宏和设置。
谢谢你的帮助
java - 在 Annotation Processor for java 中发现方法调用的类
我正在为我们的构建系统编写一些工具,以对属于包含某些注释的类的方法强制执行一些严格的调用约定。
我正在使用编译器树 API ...
我想知道的是,在遍历“树”时,如何判断 MethodInvocation 的类/接口的类型。
我将 TreePathScanner 子类化为:
我希望有一种方法可以告诉您尝试调用该方法的类(或接口)的类型。我会以错误的方式解决这个问题吗?感谢您的任何想法...
asp-classic - VBScript/Classic ASP 中的任何其他预处理器指令?
我在 VBScript/Classic ASP 中知道的唯一预处理指令是#include。我不知道这是否是正式名称,但我基本上是在寻找可以在通用 VBScript之前执行代码或其他指令的代码。
VBScript 中是否还有其他此类指令?比如#If之类的?
我希望能够有条件地包含或排除某个包含文件。
iphone - 内置预处理器令牌来检测 iPhone 平台
是否有一个预处理器令牌可用于在构建时检测任何 iPhone 设备或模拟器?我目前正在使用:
这是推荐的方法还是有更好的方法?我更喜欢内置宏,即由编译器定义,而不是由我必须包含的 SDK 头文件定义。
我现在不关心区分 iPhone OS 版本,但是如果有一个 Apple 文档页面详细说明了所有相关宏以及它们何时定义和未定义,那么我会很感激一个指向它的链接,因为我的搜索已经到来到目前为止还不够。
谢谢!
c++ - 通过 perl 脚本过滤 C++?
我有一个 perl 脚本,我想在 gcc 正常处理它们之前过滤我的 cpp/h 文件——基本上作为一个额外的预处理步骤。是否有捷径可寻?我意识到我可以将 cpp 文件提供给脚本并让 gcc 从标准输入读取输出,但这对头文件没有帮助。
visual-studio - VS2008:如何使 stdafx.h 中定义的符号对资源编译器可见?
我正在 VS2008 下开发一个 VC++ 项目。我的资源文件包含一些用于条件编译的预处理器指令。控制条件编译的一些符号在stdafx.h
. 我也需要这些符号对资源编译器可见。我该如何做到这一点?
c# - 为什么预处理器的使用在 C/C++/ObjC 以外的语言中不太常见?
我从事 Java 和 VB.Net 程序员大约 4 年,从事 C# 程序员大约 6 个月。我还使用了许多动态语言,例如 Perl、Python、PHP 和 JavaScript。
我从来不需要预处理器。
我的问题是:为什么您会在 C、C++ 和 Objective-C 中看到如此广泛的预处理器使用,但很少(或从未)在 Java、C# 或 Scala 等语言中看到它?
sql - [My]SQL 是否有类似预处理器的功能?
我正在为我的第一个数据库驱动应用程序编写一个小型部署 SQL 脚本。
在这个过程中,我发现我经常重复自己,例如:
如果我可以使用变量或宏来替换经常出现的数据,那就太棒了。是否可以实现类似以下代码段的内容?
ant - 从同一代码库编译 J2ME 和 J2SE 应用程序的最佳方法是什么?
我正在尝试为 J2ME 和 J2SE 构建一个应用程序。演示代码显然会有所不同,但我希望尽可能保持逻辑通用。
我的计划是使用 Ant 或 Antenna 的预处理器来选择 J2ME 或 J2SE 图形对象,该类是我的逻辑和显示代码之间的唯一交集。我所需要的只是在我的 Ant/Antenna 构建任务期间在几个文件中交换一两行导入。
我想要一些关于如何设置的建议。
我目前有两个 Eclipse 项目,一个 J2ME 和一个 J2SE。对于如何设置预处理器,我有几个想法:
将 J2SE 代码设为默认值,并且仅预处理 J2SE 代码以交换 J2SE 特定的导入
对 J2ME 和 J2SE 项目使用 Antenna 预处理器
使用 Ant 文本替换来进行必要的源代码修改
一世。看起来很难正确设置
ii。感觉有点笨拙
iii. 似乎最不坏,因为我认为自己不需要使用比几个条件导入更多的东西。
有没有人有过这种事情的经验?一些建议将不胜感激。