DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 418 419 420 421 422 423 424 425 426 ··· 474 下一页

2013年4月22日

摘要: 一、简介 GhostDoc是Visual Studio的一个免费插件,可以为开发人员自动生成XML格式的注释文档。 二、下载 需要的朋友可以去这里下载,填个Email地址就可以下了:GhostDoc下载地址 三、安装 下载安装完成后,可以在Visual Studio的工具菜单下找到GhostDoc的身影。 在第一次使用时,会要求设置快捷键,默认的是Ctrl+Shift+S,如果这和你设置的快捷键有所冲突的话,可以在选择的下拉列表里另外选择一个。 GhostDoc使用的优点自然是可以快速生成注释,提高开发效率,但是缺点也不少,首先她生成的注释都是英文,难免有时看的会不顺眼,而... 阅读全文
posted @ 2013-04-22 20:37 DoubleLi 阅读(302) 评论(0) 推荐(0)

摘要: 本文源码与文档下载本章目标:完成本章学习后,您将能够:Ø 了解什么是ActiveX控件 Ø 掌握如何编写基于MFC的ActiveX控件 Ø 掌握如何测试ActiveX控件 Ø 掌握如何测试ActiveX控件 Ø 了解ActiveX控件如何注册 重点:ActiveX控件的实现、测试及注册。本章将介绍ActiveX控件的应用与工作原理。我们可以把ActiveX控件看做是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。那么,该容器就相当于客户程序,它使用ActiveX提供的服务。注:本文改编自孙鑫教程,在此基础上 阅读全文
posted @ 2013-04-22 20:26 DoubleLi 阅读(754) 评论(0) 推荐(0)

2013年4月18日

摘要: SQL触发器实例1定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表: Create 阅读全文
posted @ 2013-04-18 09:12 DoubleLi 阅读(576) 评论(0) 推荐(0)

2013年4月16日

摘要: 方法一:1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) 阅读全文
posted @ 2013-04-16 20:37 DoubleLi 阅读(40058) 评论(0) 推荐(1)

2013年4月14日

摘要: 基础知识 C标准函数集锦 标准C I/O函数 sizeof 用法 正确使用内存 有关c++ string类 堆和栈的区别[再转] C++中的异常(exception) API总结和断点函数 字符集和编码知识 高位优先与低位优先 do...while(0)的妙用 理解虚基类、虚函数与纯虚函数的概念 C之修炼 C代码优化方案 C++代码优化方法总结 VC:CString用法整理(转载) VC的若干实用小技巧 (如何干净的删除一个类) 指针 C++部分操作符 C++中const用法总结 VC定时器SetTimer函数 Shell中关于文件路径操作的API函数 调用DLL VC小... 阅读全文
posted @ 2013-04-14 17:23 DoubleLi 阅读(764) 评论(0) 推荐(2)

2013年4月10日

摘要: 定义英文:Binary files包含在ASCII及扩展 ASCII字符中编写的数据或程序指令的文件。计算机文件基本上分为二种:二进制文件和 ASCII(也称纯文本)文件,图形文件及文字处理程序等计算机程序都属于二进制文件。这些文件含有特殊的格式及计算机代码。ASCII 则是可以用任何文字处理程序阅读的简单文本文件。广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要容易一些;二进制文件编码 阅读全文
posted @ 2013-04-10 14:08 DoubleLi 阅读(1620) 评论(0) 推荐(0)

摘要: 今天仔细研究了一下关于TCP/UDP接收和发送数据的具体实现和下层接收数据的缓冲区,原理UDP从数据缓冲区中接收数据的方式和TCP从缓冲区中读取数据的方式是不同的,UDP接收缓冲区中也会依次保存接收到的数据,如果缓冲区满了则再接收的数据就会丢失,UDP接收数据和发送数据的次数应该是相同的,UDP不管你每次接收的数据的多少,只要你接收了一次数据那么就相当于接收了发送端某次发送的数据,而不管你接收的多少,本次的数据都将清空,注意:这里说的是本次的数据。再具体点比如:发送端连续两次发送了3个字节的数据包,接收端也必须接收两次才能完成数据的接收,而不是一次接收6个字节就能得到6个字节的数据包,不管你接 阅读全文
posted @ 2013-04-10 00:38 DoubleLi 阅读(1067) 评论(0) 推荐(0)

摘要: 线程同步是一个很困扰大家的一个问题,在线程中有时需要必须的同步机制来控制程序的运行,但什么时候需要加同步机制,什么地方又不需要这些没必要的同步机制呢?在不需要同步的地方加上了同步机制只会降低程序的效率,所以不必要的地方就一定不要加上同步的代码。 我们首先要明白,线程在切换之间都做了些什么事情,首先我们要知道,在系统中全局变量是在全局空间分配的,而局部变量是在系统堆栈中分配的,大家注意了,这两点概念很重要的。操作系统会为我们的每一个线程保护寄存器和堆栈现场,也就是说在线程切换的时候操作系统会为我们的线程恢复原来的寄存器和堆栈现场的(懂些汇编可能更容易理解一些)。所以大家一定要明确,虽然多个线程执 阅读全文
posted @ 2013-04-10 00:36 DoubleLi 阅读(2111) 评论(1) 推荐(0)

摘要: etTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。 SetTimer的函数原型如下:UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc ) ; 其中 hWnd是和timer关联的窗口句柄,此窗口必须为调用SetTimer的线程所有;如果hWnd为NULL,没有窗口和timer相关联并且nIDEvent参数被忽略 nIDEvent是timer的标识,为非零值;如果hWnd为NULL则被忽略;如果hWn... 阅读全文
posted @ 2013-04-10 00:32 DoubleLi 阅读(766) 评论(0) 推荐(0)

摘要: 对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。所以学习多线程编程最重要的不是学习API,而是理解什么才是多线程安全的代码从例子说起#include<windows.h>#include<process.h>longglobal1=0;volatilelongglobal2=0;classMyClass{public:MyClass():m(0){++m;}intfun(intv){returnm+v;//-----------9}voidset(intv){m=v;//-------------1 阅读全文
posted @ 2013-04-10 00:22 DoubleLi 阅读(2633) 评论(1) 推荐(0)

上一页 1 ··· 418 419 420 421 422 423 424 425 426 ··· 474 下一页