<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mxling</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mxling]]></copyright><item><title><![CDATA[c#调用C++的DLL动态链接库]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/113395644</link><guid>https://blog.youkuaiyun.com/mxling/article/details/113395644</guid><author>mxling</author><pubDate>Fri, 29 Jan 2021 16:49:42 +0800</pubDate><description><![CDATA[最近需要用到在C#里调用C++的DLL，做个测试Demo先，具体分两步：

（1）第一步 做一个简单的c++DLL，本例子中做了一个DllTest(SumSub)动态库，输出mySum和mySub两个函数。这个过程需要注意的是别忘了建Def文件，里面写好

LIBRARY
EXPORTS

 mySum
 mySub

（2）第二步，做一个简单的C#控制台程序，注意一下几点：

1.切记using System.Runtime.InteropServices;//C#引用C++库文件必备

2.[Dl...]]></description><category></category></item><item><title><![CDATA[设备坐标和逻辑坐标]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/39578167</link><guid>https://blog.youkuaiyun.com/mxling/article/details/39578167</guid><author>mxling</author><pubDate>Fri, 26 Sep 2014 11:23:03 +0800</pubDate><description><![CDATA[Windows应用程序绘制图形时使用的是一种逻辑单位，每个逻辑单位的大小由映射模式决定，这个逻辑单位既可以与设备单位（屏幕或打印机上的一个像素点）相同，也可以是一种物理单位（如毫米），还可以是用户自定义的一种单位。在Windows应用程序中，只要与输出有关系，都要使用映射模式。本文的目的是帮助读者了解映射模式的一些基本知识，并对在使用中经常
 出现的一些问题提出解决方案。
一、映射模式基本知识]]></description><category></category></item><item><title><![CDATA[打印程序]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/39050069</link><guid>https://blog.youkuaiyun.com/mxling/article/details/39050069</guid><author>mxling</author><pubDate>Thu, 04 Sep 2014 11:27:38 +0800</pubDate><description><![CDATA[引言 
打印程序的编写在windows程序设计中非常有用，针对不同的用户需要，通常用sdk方式实现打印代码量比较大，而且要对打印流程的底层有非常清楚的了解，需要一个程序员有非常深入的打印方面的知识，利用MFC提供的文档视图结构，不但可以实现一些常用的标准界面元素，把数据的处理的界面的处理分离出来，而且其提供的打印功能更是方便快捷，功能强大。打印程序的编写本质是是一种GDI绘图，只是绘图的对象是在]]></description><category></category></item><item><title><![CDATA[树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEW（转）]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/38945251</link><guid>https://blog.youkuaiyun.com/mxling/article/details/38945251</guid><author>mxling</author><pubDate>Sat, 30 Aug 2014 16:47:36 +0800</pubDate><description><![CDATA[TVINSERTSTRUCT

包含添加新项到树形视控件所使用的信息。这个结构被TVM_INSERTITEM消息使用。这个结构与TV_INSERTSTRUCT结构是一样的，但它已经按当前的命名习惯重命名了。
typedef struct tagTVINSERTSTRUCT {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
#if (_WIN32_]]></description><category></category></item><item><title><![CDATA[Modbus/Modbus Plus(MB+)/Modbus TCP/IP区别]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/38919305</link><guid>https://blog.youkuaiyun.com/mxling/article/details/38919305</guid><author>mxling</author><pubDate>Fri, 29 Aug 2014 08:25:24 +0800</pubDate><description><![CDATA[ModBUS总线是美国莫迪康（Modicon）公司（后被法国施耐德Schneider公司收购）在世界上首先推出的基于RS485的总线。ModBUS为Modicon’s BUS（即：Modicon 的总线）的缩写。
首先， 
MODBUS 物理层是RS232/422/485 
MODBUS PLUS 链路层采用的是HDLC
MODBUS TCP/IP 是把MODBUS作为应用层协议，TCP/]]></description><category></category></item><item><title><![CDATA[ClientToScreen 和ScreenToClient 用法]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/38753905</link><guid>https://blog.youkuaiyun.com/mxling/article/details/38753905</guid><author>mxling</author><pubDate>Fri, 22 Aug 2014 11:39:11 +0800</pubDate><description><![CDATA[ClientToScreen( )是把窗口坐标转换为屏幕坐标

pWnd->GetWindowRect(&rc);是获取整个窗体的大小
pWnd->GetClientRect(&rc1);是获取窗体中客户区的大小





ScreenToClient(
 )是把屏幕坐标转换为窗口坐标
屏幕坐标是相对于屏幕左上角的，而窗口坐标是相对于窗口用户区左上角的
VC下，有些函数使用]]></description><category></category></item><item><title><![CDATA[CTypedPtrList 用法]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/38494063</link><guid>https://blog.youkuaiyun.com/mxling/article/details/38494063</guid><author>mxling</author><pubDate>Mon, 11 Aug 2014 16:01:44 +0800</pubDate><description><![CDATA[转自：http://zhangwangcheng415.blog.163.com/blog/static/595263882012725111723185/]]></description><category></category></item><item><title><![CDATA[各种触发器（D、RS等）]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5809664</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5809664</guid><author>mxling</author><pubDate>Fri, 13 Aug 2010 14:25:00 +0800</pubDate><description><![CDATA[<br />一、触发器的概念 <br />复习：组合电路的定义？构成其电路的门电路有何特点？组合电路与时序电路的区别？<br />门电路：在某一时刻的输出信号完全取决于该时刻的输入信号，没有记忆作用。<br />触发器：具有记忆功能的基本逻辑电路，能存储二进制信息（数字信息）。<br />触发器有三个基本特性：<br />（ 1 ）有两个稳态，可分别表示二进制数码 0 和 1 ，无外触发时可维持稳态； <br />（ 2 ）外触发下，两个稳态可相互转换（称翻转）， 已转换的稳定状态可长期保持下来，这就使得触]]></description><category></category></item><item><title><![CDATA[C++中字符串与整型浮点型间的转换]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5709973</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5709973</guid><author>mxling</author><pubDate>Fri, 02 Jul 2010 19:32:00 +0800</pubDate><description><![CDATA[<br />本文来自优快云博客，转载请标明出处：http://blog.youkuaiyun.com/a56508820/archive/2009/07/11/4340056.aspx<br /> <br />C++中字符串与整型浮点型间的转换<br />atof（将字符串转换成浮点型数）  <br />相关函数   atoi，atol，strtod，strtol，strtoul<br />表头文件   #include <stdlib.h><br />定义函数   double atof(const char *n]]></description><category></category></item><item><title><![CDATA[hart 、 FoudationFieldbus、 PROFIBUS 通讯协议]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5586708</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5586708</guid><author>mxling</author><pubDate>Thu, 13 May 2010 13:27:00 +0800</pubDate><description><![CDATA[HART(Highway Addressable Remote Transducer)，可寻址远程传感器高速通道的开放通信协议，是美国Rosement公司于1985年推出的一种用于现场智能仪表和控制室设备之间的通信协议。 HART装置提供具有相对低的带宽，适度响应时间的通信，经过10多年的发展，HART技术在国外已经十分成熟，并已成为全球智能仪表的工业标准。 HART协议采用基于Bell202标准]]></description><category></category></item><item><title><![CDATA[网线（绞线）的分类]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5532758</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5532758</guid><author>mxling</author><pubDate>Tue, 27 Apr 2010 10:09:00 +0800</pubDate><description><![CDATA[今天在研究拓扑结构时想到了网线的分类，复习一下：  绞线常见的有3类线，5类线和超5类线，以及最新的6类线，前者线径细而后者线径粗，型号如下： 1）一类线：主要用于传输语音（一类标准主要用于八十年代初之前的电话线缆），不同于数据传输。 2）二类线：传输频率为1MHZ，用于语音传输和最高传输速率4Mbps的数据传输，常见于使用4MBPS规范令牌传递协议的旧的令牌网。 3）三类线：指目前在]]></description><category></category></item><item><title><![CDATA[7段LED显示器字符段码表]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5530637</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5530637</guid><author>mxling</author><pubDate>Mon, 26 Apr 2010 16:51:00 +0800</pubDate><description><![CDATA[7段LED显示器字符段码表   显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC0HC39HC6H106HF9Hd5EHA1H]]></description><category></category></item><item><title><![CDATA[volatile关键字 ]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5503579</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5503579</guid><author>mxling</author><pubDate>Mon, 19 Apr 2010 17:48:00 +0800</pubDate><description><![CDATA[volatile关键字是一种类型修饰符，用它声明的类型变量表示可以被某些编译器未知的因素更改。用volatile关键字声明的变量i每一次被访问时，执行部件都会从i相应的内存单元中取出i的值。没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值（因为之前i被访问过，也就是说之前就从内存中取出i的值保存到某个寄存器中），之所以直接从寄存器中取值，而不去内存中]]></description><category></category></item><item><title><![CDATA[CPU、MCU、MPU、DSP的区别]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5477980</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5477980</guid><author>mxling</author><pubDate>Mon, 12 Apr 2010 18:42:00 +0800</pubDate><description><![CDATA[CPU（Central Processing Unit，中央处理器）发展出来三个分枝，一个是DSP（Digital Signal Processing/Processor，数字信号处理），另外两个是MCU（Micro Control Unit，微控制器单元）和MPU（Micro Processor Unit，微处理器单元）。MCU集成了片上外围器件；MPU不带外围器件（例如存储器阵列），是高度]]></description><category></category></item><item><title><![CDATA[ROM、RAM、DRAM、SRAM、FLASH.....的区别]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5411575</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5411575</guid><author>mxling</author><pubDate>Wed, 24 Mar 2010 13:21:00 +0800</pubDate><description><![CDATA[ROM和RAM指的都是半导体存储器，ROM是Read Only Memory的缩写，RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据，而RAM通常都是在掉电之后就丢失数据，典型的RAM就是计算机的内存。     RAM有两大类，一种称为静态RAM（Static RAM/SRAM），SRAM速度非常快，是目前读写最快的存储设备了，但是它也非常]]></description><category></category></item><item><title><![CDATA[PLC和PAC区别]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5365001</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5365001</guid><author>mxling</author><pubDate>Wed, 10 Mar 2010 14:54:00 +0800</pubDate><description><![CDATA[PACPAC的概念是由ARC咨询集团的高级研究员Craig Resnick提出的，在谈到创造这个新名词的意义时，他认为，“PLC在市场相当活跃，而且发展良好，具很强的生命力。然而，PLC也正在许多方面不断改变，不断增加其魅力。自动化供应商正不断致力于PLC的开发，以迎合市场与用户需求。功能的增强促使新一代系统浮出水面。PAC基于开放的工业标准、具多领域功能、通用的开放平台以及高性能。ARC创造了这]]></description><category></category></item><item><title><![CDATA[DCS、DEH两种控制系统说明和区别]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5364764</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5364764</guid><author>mxling</author><pubDate>Wed, 10 Mar 2010 14:05:00 +0800</pubDate><description><![CDATA[一直以来一直接触DCS方面控制，现在学习一下DEH，顺便复习： 正文：DCS是什么意思？  DCS是分散控制系统(DistributedControlSystem)的简称，国内一般习惯称为集散控制系统。它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统，综合了计算机(Computer)、通讯(Communication)、显示(CRT)和控制(Control)等4C]]></description><category></category></item><item><title><![CDATA[字符串操作函数]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/5320273</link><guid>https://blog.youkuaiyun.com/mxling/article/details/5320273</guid><author>mxling</author><pubDate>Tue, 23 Feb 2010 17:13:00 +0800</pubDate><description><![CDATA[ 前段时间，帮朋友做了个c类，主要是操作字符串，特总结一下字符串的常用函数 函数名: stpcpy 功  能: 拷贝一个字符串到另一个 用  法: char *stpcpy(char *destin, char *source); 程序例: #include  #include  int main(void) {    char string[10];    char *s]]></description><category></category></item><item><title><![CDATA[CStdioFile总结]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/4961954</link><guid>https://blog.youkuaiyun.com/mxling/article/details/4961954</guid><author>mxling</author><pubDate>Tue, 08 Dec 2009 10:24:00 +0800</pubDate><description><![CDATA[转自：http://blog.pfan.cn/sword2008/31490.html CStdioFile继承自CFile.参数内容:第一个参数为路径+文件名,最后一个为错误出现的结构.现在解释下第二个参数CFile::modeCreate   Directs the constructor to create a new file. If the file exists]]></description><category></category></item><item><title><![CDATA[VC遍历文件夹下所有文件和文件夹 ]]></title><link>https://blog.youkuaiyun.com/mxling/article/details/4958999</link><guid>https://blog.youkuaiyun.com/mxling/article/details/4958999</guid><author>mxling</author><pubDate>Mon, 07 Dec 2009 19:46:00 +0800</pubDate><description><![CDATA[find(char * lpPath){    char szFind[MAX_PATH];    WIN32_FIND_DATA FindFileData;    strcpy(szFind,lpPath);    strcat(szFind,"//*.*");    HANDLE hFind=::FindFirstFile(szFind,&FindFileData);    if(IN]]></description><category></category></item></channel></rss>