c-preprocessor相关内容

C ++宏带记忆

这是最初发布的答案 C ++宏记忆? 但不知何故,我不能够得到这个编译。我可能失去了一些东西。 (我有一种感觉,这是一件C ++可以做) 的main.cpp 的#include<&iostream的GT; 使用命名空间std;为const char *你好=“你好”; 为const char *世界=“世界”;VAR的#define#定义MEMORIZE世界 #包括“memorize. ..
发布时间:2016-08-12 18:34:49 C/C++开发

QT5迁移和提升:if.hpp:宏参数不匹配错误

在QT 4.8我用升压(1.52),这一切都ok了......现在,我尝试移动到QT5并获得 if.hpp:宏参数不匹配上的错误行 131 BOOST_MPL_AUX_NA_SPEC(3,如果_)。在某些 QT论坛有presented这样一个解决方案: 的#ifndef Q_MOC_RUN //所有升压包括 #ENDIF // Q_MOC_RUN 在我的每一个文件,使用升压...所以这里的问 ..
发布时间:2016-08-12 18:03:11 C/C++开发

C ++模板实例:避免长时间交换机

我有根据整数模板参数的类。在我的程序一点我想使用这个模板的一个实例,根据此参数在运行时确定的值。下面是一个简单的例子展示我怎么会去这当前,用一个大的switch语句: 的#include<串GT; #包括LT&;&iostream的GT; #包括LT&;&type_traits GT;模板<无符号A> 结构包装{ typedef的类型名称的std ::有条件< A ..
发布时间:2016-08-12 17:15:52 C/C++开发

我可以重新定义一个C ++宏然后定义回来?

我同时使用JUCE图书馆和一些在我的code升压头。 JUCE定义“T”作为宏(呻吟),和Boost经常使用“T”在它的模板定义。其结果是,如果你以某种方式包括JUCE头前的升压头中的preprocessor扩展在加速code中的JUCE宏,然后编译器得到彻底迷路了。 保持我包括以正确的顺序是不难的大部分时间,但它可能很麻烦,当你有一个JUCE类,包括一些其他类和地方了链中的一个文件包括升压,如 ..
发布时间:2016-08-12 17:01:13 C/C++开发

定义BIT0,BIT1,BIT2等没有的#define

在C ++中,它可以定义BIT0,BIT1,BIT2在C ++中另一种方式,而不使用#define? 的#define BIT0 00000001 #定义BIT1 0x00000002 #定义BIT2 0x00000004 然后我拿同样的事情,让国掉那些位:的#define MOTOR_UP BIT0 #定义MOTOR_DOWN BIT1 请注意:我使用的是32位而已,没有64位。我也用 ..
发布时间:2016-08-07 19:48:23 C/C++开发

我应该使用的#define,枚举或const?

在一个C ++项目我的工作,我有一个的标记的一种价值,可以有四个值。这四个标志可以结合起来。标志描述数据库中的记录,可以是: 新纪录 删除的记录 修改的记录 现有记录 现在,每个记录我想保留这个属性,所以我可以使用一个枚举: 枚举{xNew,xDeleted,xModified,xExisting} 然而,在code其他地方,我需要选择哪些记录是可见的用户,所以我希望能够通 ..
发布时间:2016-08-07 19:38:15 C/C++开发

初始化使用宏用C未知大小的二维数组

我工作,需要我去一个2维数组文本传递到像这样我的宏的一个小宏项目: myMacro({{0,1,2},{2,1 ,0}})。无需通过数组文本宏的大小,有没有办法把它扩展到以下内容: INT [2] [3] = {{0,1,2},{ 2,1,0}} 或等价的东西(即$ p $任何初始化pserves阵列的形状将工作)?感谢您事先的任何帮助。 解决方案 的#include<升压/ pre ..
发布时间:2016-06-01 21:02:31 其他开发

用C数组定义

我有几个元素450字符数组(存储位图数据显示在LCD屏幕上。)我想将它们放在一个头文件和的#define 他们,但我不断收到编译错误。我怎么会在这样做的 C 的#define号码[450] {0,1,等...} 的#define数字{0,1,等...} 的#define号码[450] 然后再设置编号 还有更多... 解决方案 呃......你肯定不需要使用定义。只需添加它们到页眉为 ..
发布时间:2016-06-01 20:33:20 其他开发

ç发现静态数组的大小(preventing错误)

查找一个静态数组的大小是一种常见的操作。请参阅:Ç发现静态数组大小 - 的sizeof(A)/ sizeof的((一)[0]) 这可以被包裹成一个宏,例如: 的#define ARRAY_SIZE(一)(的sizeof(A)/ sizeof的((一)[0])) 但它可能意外地传递一个普通的指针。 例如:无效FUNC(**的someArray富){INT I = ARRAY_SIZE(富); ..
发布时间:2016-06-01 19:50:29 其他开发

检测ARM NEON可用性在preprocessor?

按照 ARM ARM ,当霓虹灯SIMD指令可 __ __ ARM_NEON 定义。我遇到了麻烦GCC提供它。 氖这​​个 BananaPi专业版开发运行Debian 8.2板可供选择: $执行cat / proc内/ cpuinfo | grep的霓虹灯 特点:SWP一半拇指fastmult VFP EDSP霓虹灯VFPv3的TLS vfpv4 idiva idivt 我使用GCC 4 ..
发布时间:2016-05-29 15:02:41 其它硬件开发

为什么__ARM_FEATURE_CRC32不是由编译器定义的?

我一直对这个问题有一段时间了,我希望有人能指出我的错误。我想我再也看不到森林穿过树林。 我有一个 LeMaker HiKey 开发板我用于测试。其AArch64,所以其具有NEON和其他CPU的功能,如AES,SHA和CRC32: $执行cat / proc内/ cpuinfo 处理器:AArch64处理器转3(aarch64) ... 特点:FP asimd evtstrm AES pmu ..
发布时间:2016-05-29 14:58:41 C/C++开发

#定义与枚举解决外设

我要在基于ARM9微控制器外设寄存器进行编程。 例如,对于USART,我相关的存储器地址存储在一个枚举: 枚举USART { US_BASE =(INT)0xFFFC4000, US_BRGR = US_BASE + 0x16, // ... }; 然后,我用指针的函数来初始化寄存器:无效init_usart(无效) { vuint * pBRGR =(vu ..
发布时间:2016-05-29 14:45:02 其它硬件开发

自动插入文件名和放大器;在C程序的日志记录语句行号

我在写C程序为嵌入式ARM处理器。我希望看到在日志记录语句源文件名和行号。 由于编译code没有行号和源文件的知识,我寻找各种方法来有这个自动在编译过程中前插入/ 有没有我可以使用这个标准的任何工具或编译器功能? 我使用的GCC。 例如: 这是什么我会在源文件中写: 日志(“<##文件名和GT;<#行号#>:Hello World”的); 这是什么会真正得到编译: ..
发布时间:2016-05-29 14:37:54 其它硬件开发

#如果在Java中,类似于C preprocessors

可能重复: 在Ç,我们可以$ P $块code这样的pvent编译: 0#如果 // code在这里 #ENDIF 所以,即使code块是容易出错的code编译,我希望在Java中同样的事情,所以,我可以跳过code那部分不能编译,因为有些库失踪了。 谁能帮我? 解决方案 您必须为注释掉code ,则不能使用pre处理器指令在java中。 ..
发布时间:2015-12-05 00:17:10 Java开发