- 博客(175)
- 资源 (58)
- 收藏
- 关注
原创 工业数据采集网关-采集精灵
自主研制的工业数据采集网关(IoT Geteway),可以便地实现现场设备的远程数据采集,用于采集数控机床、控制设备等的生产数据,如报警信息、生产件数、刀具号等关键信息。将采集到的数据灵活的发送到工业互联网平台进行深度分析,进一步实现企业的工业信息化程度,提升产能,降低成本,提高效益。
2023-01-07 20:43:53 1410 2
原创 Linux采集Fanuc机床数据测试
依赖库文件目录:FOCAS2\Linuxso文件:libfwlib32.so.1.0.5头文件:fwlib32.h操作步骤拷贝库文件"libfwlib32.so.1.0.5" 到应用目录(可以直接复制到系统库目录更方便 “/usr/local/lib/” f)运行如下3个命令:sudo ldconfigsudo ln –s /usr/local/lib/libfwlib32...
2020-03-28 20:16:56 4399 13
原创 一步一步实现HTTP服务器-开篇
缘起翻开清单,一条条计划一直列在那里,一天又一天,不知道什么时候写下了它,也知不道什么时候完成它,它一直在那静静的等待着。静下心来,反思自己,才发现自己是多么的无知,多么的没有毅力。设定了无数目标,指定了无数计划,但是到头来呢?都是在无尽的叹息中,放弃了定下的目标。坚持 只是每天不断在内心回响的口号,想起了,就猛地觉醒,要进步、要努力、要坚持、要有目标。但是每每都是拿出计划本亦或是打开清单...
2018-05-18 08:54:43 655 1
原创 一起学习Boost标准库--Boost.texical_cast&format库
今天接续介绍有关字符串表示相关的两个boost库:lexical_cast 将数值转换成字符串format 字符串输出格式化首先,介绍下lexical_cast ,闻其名,知其意。类似C中的atoi 函数,可以进行字符串与整数/浮点数之间的字面转换Boost::lexical_cast库前期准备lexical_cast库位于boost命名空间下,使用需...
2018-05-13 21:56:41 858
原创 Windows窗体数据抓取详解
最近在客户项目上刚好遇到一个问题,项目需求是要获取某台机床的实时状态,问题点刚好就在于该机床不是传统意义上的数控机床,也不是PLC控制器,只有一个上传下载程序文件的应用程序,上面刚好有几个按钮可以大概判断当前工作状态,转眼一想,是否可以实时获取几个按钮的状态,从而简单分析下就确定机床加工状态。说干就干,开始拿起放下已久的Win32API来试试。思路大概如下:首先,我们知道的是应用程序的进...
2018-04-22 21:04:22 6536 3
原创 Windows结构化异常处理浅析
近期一直被一个问题所困扰,就是写出来的程序老是出现无故崩溃,有的地方自己知道可能有问题,但是有的地方又根本没办法知道有什么问题。更苦逼的事情是,我们的程序是需要7x24服务客户,虽然不需要实时精准零差错,但是总不能出现断线丢失数据状态。故刚好通过处理该问题,找到了一些解决方案,怎么捕获访问非法内存地址或者0除以一个数。从而就遇到了这个结构化异常处理,今就简单做个介绍认识下,方便大家遇到相关问题后,...
2018-04-22 13:11:21 893
原创 科学计算工具-Numpy初探
Numpy基础数据结构Numpy数组是一个多维数组,称为ndarray。其由两部分组成:实际的数据描述这些数据的原数据导入该库:import numpy as np多维数组ndarray数组的基本属性数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量...
2018-03-04 20:11:32 402
原创 Python数据分析学习-re正则表达式模块
正则表达式 为高级的文本模式匹配、抽取、与/或文本形式的搜索和替换功能提供了基础。简单地说,正则表达式(简称为 regex)是一些由字符和特殊符号组成的字符串,它们描述了模式的重复或者表述多个字符,于是正则表达式能按照某种模式匹配一系列有相似特征的字符串。换句话说,它们能够匹配多个字符串……一种只能匹配一个字符串的正则表达式模式是很乏味并且毫无作用的,不是吗?Python 通过标准库中的 r...
2018-02-24 15:08:48 504
原创 NFS配置及使用
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享存储。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2017-07-21 17:40:28 3635
原创 Ubuntu离线安装软件包
一.应用场景a.当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间时b.需要安装软件的ubuntu不能上网二.离线安装包的制作2.1.通过如下指令下载XXXX软件所需要的deb包 $ sudo apt-get -d install XXXXX执行完上述指令后,XXXX软件的安装包就下载到了/var/cache/apt/archives目录下
2014-09-26 16:33:42 20607 1
原创 路由器与交换机的工作原理(转)
计算机网络往往由许多种不同类型的网络互连连接而成。如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种“互连”并没有什么实际意义。因此通常在谈到“互连”时,就已经暗示这些相互连接的计算机是可以进行通信的,也就是说,从功能上和逻辑上看,这些计算机网络已经组成了一个大型的计算机网络,或称为互联网络,也可简称为互联网、互连网。将网络互相连接起来要使用一些中间设备(或中间系统),
2013-12-11 09:44:40 14541
原创 修改注册表来修改IE的设置---资料汇总
1. 添加删除受信任站点:/HKEY_CURRENT_USER/SoftWare/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Ranges下有一个信任站点就有一个RangeN(N为1,2,3...)的记录2. Internet自定义级别的修改:/HKEY_CURRENT_USER/SoftWare/
2013-12-02 10:51:33 44091 6
原创 <<深入浅出MFC>>笔记1——Win32基本程序观念
1.Windows SDK程序开发流程主要分为程序代码和UI资源两部分。 2.以消息未基础,以事件驱动 程序不断的等待外围的输入,判断在处理。操作系统通过捕捉外围输入,以消息的形式进入程序中,程序通过获取的不同消息进行不同的处理。USER模块掌管外围的驱动程序。 程序通过一个循环来获取消息。MSG msg;
2013-10-11 23:15:37 4487
原创 基础知识--确定本机到另外一台机器中路由器的个数
2013/8/8 0:30:44怎么确定本机到另外一台机器中路由器的个数:使用ping命令中的TTL大概可以判断,一般TTL默认值是64,128,每经过一个路由器减1,比如ping www.baidu.com大概经过的路由器为:64-52 = 12使用tracert命令可以获取经过的路由器。tracert的命令使用如下:我们可以使用tracert -
2013-08-08 00:50:37 3786
原创 使用COM简单操作IE
主要使用IWebBrowser接口。具体可参考如下博文:http://blog.csdn.net/shanhe/article/details/397373代码如下:#include #include #include #include using namespace std;int main(){ HRESULT hr; IWebBrowser2 *pWebBrowse
2013-06-10 13:01:56 5860 1
原创 COM的“可重用性”特性包括两种模型:包容和聚合
包容和聚合是COM的两种重用模型,它们的思路基本一致,只是在实现方法上有所不同,下面简要总结一下实现方法:1.包容: 假定我们已经实现了一个COM对象,不妨称它为对象A,它实现了接口ISomeIntf,不久之后,考虑到新的需要,我们要实现一个新的COM对象,称它为B,它既要实现接口ISomeIntf,也要实现接口IOtherIntf,而且,ISomeIntf接口所提供的服务与对象A所
2013-05-28 23:03:14 3866 1
原创 C++实现一个二维数组类
#ifndef __H_MATRIX_H__#define __H_MATRIX_H__#include using namespace std;templateclass matrix{ public: matrix(int rows, int cols):array(rows) { for (int i=0; i<rows; i++) array[i].
2013-05-25 14:05:02 5168
原创 Inside COM读书笔记-----多线程
1. COM线程模型COM并没有定义新的线程和进程模型,而是直接使用Win32线程。1.1Win32线程 典型的Win32线程具有两种不同类型的线程:用户界面线程和工作线程。用户线程是同一个或多个窗口关联着的。这些线程具有自己的消息循环,工作线程用于后台处理。一个进程可以具有多个用户界面线程和多个工作线程。 每一个用
2013-05-22 21:24:04 2628
原创 Inside COM读书笔记-----调度接口与自动化
1. 一种新的通信方式IDispatch为客户和组件提供了另外一种通信方式,有了IDispatch后,COM组件可以通过一个标准的接口提供它所支持的服务,而无需提供多个特定与服务的接口。 1.1旧的通信方式客户和组件之间的通信是通过接口完成的,接口拥有一个有函数指针构成的数组。客户代码需要包含一个以抽象基类形式描述接口的头文件。编译器将读取此头文件,然后为抽象基类
2013-05-22 21:15:19 4590 2
原创 Inside COM读书笔记-----ExE中的服务器
1. 不同的进程每一个EXE文件都将在不同的进程中运行,而每一个进程都有其自己的进程空间。一个进程空间中的逻辑地址0X0000ABBA所对应的物理地址将不同于另外一个进程中同一逻辑地址所对应的物理地址。所以若一个进程将地址0X0000ABBA传给另一个进程,后者访问到的逻辑单元将不是前一个进程所希望的。同每一个EXE都有自己的进程不同,DLL将映射到链接他们的EXE文件的进程
2013-05-22 21:09:39 2724
原创 Inside COM读书笔记-----包容和聚合
1. 包容和聚合包容和聚合实际上是使一个组件使用另一个组件的一种技术。包容简介 外部组件包含指向内部组件接口的指针,外部组件只是内部组件的一个客户。外部组件也可以通过将调用转发给内部组件的方法重新实现内部组件所支持的某个接口,并且外部组件还可以在内部组件代码的前面加上一些代码以对接口进行改造。 聚合简介 聚合是包容的一个
2013-05-22 20:57:55 2926
原创 Inside COM读书笔记-----类厂
1.CoCreateInstance 通过传人参数CLSID创建相应组件的一个实例,并返回此组件实例的某个接口。 CoCreateInstance的声明 HRESULT __stdcall CoCreateInstance( __in REFCLSID rclsid, __in_opt LPUNKNOWN pUnk
2013-05-14 18:38:27 2822
原创 调试版本和发行版本
Microsoft将应用程序的调试版本定义与符号调试信息,或与调试库一起建立的程序的一个版本。一个库的版本包括诊断帮助。并执行各种集成检查,以帮助调试一个程序。Microsoft将发行版本定义为程序的一个编译版本,其中不包括在调试模式中建立编译时所包含的调试和诊断特性。例如发行版本不包括ASSERT宏所包含的源代码。1.缺省的调试版本建立与发行版本建立设置 缺省调试
2013-05-13 21:13:05 2796
原创 Inside COM读书笔记-----关于HRESULT、GUID、注册表及其它细节
1. HRESULTHRESULT是一个可以分成三个域的32位值,注意:S_FALSE被定义为1而S_OK被定义为0,这一点同C/C++变成原则正好相反。HRESULT值中16到30这15个比特位包含的时设备代码,设备代码标识的时可以返回HRESULT中返回代码的操作系统部分。当前定义的:HRESULT值的使用成功的代码有多
2013-05-13 21:00:17 2772
原创 Inside COM读书笔记------动态链接库
1. 组件的创建在客户获取某个组件接口指针之前,必须先将相应的DLL装载到起进程空间中并创建此组件。从DLL中输出函数先将需要输出的函数用extern “C”进行标记,如:extern "C" IUnknown * CreateInstance(){ IUnknown*pI = (IUnknown*)(void*)new CA;
2013-05-13 20:56:48 2677
原创 Inside COM读书笔记------引用计数
1. 生命期控制当使用完一个接口而仍要使用另外一个接口时,是不能将此组件释放掉的。很难知道两个指针是否指向同一个对象。IUnknown的另外两个函数AddRef和Release来指示合适处理完一个接口的手段。2. 引用计数简介AddRef和Release实现的时一种名为引用计数的内存管理技术。引用计数是使组件能够自己将自己删除的最简单同时也是
2013-05-13 20:53:41 2250
原创 Inside COM读书笔记------QueryInterface接口
1. 接口查询关于IUnknown所有的com接口都继承了IUnknown,每个接口的前三个函数是QueryInterface、AddRef、Release。这使得所有的接口都可以当成IUnknown来使用。因此组件的任何一个接口都可以被客户用来获取他所支持的其他接口。IUnknown指针的获取可以通过一个CreateInstance函
2013-05-13 20:49:57 2587
原创 Inside COM读书笔记------接口
1.接口的作用组件可以充应用程序中删除并可用另外一个组件代替,只要新的组件支持同样的接口。单个组件并不能起决定性作用,相反,用以连接组件的接口对应用程序亲戚到决定性作用。使用组件来构成应用程序最大优点在于可以复用应用程序的结构。接口可以保护系统免受外界变化的影响、接口可以使得客户用相同的方式处理不同的组件。2.COM接口的实现class IX
2013-05-09 19:01:38 1967
原创 Microsoft Visual Studio C++ 编译器选项设置
1、vc ->Project->Setting->C/C++ 的优化选项依赖与Category下拉框:General 提供了最有效的选择一个一般优化目标的方法,但不允许精细地控制单个优化技术 在优化选项下有5种选择:Default、Disable(Debug)、Maximize Speed、Minimize Size和Customize。
2013-05-06 20:16:58 16964 2
原创 用IDataObject访问剪切板
一个简单的通过OLE来访问粘贴板的例子: WINOLEAPI OleGetClipboard(IDataObject ** ppDataObj); 这个简单的Windows API调用用来返回一个IDataObject,它提供用来一个干净地访问WINDOWS粘贴板内容的好接口。注意,我们在本例中不需要实现IDataObject 接口,我们仅仅需要知道接口怎么样工作的,一个简单的访问粘贴板内
2013-05-04 09:48:47 5192 1
原创 i++ and ++i的误解
不知在那本书上看到 ++i比i++要快(i++需要一个临时变量存储i的值后再++),就记住这个一直没测试,所以在写代码的时候 一直就使用++i觉得它快。今天测试了下发现并不是这么回事,一直被误解。所以写了简单的demo测试了下:int main(){ int a,c; a = 0; a++; ++a; c =a++; c = ++a; c = a+1;
2013-05-02 22:36:44 2502 1
原创 VC运行时库
编译程序是遇到几个错误,发现是运行时库设置的问题,网上找资料发现这写得不错收藏一个。 原文:http://dearymz.blog.163.com/blog/static/205657420096675044722/ VC项目属性→配置属性→C/C++→代码生成→运行时库 可以采用的方式有:多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多
2013-05-02 18:49:17 2239
原创 vs2010 快捷键大全
VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目
2013-04-20 18:39:08 1516
原创 “Microsoft Visual Studio 2010 遇到了异常,可能是由某个扩展导致的”
大清早的遇到这么个情况,在编辑器里面随便输入个字符就报错,即时源码检查也失效了。查了一下跟MSDN 2008有关,刚好我昨天就装了这玩意儿……MSDN 2008把某个DLL的注册路径给修改掉了,所以VS2010加载插件的时候出错。以下是具体的解决方法:这个bug是安装某些软件的时候,vs2010相关的注册表值被修改了,只要改回来就好了。对于32位机器,查找注册表的项:
2013-04-12 09:11:22 7258 2
原创 完整的DirectShow捕获音视频的demo(源码)
下载:DirectShow获取视频和音频数据 近段时间由于工作上的需要,大概看了下DirectShow,写了个小的demo,方便理解。以后在深入的学习下DirectShow。贴出代码。对音频所做的处理如下图:1. common.h文件#ifndef __COMMON_H__#define __COMMON_H__#include #incl
2013-03-14 15:39:05 22807 34
原创 #pragma 预处理指令详解[转载]
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用
2013-02-24 08:53:03 1623
MSBuild.rar
2020-06-23
CLR via C#(第4版)中文高清完整PDF
2017-11-30
JavaScript高级程序设计(第3版)
2012-05-20
[Visual.Studio插件].Whole.Tomato.Visual.Assist.X.v10.6.1862.0.
2012-05-09
c++ GUI.Programming.with.Qt.4.
2011-12-10
深度探索C++对象模型(简体中文版).pdf
2011-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人