草庐IT

SYSCALL_DEFINE

全部标签

c++ - #define to double - 不同的值?

这里有两种不同的方式来定义相同的值。我希望它作为64位(double)float(又名double)存在。#defineTHISVALUE-0.148759fdoublemyDouble=-0.148759;如果我执行以下操作doubletryingIt=THISVALUE;我在调试或打印期间查看该值,我可以看到它将tryingIt分配给-0.14875899255275726我知道float不是精确的,但这只是一个疯狂的差异,真的让我的数学很乱。在顶部代码块中直接分配doubleas会在调试器中为我提供-0.14875900000000000的值-正是它应该的值。有什么想法吗?

c++ - Klocwork(或其他工具)能否识别类型、typedef 和#define 指令?

我使用lookingfor工具来解决helpdetect错误,这些错误阻止程序作为64位代码正常运行。最近,我一直在玩弄Klocwork及其自定义跳棋功能,它让我可以使用XPath将源代码作为树来导航。这作为正则表达式的“更智能”替代方案很有用,但我无法让它识别类型。例如,假设我想找到使用int或long的for循环的每个实例数数。下面的代码很容易找到。for(inti=0;i搜索这段代码很简单,因为变量定义就在循环内部。但是,请考虑以下示例。inti;//...for(i=0;i这很难找到,因为变量定义与循环是分开的,而且必要的XPath表达式要么笨拙,要么容易出错。那么,自定义Kl

c++ - 将#warning 放入#define 的正文中

在应该能够在C和C++文件中编译的header中,在VisualStudio(2010)和MinGW(32位-v3.4.5、64位-v4.5.0)中,我试图最小化大小通过更改每一行(其中有很多)://forsymbolA#ifdef__GNUC__#warningSymbolAisdeprecated.UsepredefinedconstcnAinstead.#else#pragmamessage("SymbolAisdeprecated.UsepredefinedconstcnAinstead.")#endif//SameforB//SameforC//...到//definethi

c++ - 哪些用例需要 #define 而不使用标记字符串?

之前在学习C的时候遇到过#define预处理器指令,后来在看的一些代码中也遇到过。但是除了用它来确定常量的替换和定义宏之外,我还没有真正理解它在没有“主体”或标记字符串的情况下使用的特殊情况。以这一行为例:#defineOCSTR(X)就是这样!这个或更好的用途是什么,什么时候需要使用#define? 最佳答案 这用于两种情况。第一个也是最常见的涉及条件编译:#ifndefXYZ#defineXYZ//...#endif你肯定自己用过它来包含守卫,但它也可以是用于诸如系统依赖之类的事情:#ifdefWIN32//Windowsspe

c++ - C/C++ #define 宏里面的宏?

我想要这样的东西:#defineC_OR_CPP(C__,CPP__)#ifdef__cplusplus\CPP__\#else\C__\#endif这可能吗?也许一些肮脏的#includehack?原因:我制作了一个header,其中结构使用vector*类型的成员变量,但在C中我希望它只是void*,你知道的。TIA 最佳答案 有什么问题#ifdef__cplusplus#defineC_OR_CPP(C,CPP)CPP#else#defineC_OR_CPP(C,CPP)C#endif(根据phresnel注释将带有双下划线的

c++ - 库标题和#define

我不确定该搜索什么。如果这很简单,请原谅。但让我概述一下场景,看看那里有什么答案。假设我有一个定义如下结构的库:structExample{inta;#ifB_ENABLEDintb;#endif};此header作为整个库安装的一部分安装。我的问题是,如果我的库定义了B_ENABLED,它将具有包含这两个变量的结构。但是如果我的应用程序也没有定义它。然后它会将header解释为定义一个只有一个成员的结构。处理这个问题的最好方法是生成某种“选项”header,其中包含库构建中指定的所有#defines吗?我的库使用CMAKE构建。因此,针对此问题的CMAKE解决方案是extracred

c++ - 别人的库#define命名冲突

很难为这个问题想出一个合适的标题。无论如何...我目前正在研究GUI我的游戏在SDL.当出现奇怪的错误时,我已经完成了软件绘图并正准备开始其中的OpenGL部分。我包含了“SDL/SDL_opengl.h”header并进行了编译。它抛出“错误C2039:‘DrawTextW’:不是‘GameLib::FontHandler’的成员”,这是一个足够简单的错误,但我没有任何称为DrawTextW的东西,只有FontHandler::DrawText。我搜索DrawTextW并在header“WinUser.h”中的#define调用中找到它!//WinUser.h#defineDrawT

c++ - 在#define 中打印变量名

我正在尝试使用宏在调试时将显示成员值的变量名称打印到控制台(日志记录)。怎么做?我尝试了以下但它不起作用。#defineMY_PRINT(x)std::cout 最佳答案 Auch...我找到了解决方案。我应该这样写宏#defineMY_PRINT(x)std::cout 关于c++-在#define中打印变量名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7766115/

ios - UIKIT_DEFINE_AS_PROPERTIES 在哪里定义的?

我发现在系统header的很多地方都有一个UIKIT_DEFINE_AS_PROPERTIES宏,如下所示:#ifUIKIT_DEFINE_AS_PROPERTIES@property(class,nonatomic,readonly)UIDevice*currentDevice;#else+(UIDevice*)currentDevice;#endif但我找不到它的值(value)。UIKIT_DEFINE_AS_PROPERTIES的用途是什么?它在哪里定义?是为了swift吗? 最佳答案 UIKIT_DEFINE_AS_PRO

objective-c - 开发版本和 adhoc/release 之间有任何#define 或类似的区别吗?

我正在为iPhone开发一个应用程序,我希望在开发版本中有一些定义,但在临时和发布(应用程序商店)版本中有另一个值。现在我正在使用类似的东西:#ifdefDEBUG#definekRemainingTimeBeforeCancellingInBackground590#else#definekRemainingTimeBeforeCancellingInBackground60#endif但好像在adhoc版本中也定义了DEBUG。有什么想法或建议吗?我不想修改我的项目设置,因为我使用的是不是我的集成服务器。非常感谢您的帮助。 最佳答案