综合
文章平均质量分 71
better1914
这个作者很懒,什么都没留下…
展开
-
C语言位运算的应用(1)
如果能巧妙地应用位运算来解决一些问题,可能会带来意想不到的惊喜! 以下是一些常见的位运算的应用; 1,不用中间变量来交换两个数的数值。 首先我们可以用 “+ - * / ” 四则运算符来解决这个问题;int main() { int a = 10; int b = 20; a = a + b; b = a - b; a = a - b;原创 2016-12-09 14:50:39 · 582 阅读 · 0 评论 -
C语言位运算的应用(2)
1,比较两个数中有多少个不同的位?第一种方法: 分别取出两个数字的每一位,然后进行比较,不同计数器加一,可以统计出来。int Diff_num_bit(int a, int b)//比较两个数不同位的个数{ int temp1 = 0; int temp2 = 0; int count = 0; for (int i = 0; i < 32; i++) {原创 2016-12-26 13:51:06 · 270 阅读 · 0 评论 -
linux下的静态库和动态库
库是什么? 在我们实际编程中,经常会引入各种库函数,那么库是什么?从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库:Linux下静态库的名字一般是libxxx.a,xxx为库的名字。利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点是编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了原创 2017-02-18 00:41:15 · 239 阅读 · 0 评论 -
函数调用栈帧分析
分析栈帧的调用过程,需要一些工具和汇编知识的学习。首先简单的介绍一下分析栈帧时必用的一些汇编指令。 工具 VS2013调用堆栈窗口查看工具,反汇编窗口工具,监视窗口工具,内存窗口查看工具 汇编命令 mov指令:例:mov ax bx 表示把bx寄存器的值赋值给ax寄存器。 push指令:例:push ax 表示将寄存器ax中的数据送入栈中。 pop指令 :例:pop ax原创 2017-01-16 18:37:53 · 650 阅读 · 0 评论 -
Linux粘滞位(粘着位)
在介绍粘滞位之前,先来介绍一下文件权限和目录权限的区别。我们知道在linux系统中文件(文件和目录)的权限有三种(r,w,x),而这三种权限对文件和目录的意义有所不同。权限对文件r (read) :可读取该文件的实际内容;w(write):可以编辑,新增或者修改该文件的内容(但不含删除该文件);x(execute):代表该文件可以被系统执行对于文件的r ,w, x来原创 2016-12-30 14:54:58 · 6656 阅读 · 2 评论 -
计算机的大端模式和小端模式
1 大小端的起源:关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重原创 2017-01-01 14:51:18 · 1034 阅读 · 0 评论 -
素数的判断及初步优化
素数的判断及初步优化原创 2016-11-26 21:57:45 · 1029 阅读 · 0 评论 -
我的程序员的成长之路(1)
一个程序员的成长之路(1)原创 2016-11-24 16:03:03 · 343 阅读 · 0 评论 -
C语言可变参数列表解析及简单应用
在函数原型中,列出函数期望接受的参数,但是原型只能显示固定数目的参数。通俗来讲就是,当我们给定函数原型时候,我们也就确定了函数的参数的个数,传递参数的时候必须按照原型提供的参数个数来传递参数。 那么我们是否可以传递参数时候,提供可变个参数呢? 当然是可以的,比如我们常用的printf()函数,我们可以用以下方式传递多个参数给此函数。printf("hello");//一个参数printf("%原创 2017-02-09 21:19:39 · 380 阅读 · 0 评论