现在位置: 首页 > 自动控制 > 工业·编程 > 文章
谁都知道,站在山顶上,就能比山高。在一定的基础上开发一个软件,大多时候都比从头开始更容易、更迅速。但是,如何形成这样的基础,如何产生更好的技术基础,这是个问题。很多人和公司都进行过这样的技术积累工作,本文将分享一些这方面的想法,与大家探讨。 保留一堆程序,算不上技术积累。很多人可能会遇到这样的情况:你新到一家软件公司工作,部门的主管给你一堆程序,说你先看看,以后你负责这一块东西。这个程序最初是谁...
阅读全文
2014-07-02 05:44 工业·编程 ⁄ 共 733字 暂无评论
用在类成员函数的声明和定义中,表示函数可以对const对象进行操作,但是不能改变数据成员的内容. #include<iostream>    using   namespace   std;    class   A{        int   data;    public:        A(int   da=100):data(da){}      ...
阅读全文
2014-07-02 05:35 工业·编程 ⁄ 共 724字 暂无评论
     在VS的工程中常常要设置头文件的包含路径,当然你可以使用绝对路径,但是如果你这样设置了你只能在你自己的机器上运行该工程;如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了E:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。     对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相当”究竟是以什么...
阅读全文
其实无论在子线程还是主线程中,设置的钩子都是一样的。但是,如果只是像在主线程中那样调用完SetWindowsHookEx函数就以为没事了,那你有可能什么也钩不到。如果你设置的是鼠标钩子,你还会看到鼠标反应迟顿。这是为什么呢? 前些日子我就遇到过这事,在网上搜了半天也没找到解决方案。无奈,自己仔细研究,找到原因了,非常简单,与大家分享。 答案就是,调用完SetWindowsHookEx后,子线程中要启动消息泵,不能Sleep在那里,也...
阅读全文
2014-07-01 06:25 工业·编程 ⁄ 共 1214字 评论 1 条
在Windows应用程序开发中,有很多地方使用了回调函数。一般的开发并不关心谁来调用这些函数,但如果开发复杂的多线程协作处理程序,或者研究操作系统中程序的“操作权限”问题,您就需要知道您写的这段代码是由谁来调用的,在哪个线程或进程中执行的。 最常见的就是Windows消息响应函数。一般的书本并不讨论这些函数是如何被调用的,只是说消息产生时,这些函数将会执行。初学者也许会以为,如果两个消息一起发出,那么它们的响应...
阅读全文
2014-07-01 06:10 工业·编程 ⁄ 共 1658字 暂无评论
只有在使用MFC框架时才有UI线程和工作者线程之分。UI线程与工作者线程的区别是操作系统为UI线程创建并维护了一个消息队列。 其实线程在创建时(无论是API还是MFC),都是工作者线程。当线程调用发送消息或提取消息或图形用户界面相关的函数时,系统才为其创建一个消息队列和THREADINFO结构,这时的线程才称为UI线程。 VC开发的控制台程序的主线程是工作线程,其他程序的主线程为UI线程。_beginthreadex/CreateThread等函数创建...
阅读全文
2014-07-01 05:55 工业·编程 ⁄ 共 6039字 暂无评论
作者注: 由于本人对Windows底层机理了解不深,本文如有错误,敬请指正。                                               金旭亮 ================================================...
阅读全文
2014-07-01 05:47 工业·编程 ⁄ 共 5957字 暂无评论
目标: 能够熟练掌握QML的开发。 第一天 QML是什么? 官方有很标准的定义,我个人觉得它是一个脚本语言,能够通过该脚本语言创建动态的场景,有点类似于FLASH。 为什么要学习QML? 因为现代程序对界面的需求越来越高,而一般的C++界面设计比较复杂,所以需要一种能够快速建立界面,并且能够很好的与下层逻辑进行衔接的方案,QML就满足了这样的需求。 QML初步理解: 看了QML的一些示例代码,感觉QML是一种脚本语言,用于动态...
阅读全文
2014-07-01 05:10 工业·编程 ⁄ 共 2105字 暂无评论
首先声明, 这里的工作线程与UI线程是相对的,即没有任何窗口的. 如果需要与主线程或其它辅助线程通讯,有几种方法如事件,消息,信号等,也可以是以上几种方法的综合运用.下面就列出以下3种通讯方法的代码框架   (1)只用消息通讯 DWORD ThreadProc(LPVOID lParam)  {      //创建线程消息队列      MSG msg;      PeekMessage(&msg, NULL, WM_USER, WM...
阅读全文
    在使用 VC 链接 dll 时,通常需要一个导入库文件(.lib),但有时我们只有一个 dll 文件,怎么办呢?     通常,在链接库文件时,需要一个 (.lib)文件,lib 文件分为两种:一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。VC 在链接 dll 时,需要根据导入库(.lib)来定位 dll 中的符号...
阅读全文