- 博客(23)
- 收藏
- 关注
原创 Lua 表的一个安全访问问题
zip = company and company.director and company.director.address and company.director.address.zipcode以上写法不仅冗长而且低效,该写法在一次成功的访问中对表进行了6次访问。对于这种问题,c#语音提供了一种安全访问操作符"?."。例如,对于表达式a?.b,当a为null时,其结果是nul...
2018-10-23 23:56:26
588
原创 【Lua特性】Metatable(元表)
__index 元方法主要用于table的查询,其可为table或function.__newindex 元方法主要用于table的更新(赋值),其可为table或function.local parent = { atk = 1}local child = { hp = 2}parent.__index = parentsetmetatable...
2018-09-30 15:00:14
242
原创 【Lua特性】Coroutine(协程)
先来看看《Lua程序设计》中是如何讲解Lua协程的:协同程序与多线程的线程比较类似:有自己的堆栈,自己的局部变量,有自己的指令指针,但是和其它协同程序共享全局变量等很多信息。线程和协同程序的主要不同在于:在多处理器情况下,从概念上讲多线程程序同时运行多个线程,而协同程序是通过协作来完成的,在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只有在明确的被要求挂起的时候才会被挂起。...
2018-09-29 18:32:19
269
转载 采访 Lua 发明人的一篇文章
本文转自云风大大的博客文章采访 Lua 发明人的一篇文章目录1. 序2. Lua2.1 脚本的威力2.2 经验2.3 语言设计1. 序《Masterminds of Programming: Conversations with the Creators of Major Programming Languages》是本相当不错的书。博文翻译出版了这本书,中文名叫做...
2018-09-29 00:43:46
403
原创 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
这个是由于资源转换器程序cvtres.exe的版本太低,导致的错误C:\Windows\winsxs\x86_netfxcvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65\cvtres.exe复制一份到F:\Program Files (x86)\Microsoft Visua
2014-03-25 14:28:26
608
转载 子网掩码与子网划分
子网掩码与子网划分 目录 : 一、摘要 二、子网掩码的概念及作用 三、为什么需要使用子网掩码 四、如何用子网掩码得到网络/主机地址 五、子网掩码的分类 六、子网编址技术 七、如何划分子网及确定子网掩码 八、相关判断方法 一、摘要 近期在我的论坛中大家对子网掩码以及子网划分的讨论比较多,因为前面也写了关于ip地址的教程,为了延续性,就写了这个关
2013-08-09 17:02:13
566
转载 Linux C :遍历输出指定目录下的所有文件
在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件:#include #include opendir函数的原型为:DIR *opendir(const char *name);它返回一个DIR*类型,这就是一个句柄啦,你不用管它的内部结构是什么样的,只要知道这个句柄就是等
2013-07-23 16:03:21
971
转载 理解inode
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。下面就是我的inode学习笔记,尽量保持简单。===================================一、inode是什么?理解inod
2013-06-28 12:01:28
435
转载 RHEL6.3克隆虚拟机后的网卡启动失败问题解析
问题解决方法:删除克隆后这个系统中的 /etc/udev/rules.d/70-persistent-net.rules文件,重启后系统会重新生成一个新的虚拟网卡MAC地址,然后把这个文件里NAME="eth1"的eth1改成eth0,同时也要修改ATTR{address}里的mac地址和/etc/sysconfig/network-scripts/ifcfg-eth0文件mac地址,并与新的
2013-06-26 18:29:12
909
原创 Linux下的内存调试工具 ---valgrind
Valgrind 安装1、 到www.valgrind.org下载最新版valgrind-3.2.3.tar.bz22、 解压安装包:tar –jxvf valgrind-3.6.0.tar.bz23、 解压后生成目录valgrind-3.6.0 4、 cd valgrind-3.6.05、 ./configure6、 Make;make installValgri
2013-06-24 14:54:11
813
转载 ACE_Message_Block功能简介
ACE_Message_Block在Ace中用来表示消息的存放空间,可用做网络通信中的消息缓冲区,使用非常频繁,下面将在如下方简单的介绍一下ACE_Message_Block相关功能。创建消息块释放消息块从消息块中读写数据数据的拷贝其它常用函数一、创建消息块创建消息块的方式比较灵活,常用的有以下几种方式 :1. 直接给消息块分配内存空间创建。
2013-06-22 14:56:07
694
转载 【常用】putty颜色设置
四套方案:1)使用苹果绿(RGB值为:204, 232, 207)作为背景色,前景取黑色(0, 0, 0)2)灰底色白字Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\ubuntu] --- 注册表"Colour0
2013-06-21 09:59:15
2142
转载 ACE线程管理机制
ACE Lock类属锁类属包含的类包装简单的锁定机制,比如互斥体、信号量、读/写互斥体和令牌等。这里我就以互斥体为例简单的介绍一下其使用方法,对其它的锁类进行一些简单的说明。1.互斥体的使用。互斥体用于保护共享的易变代码,也就是全局或静态数据。这样的数据必须通过互斥体进行保护,以防止它们在多个线程同时访问时损坏。在ACE中可以通过ACE_Thread_Mutex实现线程的访问互
2013-06-14 15:16:34
813
转载 ACE_Task框架
在我看来,ACE的ACE_Task框架提供了一种基于消息的编程模式,可以Windows编程的消息循环进行类比。 ACE_TaskWindows 消息循环说明消息类型ACE_Message_Block*MSGWindows消息用MSG结构表示,ACE_Task中因为不能预计各种应用中消息的类型,所以ACE_Message_Block基本上可以理解为
2013-06-04 19:03:19
861
转载 采用C++的ACE库实现的一个通用的C/S架构通信程序(最终版)
ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间
2013-05-29 14:18:26
934
原创 如何设置编辑框字体的颜色
//在编辑框所在的对话框类中,添加一个OnCtlColor的消息响应函数(WM_CTLCOLOR),然后再该函数中:HBRUSH CXXXX::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: 在此更改 DC 的任何属性//
2013-05-28 17:27:39
1011
转载 MFC添加位图按钮
MFC基于对话框的按钮看着不够别致,要想使按钮更漂亮,在按钮上添加为位图是个不错的选择。 位图按钮1. 建立MFC下的基于对话框的应用程序2. 在对话框上添加按钮,并把按钮属性中Bitmap设置为true;3. 在对话框类(CxxxDlg)中添加按钮变量(本例为m_BtonBmp);4. 新建或者导入bmp文件,明确该文件的ID;5. 在对话框的初始化(OnI
2013-05-28 17:10:55
1152
原创 获取鼠标在屏幕上的坐标和颜色值(RGB)
xxxFun{ UINT bIsCheck = IsDlgButtonChecked(IDC_ONOFF); if (bIsCheck) { SetTimer(1, 100, NULL); //设置定时器(ID为1) SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE ); // 设置窗口位置 } e
2013-05-28 17:03:50
2100
原创 ListBox 添加水平滚动条
1. 在listbox的属性对话框中勾选上”Horizontal scrool”;2. 为listbox关联变量:ClistBox m_list;3. 代码中添加listbox水平范围的初始化: m_list.SetHorizontalExtent(1000); 其中,1000是指listbox的Item的最大长度,可根据具体设置。
2013-05-28 16:59:30
955
原创 MFC CListBox实现右键单击弹出菜单
项目要求 在界面的列表框中 实现右键单击选择项 时,弹出菜单,并且处理这个菜单一、创建右键菜单资源右击项目->添加->资源->Menu->新建添加菜单项二、处理菜单COMMAND消息右击菜单需要处理的菜单项 -> 添加事件处理程序 选择消息类型 COMMAND二、从CListBox类派生出一个新类,且在该派生类中添加一个WM_RB
2013-05-10 11:25:37
2312
转载 基于ACE Proactor框架下高并发、大容量吞吐程序设计既最近的一个产品开发总结
Reactor与 Proactor基本概念在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取
2013-05-10 10:57:38
1270
转载 深入了解超线程、双核CPU、双CPU与单CPU的区别
目前服务器市场可以说是新产品新技术层出不穷,光是服务器的核心CPU除了主频等参数外,最让人不明白的就是所谓的双核,电视报纸广告上也是频繁刊登双核服务器的广告。双核CPU与双CPU还有以前的超线程都有什么区别呢?我们选择服务器应该采取双核心CPU还是双CPU呢? 在一两年前CPU领域就出现了一个叫做超线程的技术,具备了超线程技术的CPU可以更高效的运行程序,特别是支持
2013-05-08 16:47:01
1507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人