Welcome 微信登录

首页 / 软件开发 / C++

C++从零开始之指针及其语义和运用

C++从零开始之指针及其语义和运用

C++从零开始之指针及其语义和运用2009-10-31本篇是《》系列的附篇。因友人一再认为《C++从零开始》系列中对指针的阐述太过简略,而提出的各个概念又杂七混八,且关于指针这一C++中的重要概念的运用少之又少,故本篇重点说明在《C++从零开始》系列中提出的数字、地址、指针等基础概念,并给出指针的语义,说明指针和数组的关系,阐述多级指针、多维数组、函数指针、数组指针、成员指针的语义及各自的运用。数字、操作符、类型、类型修饰符在《C++从零开始(三)》中已经...
在VC 6.0下如何调用Delphi开发的进程内COM

在VC 6.0下如何调用Delphi开发的进程内COM

在VC 6.0下如何调用Delphi开发的进程内COM2011-01-07xacn源代码包中共有两个zip文件,其中DelphiCallVCCOM.zip为Delphi调用VC的COM组件,VCCallDelphiCOM.zip为VC调用Delphi的COM组件因为本人的语言水平很差,考大学时150的总分,我考了个60分。外语也是,初中及格过一次,会考及格过一次。其它的时间好像从没有及格过。所以我不写文章,因我一百字的文章给我写,至少要出八九个错别字。哈哈...
用C++ Builder对图像进行特殊效果处理

用C++ Builder对图像进行特殊效果处理

用C++ Builder对图像进行特殊效果处理2009-10-31在Windows编程中图像处理相对比较复杂,好在C++ Builder提供了一些图形类,它们通过对Windows中的图形对象进行包装,从而大大简化了图像操作的难度。下面就通过对图像进行柔化、锐化、浮雕效果等几个特殊效果处理来具体说明一下。一、准备工作 位图图形实际上是像素的二维数组,它记录了每个像素的颜色信息,而TCanvas类提供了Pixels属性,用它可以存取指定像素的颜色值,通过这个属...
关于托盘的一点总结

关于托盘的一点总结

关于托盘的一点总结2011-01-07张海明很多软件例如:KV3000等在关闭之后会在托盘区有一个小的托盘图标,这表示程序并没有真正停止而在后台运行。当我们单击鼠标时可以使它在桌面上出现一个最大化窗口;而如果我们单击程序右上角х,或者单击文件菜单中的退出项时程序仍然在托盘上运行;只有我们右键单击托盘图标在出现的菜单中选择退出才能够真正退出程序等。现在我们通过一个类CSystemTray和修改系统菜单来实现上述功能。我们先来改变系统菜单。1、当我们在程序的标...
如何实现进程间数据通讯技术

如何实现进程间数据通讯技术

如何实现进程间数据通讯技术2009-10-311、引言在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。WIN32 API提供了许多函数使我们能够方便高效地进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换,就如同在WIN16中对本地进程进行读写操作一样。典型的WIN16两进程可以通过共享内存来进行数据交换:(1)进程A将GlobalAlloc(GMEM_SHARE...)API分配一定长度的内存;(2)进程A将GlobalA...
ActiveX控件注册的几种方法

ActiveX控件注册的几种方法

ActiveX控件注册的几种方法2009-11-08老妖本文中的程序原为VC++所编写,略改动一些,将程序用C++Builder编写。ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件。由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须作任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样。如:在...
浅谈系统的定时关机

浅谈系统的定时关机

浅谈系统的定时关机2011-01-07闵尖在写这个程序之前,我曾看到过别人用SDK写的关机程序。不过他的程序只在WIN9X下有效,在2000中就不行了,不能关机只能注销。因为2000属于多用户操作系统,要想关机就要获得权限。在查阅了MSDN后整理出了这个关机程序。 TOKEN_PRIVILEGES tkp; HANDLE hToken; if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_P...
MySql ODBC驱动的使用

MySql ODBC驱动的使用

MySql ODBC驱动的使用2009-11-08我们经常会遇到这样问题,怎样在非web程序或asp程序中使用mysql数据库呢?对于这个问题有两个解决方案:1.使用mysql提供的api函数库。很多有名的mysql客户端工具就是这样实现的,大名鼎鼎的winmysql工具就是这样的。这在大部分的开发工具中都可以实现。比如vc,bcb,delphi,vb等,只要能调用第三方的api就能实现。但对程序员的要求很高,而且要熟悉一套mysql的api函数集,这不是...
浅谈系统的非定时自动关机

浅谈系统的非定时自动关机

浅谈系统的非定时自动关机2011-01-07杨立刚我们经常遇见定时关机的情况,我在此提出的非定时关机,是应用在我们不能预料我们的作业什么时候完成的情况下,举个例子:本人平时在用matlab运行某算法训练大量数据时,由于难以判断其训练时间长短(有时是几小时),没有耐心去等,但我注意到,在训练数据时,CUP利用一直是100%或100%稍左,我们可以试着自己编个程序来等待CPU利用率为0时关机(即matlab训练结束时)。但有一点,必须在matlab程序里有保存...
怎样在C++ Builder中创建使用DLL

怎样在C++ Builder中创建使用DLL

怎样在C++ Builder中创建使用DLL2009-11-08动态链接库(DLL)是Windows编程常遇到的编程方法,下面我就介绍一下在BCB (C++ Builder下简称BCB) 中如何创建使用DLL和一些技巧。一、创建:使用BCB File|NEW建立一个新的DLL工程,并保存好文件BCB,生成一个DLL的程序框架。1.DllEntryPoint函数为一个入口方法,如果使用者在DLL被系统初始化或者注销时被调用,用来写入对DLL的初始化程序和卸载...
系统定时休眠

系统定时休眠

系统定时休眠2011-01-07jans单位最近加强安全检查,除了部分服务器,下班不关机器的同事,都被罚了款。为此,我试着下载了几个自动关机的程序,但是都不好使。都是最后显示“你可以安全地关闭计算机了!”。到网上问了半天说是高级电源管理设置的问题。我折腾了半天,还是不行,为什么Windows自己的关机就可以关掉电源,而我们的程序就只能“你可以安全的关闭计算了!”。看来微软还不知道在哪里留了一手。好在还有收获,...
BCB6/Delphi7下完美调用CHM帮助

BCB6/Delphi7下完美调用CHM帮助

BCB6/Delphi7下完美调用CHM帮助2009-11-08本文主要讲解如何在C++Builder6.0及之前的版本中使用Microsoft的新型帮助:"CHM格式帮助文件",对于如何制作CHM格式帮助,以及如何获取帮助文件制作工具,本文只会一笔带过,给出官方链接或推荐其它这方面好的教程,就不再赘述。CHM格式帮助文件制作工具需要Microsoft的html help workshop来制作CHM格式的帮助,可以到Microsoft...
线程通信--利用事件对象

线程通信--利用事件对象

线程通信--利用事件对象2011-01-07龚辉斌在线程之间传送信号可以使用事件对象,用MFC的CEvent来表示。一个事件对象有两种状态:信号态与非信号态。线程能监视于信号态的事件,以便在适当的时间完成对事件的操作。创建事件的语句如下:CEvent ThreadBegin;事件被创建后就自动处于非信号态,要使用它处于信息态,必须使用对件对象的成员函数SetEvent(),即:ThreadBegin.SetEvent();线程监视这个信号来知道事件已准备就...
Socks5代理服务

Socks5代理服务

Socks5代理服务2009-11-08假期的时候把socks5代理的RFC全部读完了,有些体会不敢独享,在这里写出来大家一起评论评论,如有错误敬请提出。下面假设使用TCP连接方式。首先需要和代理服务器之间建立连接,这里没什么复杂的,简单的connect(serverIP, serverPort)就可以了。连接成功之后,需要使用send()发送命令字,以便确定是否需要验证,下面是RFC里面的命令字格式:项目版本方式数目连接方式…项目长度111...
线程同步--使用互斥

线程同步--使用互斥

线程同步--使用互斥2011-01-07龚辉斌互斥跟临界区很相似,便远比临界区复杂。因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的线程之间实现对资源的安全共享。通过CMutex来完成线程间的互质,即:CMutex Mutext;从而我们可以这样来定义数据对象:#include "afxmt.h"class CDataArray{private: int iArray[10]; CMutex...
线程同步--使用临界区

线程同步--使用临界区

线程同步--使用临界区2011-01-07龚辉斌临界区是一种保证在某一时刻只有一个线程能访问数据的简便办法。不管哪一个线程占用临界区对象,它都可以访问受保护的数据,而其他线程就必须等待,直到占用临界区的线程进行释放操作,从而临界区的数据是不会一个以上的线程同一时刻访问的。在MFC中通过CCtiticalSection类来创建临界区实例,如:CCriticalSection CriticalSection;当线程准备访问临界区的数据时,必须调用它的成员函数L...
编写断点续传和多线程下载模块

编写断点续传和多线程下载模块

编写断点续传和多线程下载模块2009-11-08概述在当今的网络时代,下载软件是使用最为频繁的软件之一。几年来,下载技术也在不停地发展。最原始的下载功能仅仅是个“下载”过程,即从WEB服务器上连续地读取文件。其最大的问题是,由于网络的不稳定性,一旦连接断开使得下载过程中断,就不得不全部从头再来一次。随后,“断点续传”的概念就出来了,顾名思义,就是如果下载中断,在重新建立连接后,跳过已经下载的部分,而只下载还没...
线程同步--使用信号量

线程同步--使用信号量

线程同步--使用信号量2011-01-07龚辉斌除了使用临界区与互斥可以完成线程间的同步外,还可以使用信号量CSemaphore。使用信号量还有一个好处便是:信号允许多个线程同时使用共享资源,这便与操作系统中的PV操作有些雷同的地方。它指出了同时访问共享资源的线程最大数目。在信号量内部有一个计数器,当有线程访问共享资源时,计数器将自动递减,当它为0时,不再允许其他线程对共享资源的访问,直到有一个线程释放共享资源,从而完成对共享资源的保护。在建立一个信号量时...
在MFC工程中添加ATL

在MFC工程中添加ATL

在MFC工程中添加ATL2011-01-07 vckbase orangeATL初学者,很希望和大家多交流,多谢!说明:1.新建一个基于对话框的project:(MFC_in_ATL)2.Insert/New ATL Object...,此时出现如图对话框:点击yes,如下图:接着Next,如下图:确定即可。注:在出现第一个图所示的对话框时,有可能出现如下图所示的情况:按确定,不要管它,然后再Insert/New ATL Object...,就可以了,这是...
<< 81 82 83 84 85 86 87 88 89 90 >>