2016年7月6日
摘要: 循环队列能够满足多线程下的无锁要求,但问题是使用数组实现的循环队列长度是固定的,需要处理队列满时的情况,这时可以暂停写操作,另外扩容也是一个选择,只是比较麻烦。 最近想了无锁链表的可能性,感觉还是可行吧。 链表节点: struct node{ node* next; void* value; } 初 阅读全文
posted @ 2016-07-06 11:21 蒸湘云集 阅读(174) 评论(3) 推荐(0)
  2012年7月23日
摘要: 由于CPU的读取内存是以字长为单位的,而内存编址是一字节为单位的,比如一个32位机器,其读取内存一次是4个字节,而并不是一个字节为单位进行读取。因为这个原因,期望编译器变量在编址时要有所调整,以满足最少次数读取原则。 原始类型: 对于长度为一个字节的变量,无论其存放的位置如何都可以一次读取内存来获得其值,比如char a ,放在1,2,3,4,都是通过读取1开始的这个字长块内存,再根据字节地址来获取变量a的值,若放在2上,读取第二个字节开的长度为1的内存块。 同样道理,对于长度为两个字节的变量,那么只要其存放开始地址是偶数,就能通过一次读取内存来获取。对于长度是4的变量,就必须存储在... 阅读全文
posted @ 2012-07-23 04:04 蒸湘云集 阅读(163) 评论(0) 推荐(0)
  2012年7月13日
摘要: Win32 动态库分三种:Non-MFC DLL(非MFC 动态库)、MFC Regular DLL(MFC 规则DLL)、MFC Extension DLL(MFC 扩展DLL)。本文主要记录非MFC动态库。 在我看来,采用库机制要知道两方面:一、建立动态库;二、使用动态库。再要明白动态库导出的是什么,有变量,函数和类三种。再要看动态库的两种调用方法显示调用、隐式调用。 建库时,有三种方式来指导产生.dll和.lib文件两个文件: 一、使用__declspec(dllexport)声明。 二、若是使用模块定义文件(.def)来指导产生.dll和.lib文件两个文件。 ... 阅读全文
posted @ 2012-07-13 00:20 蒸湘云集 阅读(199) 评论(0) 推荐(0)
  2012年7月12日
摘要: 昨天花好长一段时间来练习Makefile,同时也在练习gcc,颇有收获。gcc其实简单,只要明白其操作过程和命令就能很好掌握。make的知识量要多一些,容我细细回顾!Makefile单词太长,我设个宏MF下面就用它代替说明。 MF的目标是什么,为什么会出现这个工具,这个工具是为了解决什么问题的?其实只要思考这个问题,我们能更清楚的了解MF,由于在MF之前老前辈们编程序的规模越来越大,导致老式的方法一个文件一个文件的编译,那太麻烦太耗时了,而采用脚本来执行则所有的操作都会重新做一次,这样的方式对大型项目来说是绝对跟不上节奏的。所有有前辈就设计一个软件来完成事情,考虑到平常编译过程中,先要将... 阅读全文
posted @ 2012-07-12 03:58 蒸湘云集 阅读(636) 评论(0) 推荐(0)
  2012年7月11日
摘要: 1.gcc为C编译器,g++为C++编译器,下面在没冲突的情况下都是用gcc来说明。2.gcc编译文件共需要4步: 1)预处理,生成.i文件[预处理器gcc] 2)将预处理后的文件转换为汇编语言文件,生成.s文件[编译器egcs] 3)将汇编文件汇编成目标文件,生成.o文件[汇编器as] 4)连接目标代码,生成可执行文件[连接器ld]3.一般在Makefile中采用两步:先生成目标文件,再连接成可执行文件。4.参数详解: -x language filename 设定文件所使用的语言,使后缀名无效,对之后下一个参数前的文件都起作用 -x none filename 关闭上个选项... 阅读全文
posted @ 2012-07-11 05:33 蒸湘云集 阅读(138) 评论(0) 推荐(0)
摘要: 本人是2011年大学毕业的,修计算机科学与技术专业,目前从事C/C++服务器软件开发工作。现在在博客园申请了账号,主要是想记录本人学习和工作经验心得,也望和更多的同行学习交流,希望结识更多的软件开发方面的朋友。这是我的第一篇博文!谢谢指正优化。 软件是完成需求的工具 本人觉得,软件的本质是:操作计算机为客户的工作生活提供可靠安全方便经济高效的服务,即让客户通过使用软件来更好的完成以往的任务。何谓更好呢?这个要看客户啦,比如对于一个盗号者来说,他在看到通过盗取别人账号,然后卖掉那些有价值的虚拟物品可以获得利益,于是就想使用某些软件来获取别人账号,所以病毒木马就有了。而对于一个电脑用户来说... 阅读全文
posted @ 2012-07-11 02:59 蒸湘云集 阅读(152) 评论(0) 推荐(0)