
C#
文章平均质量分 95
WangShade
www.laowangomg.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++、C#知识点 Dll的生成与调用
1 引言上周做了下C++生成Dll的总结,但是有些地方还是没有弄特别清楚(比如调用约定的区别,extern "C"的意义),所以这里再重新总结一遍。2 Dll的导出先创建一个空项目,空项目意味着我们可以从零开始一步一步配置环境,了解生成dll的整个步骤。(熟悉之后可以创建一个动态链接库(DLL)的项目,这样VS背后会帮我配置好环境,我们只需写代码就行了)2.1 设置项目属性右键项目》属性》常规设置目标文件扩展名为.dll,配置类型为动态库(.dll),字符集设置为使用Unicode字符集。原创 2021-11-14 21:01:15 · 10601 阅读 · 4 评论 -
Unity3D C#之IL2CPP Windows端隐藏任务栏图标并添加至托盘
1 引言在这篇文章中,我们实现了点击最小化和关闭菜单将程序隐藏到任务栏的功能,但是这篇文章需要额外一个winform程序来处理任务栏的功能,有没有方法可以不需要依赖其他程序也能实现这个需求呢?当然有的,使用Windows系统提供的API就行了。我们先来看看完全依靠调用Windows提供的API实现的效果。...原创 2021-11-06 22:33:43 · 5685 阅读 · 9 评论 -
Unity3D C# 信号FFT分析之5MHz超声波信号处理
上一篇《Unity3D C# 信号FFT分析之自定义波形UI控件》我们为了将采集到的波形展示出来,特意写了个脚本来绘制波形图。这一篇我们将用一个实际采集到的5MHz的超声波探头信号来进行fft分析,并将频谱图绘制出来。效果如下。! 5MHz探头频谱图闲话少说,直接进入主题。咱们先来看看理论基础,然后再看代码怎么写。1 快速傅里叶分析1.1 快速傅里叶(fft)分析是什么学过信号与系统的同学应该知道,任何一个周期信号都可以分解为无数个正弦波的叠加,傅里叶分析就是把这些正弦波给求出来。那么快速傅里原创 2020-09-13 22:44:03 · 5336 阅读 · 0 评论 -
Unity3D C# Socket通信详解之Protobuf.net使用详解
1 介绍2 Protobuf-Net的使用3 Protobuf的使用3.1 简单使用3.2 批处理原创 2020-08-23 21:53:23 · 2483 阅读 · 0 评论 -
Unity3D C# Socket通信详解之连接池
上一篇文章Unity3D C# Socket通信详解之基础介绍中,我们介绍了Socket通信的基本知识,文中给的demo有几个需要优化的地方,第一个就是需要使用连接池来处理客户端的连接。这里就来填这个坑。1 原理连接池的原理很简单,就是程序刚开始运行的时候,先实例化一个连接的数组,然后有客户端连接上来的时候就把这个连接分配给客户端。这样就避免了每次有客户端连接都需要去重新new一个连接对象(例子中的Conn类),因为new一个对象需要去申请和分配内存,比较耗时(尽管是很短很短的时间)。连接池依然是用"原创 2020-08-16 11:36:10 · 828 阅读 · 0 评论 -
Unity3D C# Socket通信详解之基础介绍
1 引言之前写了两篇和底层设备通信的文章,①Unity3D C# 从零自定义通讯协议 ②Unity3D C# 从零自定义通讯协议之通信框架,demo中用的是socket进行通信,索性这里来总结一下,方便以后查阅。2 Socket基础2.1 什么是Socketsocket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄(其实就是两个程序通信用的)。socket非常类似于电话插座。以一个电话网为例:电话的通话双方相当于相互通原创 2020-08-09 21:27:07 · 2754 阅读 · 0 评论 -
Unity3D C# 从零自定义通讯协议之通信框架
上篇文章写了自定义通讯协议的内容,但是留了个坑,这里来填上。这个框架是自己总结所得,并不是最优的解决方案,我自己也觉得还有很大的改善空间,但是现在工作中没有继续维护这个项目了,所以也就不了了之了。这里写下来方方便以后查看吧。1.逻辑分析服务端我随手写的用于测试用的,客户端发什么服务器就回复什么,就不多说了。主要看客户端这边,客户端和服务端使用的Tcp来通信。ps:客户端程序的启动入口是ClientAppStart协议如下:1.1 CommunicateController通信管理类Communi原创 2020-08-06 00:04:14 · 1737 阅读 · 1 评论 -
Unity3D C# 从零自定义通讯协议
1 引言博主大学学的电气工程,毕业后做了一年多地铁环控和低压配电自控系统的工作,经常要调试各种各样的设备,比如说电表、PLC、电机。和这些设备打交道的一个核心就是要明白设备支持的通讯协议,比如工业上常用的Modbus Rtu、Modbus Tcp。那时只简单知道这些通讯协议该怎么用,该怎么发数据去设定参数或读取数据,但是不清楚为什么这些协议会这么规定。直到后来从事开发工作,在一个项目中自定义了通...原创 2020-05-05 23:21:13 · 2186 阅读 · 1 评论 -
C# 使用Task.Factory.FromAsync将IAsyncResult、awit结合
最近在做读写示波器的工作,使用同步去读写示波器的话会阻塞线程,页面假死,这不能忍。然后改为异步,使用各种BeginXX和EndXX方法。由于那项目和示波器通信是有流程的,比如说先做事1,事1做完再做事2,事2做完才能做事3,这就导致要写一长串的回调方法(如下),和低版本的js一样,代码可读性实在太差了,这也不能忍!// 看到川普private void SeeTrump() Func<...原创 2020-04-25 11:51:02 · 1661 阅读 · 0 评论 -
NLog只在Debug模式输出log
1.首先是NLog.config配置文件中需要在rules中添加filters,如下<target xsi:type="AsyncWrapper" name="asyncProd"> <target xsi:type="File" name="logfileProc" fileName="${basedir}/logs/${buildConfigur...原创 2020-04-08 23:12:33 · 1269 阅读 · 0 评论 -
C#使用Unity3D开发安卓app控制PLC,控制实验室灯光开关
第一次写博客,之所以写,是用来记录以下自己的学习过程并总结一下学到的技能和各种小知识点,以免以后忘记可以查询。 这次做的东西呢,其实就是个App,这个App用来控制电灯的开关和窗帘的升降。当然这里不仅有软件还有硬件的部分。哦哦,说明一下,我是搞自动化的,以前从来没学过C#,只学过C,所以这个App现在也只是实现了基本的功能。现在进入正题。 硬件部分:见图。...原创 2019-08-17 10:52:20 · 3097 阅读 · 5 评论 -
Unity3D渲染系列之SkyBox天空盒
好几周没写博客了,这几周要不是回家要不就是有好久不见的朋友过来看自己。回家、有朋友过来看自己的确很开心,但是几周下来自己变得懒惰了,要放纵自己的确是很容易的一件事。就像布尔费墨说“旅游是件很廉价的事”一样,放纵自己也是很廉价的,只要你想,立马就能实现。永远不要放纵自己!所以从今天开始,每周都要坚持至少写一篇博客,虽然现在写一篇博客要占据自己一天的时间,但是这是值得的(虽然这些时间我可以用来学习...原创 2019-07-27 15:15:36 · 12112 阅读 · 1 评论 -
深入理解C# Unity List集合去除重复项 Distinct
C#集合中如何去除重复项?于是你百度了一波,找到以下解决方案。第一种:两次循环遍历List<int> repeatList= new List<int>() { 1, 2, 3, 4, 5, 3, 3, 2, 1};for (int i = 0; i < repeatList.Count; i++) //外循环是循环的次数 { for (int ...原创 2019-05-18 13:42:36 · 6661 阅读 · 2 评论 -
Unity绘制电线(三维空间两点生成曲线)
绘制电线,分解出来就一下几个问题需解决:曲线生成的问题如何根据空间中两点确定一条曲线绘制的电线可以用鼠标点击最终实现的效果如下:现在我们来一一解决。贝塞尔曲线关于贝塞尔曲线的原理,讲解的文章很多,大多是列出公式,然后就提供代码,其实讲得大同小异,公式怎么来的也没整明白。如果要了解贝塞尔曲线的原理,推荐这篇文章贝塞尔曲线扫盲,讲得很透彻。以下是根据3点生成曲线的代码。usin...原创 2019-05-11 17:52:17 · 15069 阅读 · 4 评论 -
订阅发布者模式/观察者模式-Unity C#代码框架
什么是订阅发布者模式?简单的说,比如我看见有人在公交车上偷钱包,于是大叫一声“有人偷钱包”(发送消息),车上的人听到(接收到消息)后做出相应的反应,比如看看自己的钱包什么的。其实就两个步骤,注册消息与发送消息。 为了适应项目需要,写了一个通用订阅发布者模式的通用模块,有了这样一个模块,项目里面其他模块之间的耦合性也将大大降低。 话不多说,直接上代码。 消息分发中心...原创 2019-04-23 22:59:55 · 1023 阅读 · 0 评论 -
.NET Reflector反编译DOTween 查看DOTween源码
最近一直在使用DOTween,工具很好用,所以想看看大牛是怎样实现的,尤其是Pro版本中的DOTweenPath是怎么实现的,然后就想到用Reflector反编译来研究一下源码。简单记录一下反编译过程: 首先,在Unity内到DOTween,然后找到DOTween.dll文件,然后拖拽到Reflector里面; 然后,右键Reflector窗口中的DOTween(1....原创 2018-03-18 23:00:53 · 1101 阅读 · 2 评论 -
XmlNode与XmlElement的区别
原文链接:http://www.cnblogs.com/oilsun/archive/2012/07/07/2580427.htmlXmlNode与XmlElement的区别总结今 天在做ASP.NET操作XML文档的过程中,发现了两个类:XmlNode和XmlElement。这两个类的功能极其类似(因为我们一般都是在对 Element节点进行操作)。上网搜罗了半天,千篇一律的答案转载 2017-10-02 15:36:04 · 10271 阅读 · 0 评论 -
C#操作XML
C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀。XML文档主要由元素节点和节点的属性共同构成的。它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子子节点;每一转载 2017-10-02 17:30:38 · 598 阅读 · 0 评论