问题标签 [preprocessor-directive]
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++ - C ++禁用链式调用而不包含指令
我正在为我的项目开发一个简单的记录器包装器,它可以让我轻松换出后端。
这是我理想的界面:
我实现它的方式是:
log::error#operator<<
返回一个临时Sink
对象。Sink#operator<<
返回*this
并定义一个移动构造函数。完整的消息可以在
Sink
调用链末尾调用的析构函数中使用。
人为的实现:
这很好用,除非我需要一种干净的方式来禁用日志记录。如果我没有使用链接,我的日志函数可以使用预处理器指令来删除函数的内容
然后编译器将优化并删除空函数调用。但我不知道如何使用我试图实现的 api 来做到这一点。我知道这是可能的,因为glog以某种方式做到了。
使用这样的指令违背了拥有一个好的 api 的目的。
禁用这些类型的链接调用的干净方法是什么?任何帮助表示赞赏。
objective-c - 预处理器指令问题
我正在尝试在我的 ios 应用程序中包含 Google+ api 和foursquare api。编译时显示词法或预处理器问题,因为两者都在使用#define DEBUG
编译时冲突的语句。
c++ - 关于 C 和 C++ 之间公共标头的预处理器保护
我对 C 和 C++ 中的预处理器指令有疑问。
我有以下代码:
我知道 c++ 编译器预定义了 __cplusplus 将 c 编译器没有。
而我把这组代码放到了ac头文件中,c++文件中就会包含这个c头文件。我的问题是:如果文件是由c++编译器编译的,它会编译A部分,如果它是由ac编译器编译的,它会编译B部分,但通常,我们使用这段代码来制作c++文件和c文件相互交互,如果我们上面有这样的代码,我的意思是我们同时拥有C和C++文件,并且我们使用gcc编译器,这段代码是如何编译的?只有A部分被编译?还是只编译 B 部分?还是代码分为两部分,A部分为C++编译,B部分同时为C文件编译?
c++ - 我可以使用预处理器功能创建其他#define 吗?
我知道在问这个之后我会受到惩罚,但我仍然想做这样的事情:
那就是我想要一个动态定义其他“#defines”的“#define”函数。
我有一个无法重构的 IDE,此外,我想让构造函数,尤其是复制构造函数,因其特殊的作用而脱颖而出。
因此,我的目标是像这样编写我的 c++ 类定义:
为此,目前我需要复制并粘贴三个#define 行。我宁愿自动做这些。有没有办法使用预处理器来解决这个问题?
c - C程序查找ac文件的函数名
我正在用 C(Linux 操作系统)编程。我必须读取一个文件,检查该文件中的函数并打印相应的函数名称。到目前为止,我已经编程使用'{'的深度计算来识别函数。我知道__FUNCTION__
预处理器指令用于打印当前文件的函数名。同样,是否有任何预处理器指令用于查找我们读取的文件的函数名称?我不关心任何特定的工具。我想让它编程。请指导我。提前致谢。
我试图实现这段代码。这个函数将行(在'{'之前)作为参数。
我不知道这段代码是否正确。我要这样使用吗?有没有找到函数名的选项?
c# - VS2010 发布预处理指令
使用 ClickOnce 发布项目时,在构建项目时是否有可用的预处理器指令?如果没有,是否有可以提供此功能的构建脚本或宏?
例子:#if PUBLISHING ... #endif
c# - #if 预处理器指令,用于除 DEBUG 之外的指令
我知道我可以通过执行以下操作使用预处理器指令来检查 Debug/Release:
但是如何检查其他配置,例如测试。在 VB 中,您可以这样做:
所以,我的问题是在 C# 中,如何检查测试模式?如果我在调试和测试中,但不是在发布模式下,我有一些想要执行的代码,所以具体来说,我需要一种方法来检查是否不在发布模式下。在VB中我会这样做:
c++ - C++ 按条款包含文件
假设我在 VC++ 环境中有一个程序。该程序需要修改自身才能将某些代码用于不同的操作系统。
例如,假设程序将修改代码为 do和 forA
它将修改代码为 do 。位于文件上的操作代码和位于文件上的操作代码。Windows XP
Windows 7
B
A
"a.h"
B
"b.h"
假设我有一个功能,其目的是检测操作系统。如果我希望通过检测操作系统仅加载其中一个文件,如何通过激活功能等术语包含文件?
c - 如何从 ctypes 传递预处理器指令?
我有一些包含在预处理器指令中的 C 代码:
我需要do stuff
通过 ctypes 从 Python 执行 - 有什么方法可以定义TEST
吗?
c++ - C ++中的宏指令和预处理器指令有什么区别
可能重复:
宏和预处理器之间的区别
我对 C++ 中的宏指令和预处理器指令有疑问,它们之间有什么区别?似乎它们或多或少相同?我试着在网上查了下,还是看不懂,谁能帮忙?