1.3、递归 函数直接或间接的调用自己叫递归。...a = 10; printf("修改前,a的值:%d\n", a); // 指针变量p指向变量a char *p = &a; // 通过指针变量p间接修改变量a的值 *p = 9; printf...byte; /* Unsigned 8 bit value type. */ typedef unsigned short word; /* Unsinged...unsigned char uint1; /* Unsigned 8 bit value type. */ typedef unsigned short uint2;...与标准c++不一致的编译器将使用具有5位或更少的数值。
重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。...32 bit value */ 3typedef unsigned short uint16; /* Unsigned 16 bit value */ 4typedef unsigned char uint8...short int16; /* Signed 16 bit value */ 7typedef signed char int8; /* Signed 8 bit value */ 下面的不建议使用...1typedef unsigned char byte; /* Unsigned 8 bit value type. */ 2typedef unsigned short word; /* Unsinged...char uint1; /* Unsigned 8 bit value type. */ 5typedef unsigned short uint2; /* Unsigned 16 bit value
(unsigned char): %d/n", sizeof(unsigned char)); printf("sizeof(short): %d/n", sizeof(short));...printf("sizeof(signed short): %d/n", sizeof(signed short)); printf("sizeof(unsigned short): %d/n"...): 1 sizeof(signed char): 1 sizeof(unsigned char): 1 sizeof(short): 2 sizeof(signed short): 2 sizeof(...COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。.../* Unsigned 8 bit value type. */ typedef unsigned short word; /* Unsinged 16 bit value type
1、防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2、重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异...; /* Unsigned 32 bit value */ typedef unsigned short uint16; /* Unsigned 16 bit value...char byte; /* Unsigned 8 bit value type. */ typedef unsigned short word; /.... */ typedef unsigned char uint1; /* Unsigned 8 bit value type. */ typedef unsigned short...((c) - 0x20) : (c) ) 13、判断字符是不是10进值的数字 #define DECCHK( c ) ((c) >= '0' && (c) <= '9') 14、判断字符是不是16
typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned...AF_INET,表示该socket在Internet域中进行通信,该地址结构随选择的协议的不同而变化,因此一般情况下另一个与该地址结构大小相同的sockaddr_in结构更为常用,sockaddr_in...◆ 将常用的用点分开的IP地址转换为unsigned long类型的IP地址的函数: unsigned long inet_addr(const char FAR * cp ) 用法: unsigned...定义如下: typedef struct WSAData { WORD wVersion; WORD wHighVersion; char szDescription[WSADESCRIPTION_LEN...+1]; char szSystemStatus[WSASYS_STATUS_LEN+1]; unsigned short iMaxSockets; unsigned short iMaxUdpDg;
MLX90640 红外热成像仪测温模块开发笔记(二)API 移植-I2C 和关键接口函数 图片API 说明文件里面有官方的移植指导,但我觉得可以把重点放在与 MLX90640 具体操作有关的几个函数上,..., unsigned short nWordsRead, unsigned short *datas)unsigned char MLX90640_I2CWrite (unsigned short writeAddress..., unsigned short word)void MLX90640_I2CInit(void){IIC_Stop();}//从指定地址读取 n 个字(每个字占用 2 个字节)unsigned char...char c1,c2; unsigned short i; unsigned char Msb,Lsb;Msb=(unsigned char)(startAddress>>8); Lsb=(unsigned...char MLX90640_I2CWrite(unsigned int writeAddress, unsigned int word){IIC_Start(); //发送起始命令IIC_SendData
char data[8192];//UDP数据部分 }dosseg; //计算校验和 static unsigned short DoS_cksum(unsigned short *data,int...length){ register int left=length; register unsigned short*word=data; register int sum=0; unsigned...short ret=0; //计算偶数字节 while(left>1){ sum+=*word++; left-=2; } if(left==1){ *(unsigned char*)(&ret...; } static inline long myrandom(int begin,int end){//根据不同的种子,随机出不同的数 int gap=end-begin+1; int ret=0;...//系统时间初始化 srand((unsigned)time(0)); ret=random()%gap+begin;//介于begin与end之间的值 return ret; } static void
; unsigned short totla_length; unsigned short identification; unsigned short flags_offset; char...time_to_live; char Protocol; unsigned short check_sum; unsigned int SrcAddr; unsigned int DstAddr...; // +14 跳过数据链路层 +20 跳过IP层 tcp_protocol = (struct tcp_header *)(packetData + 14 + 20); u_short sport...struct ArpHeader { unsigned short hdType; // 硬件类型 unsigned short proType; // 协议类型 unsigned char...hdSize; // 硬件地址长度 unsigned char proSize; // 协议地址长度 unsigned short op; // 操作类型,ARP请求(
#### 而myvirfunc1 myvirfunc2函数真正的地址为 现在00FB1084与00FB1088代码组合 是不是和地址795E7980代码很相似 ·vcall 的作用 调整这个指针到真正的虚函数中...=lstrlenA函数的返回值, 后比较的后的跳转指令是jnb 说明var_10是无符号的 代码为 GetDlgItemTextA(1000, String, 10); unsigned int...MessageBoxA@CWnd@@QAEHPBD0I@Z ; CWnd::MessageBoxA(char .text:00401583 jmp short...MessageBoxA@CWnd@@QAEHPBD0I@Z ; CWnd::MessageBoxA(char .text:004015AB jmp short..., "CrackMe", 0x40u); CHAR String2[10]=""; unsigned int var_10; CHAR String[10]={
API 说明文件里面有官方的移植指导,但我觉得可以把重点放在与 MLX90640 具体操作有关的几个函数上,而与标准 I2C 相关的函数和文件结构还是按照自己习惯的套路实现。...char MLX90640_I2CRead (unsigned short startAddress, unsigned short nWordsRead, unsigned short *datas...)unsigned char MLX90640_I2CWrite (unsigned short writeAddress, unsigned short word)void MLX90640_I2CInit...(void){IIC_Stop();}//从指定地址读取 n 个字(每个字占用 2 个字节)unsigned char MLX90640_I2CRead(unsigned short startAddress..., unsigned short nWordsRead, unsigned short *datas){unsigned char c1,c2; unsigned short i; unsigned char
转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/50981922 ---- C++与C#数据类型总结 作用 C++...SHORT(short) System.Int16 WORD(unsigned short) System.UInt16 INT(int) System.Int16 INT(int) System.Int32...)] Intptr unsigned char & ref byte unsigned char 变量名 byte 变量名 unsigned short 变量名 ushort 变量名 unsigned...BYTE System.Byte unsigned short, UINT16, USHORT, WORD, ATOM, WCHAR , __wchar_t System.UInt16 unsigned...* 的操作c++: char* 对应 c#: StringBuilder c#中使用指针:在需要使用指针的地方 加 unsafe unsigned char对应public byte typedef
P1_0 = P1^0; data 内部数据存储器 unsigned char data myDataVar; idata 内部间接数据存储器 unsigned char idata myIDataVar...; pdata 页间接数据存储器 unsigned char pdata myPDataVar; xdata 外部数据存储器 unsigned char xdata myXDataVar; code 程序存储器...示例: unsigned char data myDataVar; idata 用于将变量存储在内部间接数据存储器中。...示例: unsigned char idata myIDataVar; pdata 用于将变量存储在页间接数据存储器中。...示例: typedef unsigned int uint; union 用于定义联合体,可以在同一内存空间中存储不同类型的数据。
(x) : (y)) 得到结构体成员的偏移 #define FPOS(type, field) ((unsigned long)&((type *)0)->field) 拼接字节为字 #define...MAKEWORD(h, l) (((h)<<8) | (l)) #define MAKEDWORD(h, l) (((h)<<16) | (l)) 获得高、地位字节或者字 #define WORD_LO...(w) ((unsigned char)((w) & 0xFF)) #define WORD_HI(w) ((unsigned char)((w) >> 8)) #define DWORD_LO(dw...) ((unsigned short)((dw) & 0xFFFF)) #define DWORD_HI(dw) ((unsigned short)((dw) >> 16)) 将一个字母转换为大写 #define...((c) – 0x20) : (c)) 判断字符是不是10进值的数字 #define DECCHK(c) ((c) >= '0' && (c) <= '9') 判断字符是不是16进值的数字 #define
BYTE* MemoryData;//每次将读取的内存读入这里 short Next[260]; //特征码转字节集 WORD GetTzmArray(char* Tzm, WORD* TzmArray...sum; } else { TzmArray[len++] = 256; } } return TzmLength; } //获取Next数组 void GetNext(short...* next, WORD* Tzm, WORD TzmLength) { //特征码(字节集)的每个字节的范围在0-255(0-FF)之间,256用来表示问号,到260是为了防止越界 for (int...* Tzm, WORD TzmLength, unsigned __int64 StartAddress, unsigned long size, vectorunsigned __int64>& ResultArray...>& ResultArray) { int i = 0; unsigned long BlockSize; MEMORY_BASIC_INFORMATION mbi; WORD TzmLength
开发板引出了SPI的IO口,这里使用的W25Q64是外置的模块,使用杜邦线与开发板的IO口连接。..._PageWrite(unsigned int addr,void*p,unsigned int len) { unsigned short i; unsigned char *buff=p;...char *buff=p; unsigned short page_remain=256-addr%256; //当前地址开始一页剩下的空间 unsigned short remain_len;..._PageWrite(unsigned int addr,void*p,unsigned int len) { unsigned short i; unsigned char *buff=p;...int addr,void *p,unsigned int len) { unsigned char *buff=p; unsigned short page_remain=256-addr%256
常量、计算机里面的进制、原码反码补码、int类型、整数的溢出、大端对齐与小端对齐、char类型(字符类型)、 浮点类型float \ double \ long double、类型限定、字符串格式化输出与输入...20 表示10进制的20 020 表示8 进制的20 0x20 表示16进制的20 ----------------------------------------------...(大小是稳定的) unsigned short int 无符号的短整数类型(大小为2个BYTE(字节)) unsigned long int 无符号的长整数类型(大小是不稳定的)...%hu unsigned short int 输出无符号的短整数 %o unsigned int 输出无符号的8进制整数 %u unsigned...不同厂家的编译器会有不同的结果: 在gcc的编译下: int a = 3; int b = ++a + a++; //输出的是:5,9 int b = a++ + ++a; //输出的是
unsigned short length; unsigned short Maximumlength; wchar_t* Buffer; }UNICODE_STRING,*PUNICODE_STRING...ULONG SizeOfImage; UNICODE_STRING FullDllName; UNICODE_STRING BaseDllName; ULONG Flags; WORD...LoadCount; WORD TlsIndex; } LDR_DATA_TABLE_ENTRY, * PLDR_DATA_TABLE_ENTRY; DWORD _ROR32(unsigned...int LowByte = (Value << 24) & 0xFF000000; unsigned int HighByte = (Value >> (shift)); unsigned...= TEXT('\0')) { HashValue = ((*Names | 0x20) + _ROR32(HashValue, 8)) ^ 0x7c35d9a3;
而宏调用中的实参有具体的值,要用它们去代换形参,因此必须作类型说明,这点与函数不同。函数中形参和实参是两个不同的量,各有自己的作用域,调用时要把实参值赋予形参,进行“值传递”。...得到一个字(word)的高位和低位字节: #define WORD_LO(x) ((char)((short)(x)&0xFF)) #define WORD_HI(x) ((char...例如,typedef char NAME[20]表示NAME是字符数组类型,数组长度为20。...然后可用NAME 说明变量,如NAME a1,a2,s1,s2完全等效于:char a1[20],a2[20],s1[20],s2[20]。.../* Unsigned 8 bit value type. */ typedef unsigned short word; /* Unsinged 16 bit value type
使用案例 4.1 使用libjpg库编码-RGB数据保存为jpg图片 下面这个是利用libjpeg封装的一个方便函数,用于将传入的rgb数据压缩编码成jpg文件保存,一般用与屏幕截屏、相机拍照等地方。...<<2))<<8))|(((DWORD)(BYTE)(((rgb565)&0x001F)<<3))<<16))) unsigned short rgb888_to_rgb555(unsigned char...red,unsigned char green,unsigned char blue); unsigned short rgb888_to_rgb565(unsigned char red,unsigned...fix;//定义固定参数结构体来接收驱动传过来的固定参 //显示JPEG int show_jpeg(unsigned char *file) { struct jpeg_decompress_struct...*/ unsigned char * fmem(unsigned char *fbname) { int fb; unsigned char *mem; fb = open(fbname,2);
API数据类型对应关系表 API数据类型 类型描述 C#类型 API数据类型 类型描述 C#类型 WORD 16位无符号整数 ushort CHAR 字符 char LONG 32位无符号整数 int...HGDIOBJ GDI对象句柄 int UINT 32位无符号整数 uint HINSTANCE 实例句柄 int BOOL 32位布尔型整数 bool HWM 窗口句柄 int LPSTR 指向字符的32...* string/IntPtr unsigned char* [MarshalAs(UnmanagedType.LPArray)]byte[]/?...位 BYTE unsigned char System.Byte 8 位 SHORT short System.Int16 16 位 WORD unsigned short System.UInt16...long System.Int32 32 位 DWORD unsigned long System.UInt32 32 位 ULONG unsigned long System.UInt32 32 位