结构体成员变量是什么?
struct hw_module_t HAL_MODULE_INFO_SYM = {
.tag = HARDWARE_MODULE_TAG,
.module_api_version = VIBRATOR_API_VERSION,
.hal_api_version = HARDWARE_HAL_API_VERSION,
.id = VIBRATOR_HARDWARE_MODULE_ID,
.name = "Default vibrator HAL",
.author = "The Android Open Source Project",
.methods = &vibrator_module_methods,
};
C++结构体怎么定义
struct aa {
}
或者
typedef struct aa {
} hello
这里hello就是别名。
mutex怎么使用
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_unlock
gcc编译参数
参考:
http://cppblog.com/SEMAN/archive/2005/11/30/1440.html
gcc如何生成so库文件?
linux如何打印track??
参考:https://blog.csdn.net/da_kao_la/article/details/88343534
g++如何链接程序?
按顺序链接
参考:
https://www.cnblogs.com/qrlozte/p/4137704.html
float类型怎么表示?
貌似是现把整数,小数用二进制表示,然后再转成2的幂次,然后再表示。、
参考:https://mck.baidu.com/v5062908-185371-1019069.html
再参考这个就懂了
https://wenku.baidu.com/view/20d42fd283d049649a665818.html
联合体有什么用处?
一.可以统一处理和分开处理,而不占用空间
#include <stdio.h>
typedef union
{
struct
{
unsigned char low_byte;
unsigned char mlow_byte;
unsigned char mhigh_byte;
unsigned char high_byte;
}float_byte;
unsigned int value;
}FLAOT_UNION;
int main(void) {
FLAOT_UNION fu;
fu.float_byte.low_byte = 0x12;
fu.float_byte.mlow_byte = 0x34;
fu.float_byte.mhigh_byte = 0x56;
fu.float_byte.high_byte = 0x78;
printf("%#x", fu.value);
}
例如上面,因为联合体的大小等于4,所以用value可以直接拿到4个字节,而单独取low_byte等就是拿到一个字节。
判断字节序
因为联合体是低地址对齐的,下面的代码就能判断大小端
BOOL isBigEndian()
{
union
{
int i;
char c;
}test;
test.c = 2;
return test.i != 2;
}
上面代码,低字节存了2,然后是大端,低字节存高位数,所以第四个字节是2,所以结果不是2就是大端啦。
一般我们怎么表示地址呢?
一般:
低 ------------------------------------------->高
网友评论