易截截图软件、单文件、免安装、纯绿色、仅160KB

keil c union 存储的问题

     3: int main()
     4: {
     5:    int i = 1,j;
     6:    union test{
     7:       int m;
     8:           char str[2];
     9:    }test;
    10:    test.m = 3;
    11:    //printf("the size of int is %d",sizeof(i));
C:0x0003    750A00   MOV      0x0A,#0x00
C:0x0006    750B03   MOV      0x0B,#0x03
这是在反汇编中的一段,意在查看union中变量的存储位置
查看a【0】=0x00;
     a【1】= 0x03;
编译中,为什么高位放在a【0】中,地位放在a【1】中?
跟字节对齐有关系吗?


相关文档:

C程序编译过程

编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序--> ......

一个简单的C/S多线程应用

一个简单的C/S多线程应用,稍微扩展就可以用了
/*socket是网络应用程序的核心,在服务器端或客户端网络应用程序中,socket皆为不可缺少的要素
*在服务器常见的应用有:FTP服务器,MAIL服务器(SMTP,POP3,IMAP4协议),WEB(HTTP协议)
*建立服务器端SOCKET的应用程序步骤如下:
*1。建立服务器端的SOCKET,并且以� ......

C/C++ 文件读写操作总结(2)

五、文件定位
  和C的文件操作方式不同的是,C++ I/O系统管理两个与一个文件相联系的指针。一个是读指针,它说明输入操作在文件中的位置;另一个是写指针,它下次写操作的位置。每次执行输入或输出时,相应的指针自动变化。所以,C++的文件定位分为读位置和写位置的定位,对应的成员函数是 seekg()和 seekp(),seekg()是 ......

对C/C++可变参数表的深层探索


引言
  C/C++语言有一个不同于其它语言的特性,即其支持可变参数,典型的函数如printf、scanf等可以接受数量不定的参数。如:
printf ( "I love you" ); 
printf ( "%d", a );
printf ( "%d,%d", a, b );
  第一、二、三个printf分别接受1、2、3个参数,让我们看看printf函数的原型:
int printf ( const ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号