(int linux)-冯金伟博客园

int指令属于什么指令?

   在Linux汇编中(NASM),INT指令其实是INTerrupt(中断)的意思(这种中断又叫做software interrupt)。它也就是起了这么一个名字,却并没有什么真正被中断了。

     在x86体系结构中,内存中的 0~1024byte 中存放了256个entries,每一个 entry 都有4byte的大小。这是Linux的 interrupt vector table。虽然Linux的版本不断变化,但是它的interrupt vector table中对应的功能却没有变化。比如 80h 都是转到Linux dispatcher 的作用,在所有Linux版本中都是这样的。

linux怎么定义16位数字?

将结构体声明用编译参数括起来就可以让它双字节对齐:

#pragma pack(2)

struct data

{

time_t sTime;

unsigned char uiPipeIndex;

float Press; //#define sample_num 50

float Temp;

unsigned int Flow;

float AnalogFlow;

float Density;

}SAMPLE_DATA;

#pragma pack()

二后面加个l什么意思?

-2L表示long型常量2,而-2表示int型常量2。在Windows上不会有什么区别,因为Windows中int和long都是4字节,但在linux上就不一定了,linux上int还是4字节但long可能是4字节也可能是8字节,如果是8字节那么会导致截断,低位的4个字节被赋值给变量a。

for循环里面加int和不加int有什么区别?

for循环里加int,就意味着在for循环外不能在定义同一个变量名字为int。

如果在for里面不加int,那么在for循环上面,先进行变量声明int型,才可以在for循环中用这个变量。