gny*_*his 2 c android types android-ndk
我正在努力将libbtbb交叉编译到Android,我收到大量警告说:
jni/libbtbb/bluetooth_packet.h:67: warning: integer constant is too large for 'long' type
Run Code Online (Sandbox Code Playgroud)
但是,当我深入研究文件时,这指向了这一行:
static const uint64_t sw_matrix[] = {
0xfe000002a0d1c014, 0x01000003f0b9201f, 0x008000033ae40edb, 0x004000035fca99b9,
0x002000036d5dd208, 0x00100001b6aee904, 0x00080000db577482, 0x000400006dabba41,
0x00020002f46d43f4, 0x000100017a36a1fa, 0x00008000bd1b50fd, 0x000040029c3536aa,
0x000020014e1a9b55, 0x0000100265b5d37e, 0x0000080132dae9bf, 0x000004025bd5ea0b,
0x00000203ef526bd1, 0x000001033511ab3c, 0x000000819a88d59e, 0x00000040cd446acf,
0x00000022a41aabb3, 0x0000001390b5cb0d, 0x0000000b0ae27b52, 0x0000000585713da9};
Run Code Online (Sandbox Code Playgroud)
类型是uint64_t,而不是"long"......但它似乎指的是指定常量,如0xfe000002a0d1c014.在这种情况下,我不确定应该如何指定它,或者我是否可以忽略这些警告.
将ULL后缀添加到64位整数常量中或将它们包含在详细UINT64_C宏中stdint.h.
static const uint64_t sw_matrix[] = {
0xfe000002a0d1c014ULL, /* etc. */ };
Run Code Online (Sandbox Code Playgroud)
要么
#include <stdint.h>
static const uint64_t sw_matrix[] = {
UINT64_C(0xfe000002a0d1c014), /* etc. */ };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3498 次 |
| 最近记录: |