Tag: 预处理器

Java中的#define

我开始用Java编程,我想知道是否存在与C##define等价的东西。 谷歌的一个快速search说,它没有,但任何人都可以告诉我,如果类似的东西在Java中存在? 我试图让我的代码更具可读性。 而不是myArray [0]我想能够写myArray [PROTEINS]为例。

在Java中pipe理高度重复的代码和文档

高度重复的代码通常是一件坏事,并有devise模式,可以帮助最大限度地减less这一点。 但是,由于语言本身的限制,有时候这是不可避免的。 从java.util.Arrays获取以下示例: /** * Assigns the specified long value to each element of the specified * range of the specified array of longs. The range to be filled * extends from index <tt>fromIndex</tt>, inclusive, to index * <tt>toIndex</tt>, exclusive. (If <tt>fromIndex==toIndex</tt>, the * range to be filled is empty.) * * @param a the […]

Xcode 4无法从静态库依赖关系find公共头文件

备用标题来帮助search Xcode无法find标题 在Xcode中缺less.h 找不到Xcode .h文件 词法或预处理程序问题文件未find 我正在从Xcode 3来的iOS应用程序项目。我现在已经转移到Xcode 4我的项目build立了一些静态库。 那些静态库也声明公共头,这些头被应用程序代码使用。 在Xcode 3.x中,头部被复制(作为构build阶段)到public headers directory ,然后在应用程序项目中, public headers directory被添加到headers search list 。 在Xcode 4下,构build目录被移动到~/Library/Developer/Xcode/DerivedData/my-project 。 问题是如何在标题search设置中引用这个新位置? 看起来: public headers directory是相对于DerivedData目录的,但是 headers search目录是相对于别的东西(可能是项目位置) 我应该如何在Xcode 4中为iOS开发设置一个静态库目标,以确保在试图编译为依赖时,头文件可供使用静态库的客户端使用?

Xcode / iOS:如何确定代码是否在DEBUG / RELEASE构build中运行?

我正在制作一个处理敏感信用卡数据的应用程序。 如果我的代码在debugging模式下运行,我想将这些数据logging到控制台并进行一些文件转储。 然而,在最终的appstore版本(即在release模式下运行时),所有这些都是禁用的(安全隐患)! 我会尽我所能地回答我的问题; 所以问题变成“这个解决scheme的path是正确还是最好的方法?” // add `IS_DEBUG=1` to your debug build preprocessor settings #if( IS_DEBUG ) #define MYLog(args…) NSLog(args) #else #define MYLog(args…) #endif

标准替代GCC的## __ VA_ARGS__技巧?

在C99中,可变macros的空参数有一个众所周知的 问题 。 例: #define FOO(…) printf(__VA_ARGS__) #define BAR(fmt, …) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); 上面的BAR()的使用根据C99标准确实是不正确的,因为它会扩展到: printf("this breaks!",); 注意尾随的逗号 – 不可行。 一些编译器(例如:Visual Studio 2010)将安静地摆脱尾随的逗号。 其他编译器(例如:GCC)支持在__VA_ARGS__放置## ,如下所示: #define BAR(fmt, …) printf(fmt, ##__VA_ARGS__) 但是有没有符合标准的方法来获得这种行为? 也许使用多个macros? 现在, ##版本似乎得到了很好的支持(至less在我的平台上),但是我更愿意使用符合标准的解决scheme。 先发制人:我知道我只能写一个小function。 我正在尝试使用macros来做到这一点。 编辑 :这是一个例子(虽然简单)为什么我想要使用BAR(): #define BAR(fmt, …) printf(fmt "\n", ##__VA_ARGS__) BAR("here is a log message"); BAR("here is a […]

Razor视图引擎,如何进入预处理器(#if debug)

我今天写了我的第一个razor页面,不知道如何input#if debug #else #endif 我怎样才能在剃刀中input预处理器?

#if DEBUG与条件(“DEBUG”)

哪个更好用,为什么在一个大项目上: #if DEBUG public void SetPrivateValue(int value) { … } #endif 要么 [System.Diagnostics.Conditional("DEBUG")] public void SetPrivateValue(int value) { … }

什么是你遇到过的最糟糕的现实世界的macros/预处理器的滥用?

什么是最糟糕的 现实世界的macros/预处理器滥用你曾经遇到(请不要做作的IOCCC答案*哈哈*)? 请添加一个简短的片段或故事,如果它真的很有趣。 目标是教一些东西,而不是总是告诉人们“不要使用macros”。 ps:我之前使用过macros,但是通常当我有一个“真正的”解决scheme(即使真正的解决scheme是内联的,所以它变得类似于一个macros)我最终摆脱它们。 奖金:给出一个例子,其中macros观确实比非macros观解决scheme更好。 相关问题: 什么时候C ++macros有益?

如何将枚举typesvariables转换为string?

如何使printf显示variables的枚举types的值? 例如: typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; 而我需要的是类似的东西 printenum(OS_type, "My OS is %s", myOS); 其中必须显示一个string“Linux”,而不是一个整数。 我想,首先我必须创build一个价值索引的string数组。 但是我不知道这是否是最美丽的方式。 有没有可能?