问题标签 [c-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.
c - C#define 宏
这就是我所拥有的,我想知道它是如何工作的以及它实际上做了什么。
它产生两个整数:26 和 30。
它是如何做到的?
c# - 使用 MSBuild 从命令行定义预处理器值
我需要创建一个包含多个项目的现有大型应用程序的演示版本。我想使用现有的项目,并通过预处理器指令中性化功能
我们正在使用 MSBuild 构建我们的应用程序,理想情况下我会使用以下内容:
是否存在这样的功能?
c++ - CUDA 编译器 (nvcc) 宏
是否有我可以使用的 CUDA 的#define 编译器 (nvcc) 宏?(如 _WIN32 用于 Windows 等。)
我需要这个用于在 nvcc 和 VC++ 编译器之间通用的头代码。我知道我可以继续定义我自己的并将其作为参数传递给 nvcc 编译器 (-D),但如果已经定义了它会很棒。
c++ - “#define new DEBUG_NEW”和“#undef THIS_FILE”等真的有必要吗?
当您创建新的 MFC 应用程序时,向导会在几乎每个 CPP 文件中创建以下代码块:
有时它还会添加以下内容:
如果它是多余的,我想从我的 CPP 文件中删除此代码。我在 VS2008 上使用带有 C++/CLI 的 MFC 应用程序。
从 CPP 中删除此代码后,我尝试在 Debug 中运行,它似乎工作正常。“新”变量工作正常,没有泄漏,并且 ASSERT 对话框显示正确的文件名并跳转到有问题的行。
谁能告诉我它的作用以及删除它是否安全?
c# - 编译时的目标平台/处理器
C# 中是否有 #define 可以让我在编译时知道我是针对 x86 (Win32) 还是 x64 (Win64) 进行编译?
c - 使用#defines 自动替换变量
我有一个文件,其中包含大约 100 个#define,从 1 到 100,每个都有一个唯一的字符串值。
现在我正在尝试打印此值,但我想打印#define 是什么而不是该值。例如:
我希望 printf 打印 FIRST_VALUE,而不是 1。
有没有办法在C中做到这一点?还是我必须在 switch 语句中写出 100 多个 case 块?
c++ - 哪个版本的 safe_delete 更好?
或者
或任何其他更好的方式
c++ - 使用 #ifdefs 和 #define 可选择将函数调用转换为注释
有没有可能做这样的事情
这个想法是,如果 SOMETHING 被定义,那么对 foo(...) 的调用将成为注释(或不会被评估或编译的东西),否则它会成为对 MyFunction 的调用。
我见过 __noop 使用过,但我不相信我可以使用它。
编辑:
我不认为我可以在这里真正使用宏,因为 MyFunction 接受可变数量的参数。
另外,我想让它不评估参数!(因此,像注释掉 MyFunction 的主体之类的事情并不能真正给我我需要的东西,因为仍然会评估参数)
c++ - C++ 预处理器意外编译错误
请看以下文件:(它是一个完整的文件)
我收到以下错误;我不知道为什么。我也手动计算了预处理器指令。
AlgorithmLibraryWrapper.hpp:10:1: 未终止#ifdef
AlgorithmLibraryWrapper.hpp:7:1: 未终止#ifndef
我正在使用糟糕的 vxWorks gcc 编译器。请让我知道是我的错还是编译器的错。
objective-c - Objective-C 使用#import 和继承
我有一个名为“foo”的假设 UIViewController 类。foo 继承自 class bar 和 class bar #import 的“Class A”,这是 foo 广泛使用的一个类。问题是,当我在 foo 中使用类 A 的实例时,我没有收到任何编译器错误,但我确实收到了警告,例如,类 A 的实例不响应特定方法。我是否必须将#import ClassA.h 显式地添加到“foo”类中?即使类 foo 扩展了扩展栏,它已经导入了它?
希望这不会太令人困惑。让我知道是否需要清理任何东西。