• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
蓝天下の旅者
博客园    首页    新随笔    联系   管理    订阅  订阅
2012年11月26日
完成端口(IOCP)实现高性能网络服务器(源码 C#)
摘要: 最近有项目要做一个高性能网络服务器,决定下功夫搞定完成端口(IOCP),最终花了一个星期终于把它弄清楚了,并用C++写了一个版本,效率很不错。但,从项目的总体需求来考虑,最终决定上.net平台,因此又花了一天一夜弄出了一个C#版,在这与大家分享。一些心得体会:1、在C#中,不用去面对完成端口的操作系统内核对象,Microsoft已经为我们提供了SocketAsyncEventArgs类,它封装了IOCP的使用。请参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketasynceventargs.aspx?cs-s 阅读全文
posted @ 2012-11-26 09:12 蓝天下の旅者 阅读(1033) 评论(1) 推荐(0)
2012年9月14日
u盘装系统中biso怎样设置usb启动{图文
摘要: 总的来讲,设置电脑从U盘启动一共有两种方法,第一种是进Bios然后设置U盘为第一启动项。第二种是利用某些电脑现成的启动项按键来选择U盘启动。下面分情况介绍: 方法一、利用快捷键进入BIOS,选择U盘启动:可以参考http://www.upanok.com/jiaocheng/60.html 方法二、这种方法没有统一的步骤,因为某些BIOS版本不同设置也不同,总的来说方法二也分两种: 1)一种是没有硬盘启动优先级“HardDiskBootPriority”选项的情况,直接在第一启动设备“Firstbootdevice”里面选择从U盘启动; 2)另一种是存在硬盘启动优先级“HardDis... 阅读全文
posted @ 2012-09-14 14:46 蓝天下の旅者 阅读(410) 评论(0) 推荐(0)
2012年9月12日
SkinMagic库界面美化__简单的换整体皮肤
摘要: [准备工作]1、将SkinMagicTrial.dll放置在调试目录2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib3、在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h"4、。smf的皮肤文件让人安装目录下(若时候资源式调用,则放在.rc文件夹)[创建过程]1、初始化SkinMagic库:要使用SkinMagic,这一步必不可少。在应用程序类的InitInstance()函数中行加入如下代码(粗体部分): CWinApp::InitInstance();VERIFY( 1 == Ini 阅读全文
posted @ 2012-09-12 15:39 蓝天下の旅者 阅读(333) 评论(0) 推荐(0)
宏定义VC
摘要: (一)刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具。使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能。但常用的并不多!在VC.Net 普遍使用的预处理指令:#pragma once//只要在头文件的最开始加入这条指令就能够保证头文件被编译一次//传统的解决办法是使用#ifdef 以及#endif 来避免头文件的重复编译## 连接符与# 符## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(t 阅读全文
posted @ 2012-09-12 10:35 蓝天下の旅者 阅读(462) 评论(0) 推荐(0)
多任务、进程和线程
摘要: 线程的同步由 于同一进程的所有线程共享进程的虚拟地址空间,并且线程的中断是汇编语言级的,所以可能会发生两个线程同时访问同一个对象(包括全局变量、共享资源、 API函数和MFC对象等)的情况,这有可能导致程序错误。例如;1).如果一个线程在未完成对某一大尺寸全局变量的读操作时,另一个线程又对该变量进行了写操 作,那么第一个线程读入的变量值可能是一种修改过程中的不稳定值。2).属于不同进程的线程在同时访问同一内存区域或共享资源时,也会存在同样的问题。因此,在多线程应用程序中,常常需要采取一些措施来同步线程的执行。需要同步的情况包括以下几种:1).在多个线程同时访问同一对象时,可能产生错误。例如,如 阅读全文
posted @ 2012-09-12 09:46 蓝天下の旅者 阅读(192) 评论(0) 推荐(0)
pragma指令简介
摘要: -- 选择自 vcforever 的 Blog在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作. 下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!一. message 参数。message 它能够在编译信息输出窗 口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message("消息文本") 当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条 指令在 阅读全文
posted @ 2012-09-12 09:36 蓝天下の旅者 阅读(162) 评论(0) 推荐(0)
2012年9月8日
MFC中遍历所有菜单项
摘要: 参考:/***************************************************************在OnInitDialog中,可以调用 InitMenu( GetMenu()),从配置文件中读取菜单项,或者调用 ExportMenu(GetMenu())导出菜单内容//加载菜单实现菜单的多语言切换 void InitMenu( CMenu *menu ) { if ( menu==NULL || ( !::IsMenu(menu->m_hMenu))) return ; CString szText; int nCount,subCount, i.. 阅读全文
posted @ 2012-09-08 18:50 蓝天下の旅者 阅读(857) 评论(0) 推荐(0)
2012年8月27日
文件基本操作
摘要: 预备知识——MFC文件操作1.计算机是如何管理自身所存放着的大量的信息的呢?硬盘上的信息是以文件的形式被管理的。2.为什么要在程序中使用文件?通常,程序中的数据在程序运行结束之后,就会从内存中清除,再次运行程序时不会自动出现。在编制程序的过程中不可避免的会遇到将某些数据永久保存的问题,当程序关闭后,依然可以使用这些数据,这时就需要进行文件操作。3.文件类型(Visual C++处理的文件通常分为两种)文本文件:只可被任意文本编辑器读取ASCII文本。二进制文件:指对包含任意格式或无格式数据的文件的统称。这里只介绍文本文件的读写,INI文件也属于文本文件的范畴,且INI文件的结构和用途与普通的文 阅读全文
posted @ 2012-08-27 14:18 蓝天下の旅者 阅读(271) 评论(0) 推荐(0)
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3