309得票17回答
如何使用预处理指令检查操作系统?

我希望我的代码能够根据编译所在的操作系统执行不同的功能。我正在寻找类似于以下代码:#ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif 有没有一种方法可以做到这一点?是否有更...

218得票7回答
在Windows和Linux上编译C++:ifdef开关

我想在Linux和Windows上运行一些C++代码。有些代码片段我只想在一个操作系统中包含而不是另一个操作系统。是否有一种可用的标准#ifdef指令可以使用? 类似于: #ifdef LINUX_KEY_WORD ... // linux code goes here. #e...

154得票16回答
确定C++中的32位还是64位

我正在寻找一种可靠的方法来确定C++代码是否在32位还是64位编译。我们想出了使用宏的合理解决方案,但我想知道是否有可能存在无法覆盖的情况或者是否有更好的方法。请注意我们正在尝试在跨平台、多编译器环境下完成这项任务。#if ((ULONG_MAX) == (UINT_MAX)) # defin...

148得票3回答
在Visual Studio中,Release模式和Debug模式有什么区别?

在使用Visual Studio构建项目时,Release模式和Debug模式有什么区别?.NET中的Debug与Release Debug/Release区别

113得票8回答
#ifdef #ifndef in Java

我怀疑是否有一种在Java中像C++中的#ifdef #ifndef一样的编译时条件的方法。 我的问题是我有一个用Java编写的算法,并且我对该算法有不同的运行时间改进。因此,我想测量每次使用改进时节省的时间量。 现在,我有一组布尔变量,在运行时用于决定应使用哪些改进和哪些不使用。但是,即...

97得票5回答
#ifdef中的布尔值: "#ifdef A && B"和"#if defined(A) && defined(B)"是否相同?

在C++中,这段代码:#ifdef A && B 与之相同:#if defined(A) && defined(B) 我一开始认为它不是不同的,但是我用我的编译器(VS2005)找不到区别。

76得票8回答
C# !条件属性?

C#是否有非Conditional (!Conditional, NotConditional, Conditional(!))属性? 我知道C#有一个Conditional 属性:[Conditional("ShowDebugString")] public static void S...

71得票3回答
为什么C#编译器会在最后一个方法调用是条件语句时移除一系列的方法调用链?

考虑以下类: public class A { public B GetB() { Console.WriteLine("GetB"); return new B(); } } public class B { [System.Dia...

67得票3回答
Xcode编译iPhone应用时设置了哪些#define?

我正在编写一些半可移植的代码,想要能够检测是否正在为iPhone编译。因此,我需要类似于#ifdef IPHONE_SDK...的东西。 大概Xcode会定义一些东西,但我在项目属性下并没有看到任何内容,而且谷歌也没有什么帮助。

58得票9回答
Java条件编译:如何防止代码块被编译?

我的项目需要用Java 1.6进行编译和运行。现在出于市场考虑,我需要让它能够与Java 1.5配合使用。我想要替换方法体(返回类型和参数保持不变)以使其能够在Java 1.5下编译通过而不出错。 详情:我有一个称为“OS”的实用类,封装了所有特定于操作系统的事物。它有一个方法。public...