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

ANSI C读书笔记系列之字符集篇 第四章 字节序

"endian"这个词出自<<格列佛游记>>,小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开.我们一般将endian翻译成"字节序",将big endian和little endian称作"大端"和"小端".
在计算机科学领域中,字节序是指存放多字节数据的字节的顺序,典型的情况是整数在内存中的存放方式和网络传输的传输顺序.既然我们在本篇介绍字节序,那所说的重点则其一是字符(多字节)在内存中的字节存放顺序(这与前面的典型情况是同一类),其二是字符(多字节)在文件中保存的编码顺序.
一般谈到字节序问题,都是指上面说的典型情况,主要是处理内存中数据.这里的字节序跟CPU相关,主要涉及两大派系:Motorola系列和Intel的x86系列.Motorola采用big endian方式存储数据,而x86系列则采用little endian方式存储数据,当然,还有ARM等可配置"大端""小端"CPU系列.
big endian是指低地址存放最高有效字节,而little endian则是低地址存放最低有效字节. 如数字0x12345678在两种不同字节序CPU中的存储顺序如下所示:
Big Endian
                       低地址                                            高地址
                          ----------------------------------------->
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                    |     12     |      34    |     56      |     78    |
      &


相关文档:

linux下c语言关机程序

/* Offtimer.c.For auto halt. */
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#define DELAY 60/* Time of sleeping */
int main()
{
  time_t now;
  struct tm *p;
  
  while(1)
  {
  now = time(NULL);
&n ......

linux c and asm 同时使用

from: 《自己动手写操作系统》
1. 中断向量表 查看 linux/init/main.c in http://lxr.linux.no/#linux+v2.6.32/init/main.c
2.
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd on ......

c/c++语言问题中可变参数


 va_list是c/c++语言问题中解决可变参数的一组宏.先来看一个程序例子吧.
view plaincopy to clipboardprint?
#include <stdarg.h>   
/** 函数名:max  
  * 功能:返回n个整数中的最大值  
  *  参数:num:整数的个数 . ......

对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 ......

在Linux C编程中使用Unicode和UTF 8

在Linux C编程中使用Unicode和UTF-8
目前各种Linux发行版都支持UTF-8编码,当前系统的语言和字符编码设置保存在一些环境变量中,可以通过locale命令查看:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号