![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows
__grail__
这个作者很懒,什么都没留下…
展开
-
多线程编程简介
一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序CMultiThread0,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CMultiThread0Dlg::OnSleepSixSecond(){ // TODO:转载 2009-08-20 09:46:00 · 562 阅读 · 0 评论 -
format xml
#-------------------------------------------------------------------------------# Name: fxml.py# Purpose:## Author: grail## Created: 20-04-2013# Copyright: (c) grail 2013# Li原创 2013-04-22 15:00:10 · 491 阅读 · 0 评论 -
auto_ptr,scoped_ptr,shared_ptr,weak_ptr
auto_ptr,scoped_ptr,shared_ptr,weak_ptrauto_ptr的使用很简单,通过构造函数拥有一个动态分配对象的所有权,然后就可以被当作对象指针来使用,当auto_ptr对象被销毁的时候,它也会自动销毁自己拥有所有权的对象,release可以用来手动放弃所有权,reset可用于手动销毁内部对象。但实际上,auto_ptr是一个相当容易被误用并且在实际中常常转载 2012-06-11 23:50:52 · 1690 阅读 · 0 评论 -
SSL/TSL 和 HTTPS
SSL (Secure Socket Layer)SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:转载 2012-06-11 23:26:47 · 6550 阅读 · 0 评论 -
进程间通信
进程间通信进程间通信主要包括管道, 系统IPC(包括消息队列, 信号量, 共享存储), SOCKET.管道(pipe)包括三种:1)普通管道pipe, 通常有两种限制,一是半双工只能单向传输;二是只能在父子或者兄弟进程间使用.2)流管道s_pipe: 去除了第一种限制,可以父子或者兄弟进程间双向传输.3)命名管道:name_pipe, 去除了第二种限制,可以在许多并转载 2012-06-11 23:10:24 · 601 阅读 · 0 评论 -
DNS解析过程
DNS解析过程及原理 DNS的工作原理及过程分下面几个步骤: 第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。 第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。 第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查转载 2012-06-11 22:31:31 · 332 阅读 · 0 评论 -
Windows的消息机制
Windows的消息机制Windows是一个消息(Message)驱动系统。Windows的消息提供了应用程序之间、应用程序与Windows系统之间进行通信的手段。应用程序想要实现的功能由消息来触发,并且靠对消息的响应和处理来完成。Windows系统中有两种消息队列:系统消息队列和应用程序消息队列。计算机的所有输入设备由Windows监控。当一个事件发生时,Windows先将输入的消息转载 2012-06-11 23:35:00 · 470 阅读 · 0 评论 -
多线程的同步
多线程的同步 虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极有可能读原创 2012-06-10 13:44:52 · 362 阅读 · 0 评论 -
COM Apartment (套间)
COM Apartment (套间)套间的由来最开始的COM库,支持的使用组件的唯一模式是single-thread-per-process模式。这样就避免了多线程的同步,而且组件执行的线程肯定是创建它的线程。然而组件对象真正的执行环境很复杂。COM组件的执行环境有两种:单线程环境Single-Thread,多线程环境Multi-Thread。单线程要考虑执行线程是否是创建组件的转载 2012-06-09 23:40:04 · 772 阅读 · 0 评论 -
进程中线程间通讯
进程中线程间通讯一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。使用全局变量进行通信由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变量。原创 2012-06-10 13:32:37 · 333 阅读 · 0 评论 -
C/C++函数调用约定和函数名称修饰规则
C/C++函数调用约定和函数名称修饰规则使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆栈异常。这些现象通常是出现在C和C++的代码混合使用的情况下或在C++程序中使用第三方的库的情况下(不是用C++语言开发的),其实这都是函数调用约转载 2012-06-09 20:58:52 · 577 阅读 · 0 评论 -
C++ 拷贝构造函数和重载赋值操作符相互调用分析
结论:从面相对象编程的角度考虑,拷贝构造函数调用重载赋值操作符,重载赋值操作符调用拷贝构造函数的写法都是没有意义的。应该避免。Don't try to implement one of the copying functions in terms of the other. Instead, put common functionality in a third function th原创 2011-08-02 10:40:26 · 1968 阅读 · 0 评论 -
入口函数和程序初始化
入口函数和程序初始化程序从main开始吗?正如基督徒认为世界的诞生起于7天创世一样,任何一个合格的C/C++程序员都应该知道一个事实:程序从main函数开始。但是事情的真相真是如此吗?如果你善于观察,就会发现当程序执行到main函数的第一行时,很多事情都已经完成了:【铁证1】下面是一段C语言代码:#include #include int a = 3;int main(转载 2009-08-24 14:34:00 · 529 阅读 · 0 评论 -
ShellExecute使用说明
函数功能:ShellExecute用于打开打印指定的文件(exe,txt,网络。。。)。函数原型:HINSTANCEShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirect原创 2009-08-24 10:28:00 · 2517 阅读 · 0 评论 -
最简单的win32程序
一个完整的Win32程序,该程序实现的功能是创建一个窗口,并在该窗口中响应键盘及鼠标消息,程序实现的步骤为: WinMain函数的定义; 创建一个窗口; 进行消息循环; 编写窗口过程函数. WinMain函数的原型声明如下: int WINAPI WinMain( HINSTANCE hInstance,原创 2007-06-05 17:35:00 · 1393 阅读 · 0 评论 -
Windows内存技术
Windows内存技术在WIN32中,每个应用程序都可“看见”4GB的线性地址空间,其中最开始的4MB和最后的2GB由操作系统保留,低的2GB为进程的私有空间(如果在Boot.ini文件中使用“/3GB”的开关可以使进程的私有空间增大到3GB,系统空间1GB)。对于每个进程来讲其虚拟的地址空间是连续的,实际上它们是以页面为单位离散的存在于物理内存中,一些可能被交换到硬盘上的页面文件中,转载 2009-08-24 14:33:00 · 439 阅读 · 0 评论 -
实现和IE浏览器交互的几种方法的介绍
1.引言如何实现对IE浏览器中对象的操作是一个很有实际意义问题,通过和IE绑定的DLL我们可以记录IE浏览过的网页的顺序,分析用户的使用行为和模式。我们可以对网页的内容进行过滤和翻译,可以自动填写网页中经常需要用户填写的Form内容等等,我们所有的例子代码都是通过VC来表示的,采用的原理是通过和IE对象的接口的交互来实现对IE的访问。实际上是采用COM的技术,我们知道COM是和语言无关的一转载 2009-08-24 11:28:00 · 713 阅读 · 0 评论 -
Beej 网络编程指南——使用Internet Sockets
Brian “Beej Jorgensen” Hallbeej@beej.usVersion 2.4.5August 5, 2007Copyright © 2007 Brian “Beej Jorgensen” Hall目录1.简介1.1.读者对象1.2.平台和编译器1.3.官方网站1.4.对使用Solaris/Sun操作系统的程序员的说明1.5.对翻译 2009-08-14 13:16:00 · 598 阅读 · 0 评论