C++总结

2019-06-02  本文已影响0人  我在等你回复可你没回

结构体成员变量是什么?

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就是大端啦。
一般我们怎么表示地址呢?
一般:
低 ------------------------------------------->高

上一篇下一篇

猜你喜欢

热点阅读