c语言
文章平均质量分 74
北川_
这个作者很懒,什么都没留下…
展开
-
函数栈帧的创建和销毁
目录各种寄存器的作用main()函数的调用通过汇编观察函数调用过程各种寄存器的作用eax是“累加器”(accumulator),它是很多加法乘法指令的缺省寄存器ebx是“基地址”(base)寄存器,在内存寻址时存放基地址ecx是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。edx:总是被用来放整数除法产生的余数。esp:寄存器存放当前线程的栈顶指针ebp:寄存器存放当前线程的栈底指针main()函数的调用VS2013中mainCRTStartup()函数内原创 2022-03-11 11:39:43 · 283 阅读 · 15 评论 -
C语言的位运算符和逻辑运算符
位操作是程序设计中对位模式按位或二进制数的一元和二元操作,在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。按位取反:~'~'是一元运算符,用来对一个二进制数按位取反,把0变为1,把1变为0。如下例子所示。...原创 2021-05-13 16:39:52 · 1435 阅读 · 7 评论 -
c语言中的移位运算符
移位运算符在程序设计中,是位操作运算符的一种。移位运算符可以在二进制的基础上对数字进行平移。c语言中提供了两种移位运算符:左移运算符:<<右移运算符:>>左移运算符(<<)int main(void){int a = 4;//将a的二进制位向左移动一位int b = a << 1;printf("%d", b);return 0;} &n原创 2021-05-09 00:57:59 · 11430 阅读 · 12 评论