gdb调试
root@ubuntu:/media/mtk6795/alps/sunwave_pub# gcc -g test.c
root@ubuntu:/media/mtk6795/alps/sunwave_pub# gdb ./a.out
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /media/mtk6795/alps/sunwave_pub/a.out...done.
(gdb) start
Temporary breakpoint 1 at 0x40054c: file test.c, line 6.
Starting program: /media/mtk6795/alps/sunwave_pub/a.out
Temporary breakpoint 1, main () at test.c:6
6int a =257;
(gdb) n
7int a0=0,a1=0;
(gdb)
8unsigned char * pBuf = NULL ;
(gdb)
9int b=0;
(gdb)
10pBuf = (unsigned char*) malloc(72*128*sizeof(unsigned char));
(gdb)
13 pBuf[0] =(unsigned char)(a & 0xff);
(gdb)
14pBuf[1] = (unsigned char)((a & 0xff00) >> 8);
(gdb)
16 a0 = a%256;
(gdb)
17 a1 = a/256;
(gdb)
19printf("bruce int2byte ==>> pBuf[0]=%d,pBuf[1]=%dn",pBuf[0],pBuf[1]);
(gdb)
bruce int2byte ==>> pBuf[0]=1,pBuf[1]=1
20printf("bruce int2byte ==>> a0=%d,a1=%dn",a0,a1);
(gdb)
bruce int2byte ==>> a0=1,a1=1
23b =(int)(( pBuf[0] & 0xff )|((pBuf[1] & 0xff)<<8));
(gdb)
24printf("bruce byte2int ==>> b=%dn",b);
(gdb)
bruce byte2int ==>> b=257
27return 0;
(gdb)
28}
(gdb)
c语言 int与byte[]互相转换
#include
#include
#include
#include
int main(){
int a =257;
int a0=0,a1=0;
unsigned char * pBuf = NULL ;
int b=0;
pBuf = (unsigned char*) malloc(72*128*sizeof(unsigned char));
//int2byte
pBuf[0] =(unsigned char)(a & 0xff);
pBuf[1] = (unsigned char)((a & 0xff00) >> 8);
a0 = a%256;
a1 = a/256;
printf("bruce int2byte ==>> pBuf[0]=%d,pBuf[1]=%dn",pBuf[0],pBuf[1]);
printf("bruce int2byte ==>> a0=%d,a1=%dn",a0,a1);
//byte2int
b =(int)(( pBuf[0] & 0xff )|((pBuf[1] & 0xff)<<8));
printf("bruce byte2int ==>> b=%dn",b);
return 0;
}
本文通过一个具体的C语言程序实例,展示了如何将整型变量(int)转换为字节数组(byte[]),以及如何从字节数组还原回整型变量。通过对程序的逐行调试,清晰地解释了转换过程中的位运算原理。

被折叠的 条评论
为什么被折叠?



