现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2014-06-02 16:58 工业·编程 ⁄ 共 1645字 暂无评论
vcproj文件是vs08或vs05的工程文件,而sln文件为vs08或vs05的的项目文件。 vcproj的具体格式为xml格式,其中包含三个主要的节:platform,configuration,Files platform:描述的只是x64,x86等不同的平台。 configuration:描述的是编译和链接器的环境配置信息。可以通过vs08或者vs05的项目属性进行设置,也可以手动的进行设置。 Files:描述的是编译时需要的各种cpp,h文件,其中也会分节点,Filter描述的是目录,Files描述的...
阅读全文
2014-06-01 16:52 工业·编程 ⁄ 共 796字 暂无评论
写一个C++程序,监控另一个进程,发现该进程关掉了就自动把它重启。 int _tmain(int argc, TCHAR *argv[]) { STARTUPINFO si;     PROCESS_INFORMATION pi; //进程信息:     ZeroMemory(&si, sizeof(si));     si.cb = sizeof(si);     ZeroMemory(&pi, sizeof(pi)); do{   // 创建子进程,判断是否执行成功   if(!CreateProcess( NULL,&quo...
阅读全文
2014-05-31 16:42 工业·编程 ⁄ 共 450字 暂无评论
这里的守护进程指的是无控制终端的进程。 Linux下运行进程只需要后面添加&就可以实现。有的时候需要设计一个可以同时在Windows和Linux下运行的守护进程,为了避免过多的修改代码。可以添加如下伪指令来实现: #ifndef WIN32 #pragma comment(linker,"subsystem:windows entry:mainCRTStartup") #endif 设置链接选项,subsystem为windows,即GUI程序,窗口必须显示创建;entry指定进入的函数为int main(int argc,...
阅读全文
2014-05-30 16:34 工业·编程 ⁄ 共 3269字 暂无评论
    守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂,复杂的是各种版本的Unix的实现机制不尽相同,造成不同U...
阅读全文
2014-05-29 05:40 工业·编程 ⁄ 共 3731字 暂无评论
1. 栈结构 设备栈(Device Stack)结构与内存中的栈类似,但是 device stack 中的 entry 由 device object 中的 AttachedDevice 值的连接。 如下图所示: 并且由每个 device 的 DeviceExtension.AttachedTo 值指向下一层的 device。从而形成双向的链结构。 2. 栈顶 由 IoGetAttachedDevice() 函数来得到当前栈顶 device: PDEVICE_OBJECT IoGetAttachedDevice( IN PDEVICE_OBJECT DeviceObject ) { // // 直...
阅读全文
2014-05-28 06:33 工业·编程 ⁄ 共 1106字 暂无评论
    Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 &...
阅读全文
2014-05-27 06:21 工业·编程 ⁄ 共 3033字 暂无评论
在建立好基本的OpenGL编程框架后,可以做一些更复杂的操作,如控制图像运动:移动、旋转、拉伸、加减速、变换、点选等。 相关阅读 ----MFC下的OpenGL编程:基础篇 1、按键控制图像运行 添加消息如下:ON_WM_KEYDOWN, ON_WM_LBUTTONDOWN,ON_WM_SIZE, ON_TIMER, ON_WM_CREATE, ON_WM_DESTROY。 编写代码如下: void CGLTestView::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default Inval...
阅读全文
2014-05-26 06:16 工业·编程 ⁄ 共 6497字 评论 1 条
MFC是微软件提供的一个C++编程框架,它提供了大量的类库,以更强的封装来简化C++的编程。当然,它与普通的Win32编程有些差别。 在MFC下进行OpenGL编程的步骤如下: 1、在工程中包含OGL函数库 法1. “工程”—“设置”—“连接”—“对象/库模块”中输入glaux.lib, opengl32.lib, glu32.lib。 法2. 在StdAfx.h中加入: #pragma comment(lib,"glaux.lib") #pragma comment(lib,"opengl32.lib") #pragma comment(lib,&quo...
阅读全文
    这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法,本文附带了有详尽注释的使用MFC编写的图形界面的示例代码。     我的初衷是希望写一份互联网上能找到的最详尽的关于完成端口的教学文档,而且让对Socket编程略有了解的人...
阅读全文
2014-05-25 05:45 工业·编程 ⁄ 共 10028字 评论 1 条
“完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!从本质上说,完成端口模型要求我们创建一个Win32完成端口对象,通过指定数量的线程,对重叠I/O请求进行管理,以便为已经完成的重叠I/O请求提供服务。 使用这种模型之前,首先要创建一个I/O完成端口对象,用它面向任意数量的套接字句柄,管理多个I/O请求。要做到这一点,需...
阅读全文