自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 window编程一定要注意权限!权限!

今天做一个键盘钩子,发现当窗口切换到某个特定窗口的上无法钩取到案件消息。开始怀疑是那个APP的问题,后面和别人探讨才发现是管理员权限的问题,我写的钩子的exe没有启动管理员权限,当管理员权限的窗口获取到焦点时,就获取不到钩子。所以windows上都很多问题都和权限有关,在做软件设计、开发时,首先要考虑到权限问题;当遇到问题时,也需要首先怀疑是不是权限不足。window的输入用户名和密码的进程为什么不能被钩取消息呢?估计就是他的exe权限要比所有的进程都高。window编程一定要注意权限!权限!权

2020-06-11 11:03:11 65

原创 关于编程的思考

1.模块化最重要的是对象,是执行业务的方法,用于描述流程,用于隔离。面向设计最重要的是类,是可扩展的具体功能,重点是可扩展。2.找到错误比解决错误更加重要,尽量在所有的错误分支上加印日志。3.3.1 如果一个新增的功能和现有的功能有很大程度相似,那么尽量采用扩展参数的方法,而非重新创建一个新的方法。3.2 对于容易忽略又也别重要的返回值、错误码,尽量使用引用获取而非函...

2020-04-24 19:33:48 68

原创 关于C++异常处理的思考

Java中有强制类型异常,但是C++中没有,其实强制类型异常任何语言都可以实现。例如在json11库中,解析json时,需要传递string& err作为参数,强制要求获取错误结果。在编程的时候,也是告诉程序员这个地方可能会出现异常,请一定要重视。程序员可以将当前的异常传递给调用的函数,继续执行,或直接返回。在Golang中,err作为很多函数的返回值,要求必须接收。这在一定程度上都模仿的...

2020-04-19 11:20:34 65

原创 编程过程中对模块的思考

封装,本质上是采用物理的方式(文件&包)或者抽象的方式(类&函数)对过程做划分。封装之后,形成一个个模块,对模块的划分,原则上是依赖于业务的关联度。一般来说,模块更习惯使用逻辑单位表示模块,而尽量不关注于容器。模块的最小单位是类。有两个类共同完成一个功能,称之为功能域。功能域内模块和模块之间的关系称为“伪模块”,功能域对外称之为“真模块”。伪模块之间尽量遵从功能单一...

2020-04-18 11:16:51 85

原创 记录windows server 2012配置nuget的过程

1. 创建api net web项目,空项目,添加nuget.server依赖。注意:创建的项目选择.net 4.6,nuget.server也是依赖于.net 4.6不要有版本的偏差。2. 创建iis服务器,应用程序池中的任何配置都不需要改动。访问网站时,网站的路径指向User中的路径,我选择的路径是:3. 修改nuget的目录的权限,添加everyone用户,所有控制权限。...

2020-03-13 14:23:59 329

原创 软件需求的个人理解

个人理解软件需求需要包含以下部分(非官方介绍):功能需求:产品提供的需求文档中提到的,需要实现的功能。系统需求:包括在运行时占用CPU、磁盘、GPU等硬件资源、杀毒软件等安全性、系统稳定性、系统错误日志保留、问题排查的方便性、系统环境依赖方面的能力。架构需求:软件在开发过程中的模块的可扩展性、架构的伸缩性,代码的可读性、可维护性,接口的稳定性。在软件设计的时候,需要针对这三个方面都...

2020-01-17 10:09:23 171

原创 创建QtQuick DLL和引用DLL可能面临的路径问题以及解决方案。

路径问题分为Qt搜索库路径和QtQuick组件路径。#include <QGuiApplication>#include <QQmlApplicationEngine>#include <QQuickView>#include <windows.h>#include <Poco/Path.h>#include <Po...

2019-12-18 01:11:42 99

原创 CDT使用VC++编译器

最近在学习Poco,里面大量的使用using 命名空间写起来很麻烦,恰好eclipse提供了这个功能,并且cdt相比Vistual Stdio,在智能提示、自动添加类等要比VS更好用,如果你的项目不是完全依赖与MFC,以及其启动的代码自动生成功能,使用CDT可以说非常方便。废话少说,记录下流程:1. 下载eclipse。2. 安装cdt插件:这一步非常重要,因为eclipse自己提供的cd...

2019-12-05 16:31:09 126

原创 关于日志的一些思考(一)

我认为,日志是分析业务异常的重要手段,日志作为代替调试的重要手段,调试中可以反映的问题,日志同样也需要能够反映。那个函数出现异常,哪个地方出现了空指针异常,那个变量出现了数组越界,有要有记录,并且越详细越好,换句话说,不详细的日志等于没有日志,甚至会起到反作用。c++不同于其他语言,它没办法检测到空指针异常,SEH虽然能够检测到异常,但是却不能知道哪个变量出现了异常,尤其是处理COM的类中,空...

2019-09-11 11:42:44 100

原创 关于类的职责的一些思考(2)

之前和导师讨论过有关模块和子模块的处理。在vue中,模块形成模块树的概念,在c++编程中也同样,但是,当子模块希望向外部传递事件的时候,就需要一层一层的向外传递,这种传递有时候造成设计上的麻烦。对于数据层,如果一个模块都需要使用,可以将该模块作为一个模块内部使用的“全局变量”存储,同样,对于事件层,也可以使用模块内部的“全局事件”存储。对于模块内部的存储变量,其已经作为模块的特征,内部的的模块...

2019-09-02 09:58:50 45

原创 关于类的职责的一些思考(1)

今天遇到一种过去没有遇到的的一种情况——将类的函数从类中分离。过去和导师谈话中,对“登录”类的设计比较好奇。登录一般不会讲用户信息和登录动作放在一个类中,而是将将登录的数据从类中抽离出来,单独存储在一个容器中,而登录剩下的动作就单独成了一个没有数据的类。这种设计从概念上来说是登录的数据起到全局访问的职责,这个职责要比登录业务本身大的多。今天在写PPT插件项目的时候,遇到一个问题,就是...

2019-08-05 19:31:55 90

原创 关于面向对象的进一步思考

前面几天,和导师讨论关于面向对象的设计的一些问题,发现自己过去的考虑还是有些不够。首先,的认识中认为面向对象更多的是“包含”的关系,即组合和聚合。但是仅仅这样,容易出现类的设计层级太深的问题,往往形成一个所谓的“中心类”,所有的子节点可以看成“树”的叶子,叶子往往不仅仅需要访问子节点,有时候还需要访问父节点或者兄弟节点,这样所有的叶子结点都需要根结点的索引。并且从具体的编码效果看,类和类之间并...

2019-08-01 15:07:55 78

原创 面向对象设计优劣的评判依据

根据前文https://blog.csdn.net/zyongheng/article/details/96599427,可以认识到面向对象的评判依据。类之间的包含关系的评判:当类的设计符合当前需求中的所有业务的时候,就可以认为类之间的关系是没有问题的。 框架设计的稳定性评判:当功能扩展时,基础代码的修改和业务代码的修改之间处于松耦合关系时,可以认为类的设计是可扩展的。 基础层代码设计评判...

2019-07-20 17:33:43 55

原创 关于面向对象程序设计的一些思考

入职程序员做c++的,面向对象设计能力有些欠缺,最近想了一些记下来。这些想法未必是对的,但是也算是自己的一点思考,希望有经验的同事积极批评指正。面向对象的设计分为两方面,基础类的设计和业务类的设计。基础类分为和业务无关的基础类和和业务相关的基础类。举个例子,商场货物的管理系统,像文件读写、数据库增删改查、网络访问、日志系统等都是和业务无关的类,像商场下有哪些商店、商店下包含哪些仓库、哪些货...

2019-07-20 16:51:14 72

原创 opencv学习笔记(Mat对象)

Mat对象的使用,包括克隆,构造创建等,下面是通过实际代码展示。#include &lt;opencv2/opencv.hpp&gt;#include &lt;iostream&gt;using namespace std;using namespace cv;int main(int argc, char** argv){    Mat src;    src = imre...

2018-07-22 17:38:15 724

原创 opencv学习笔记(矩阵的掩膜操作)

掩膜操作:5*中间的像素-(上下左右的像素) 功能:加强对比度使用opencv编写掩膜操作的代码#include &lt;opencv2/opencv.hpp&gt;#include &lt;iostream&gt;#include &lt;math.h&gt;using namespace cv;int main(int argc, char** argv){    Ma...

2018-07-22 16:48:11 430

原创 opencv学习笔记(加载、修改、保存图像)

加载图像:cv::imread 修改图像:cv::cvtColor 保存图像:cv::imwriteimread加载图像成为一个Mat对象加载的图像名称 加载的图像类型IMREAD_UNCHANGED(&lt;0):加载原图 IMREAD_GRAYSCALE(0):加载灰度图 IMREAD_COLOR(&gt;0):将原图作为RGB图像加载进来显示图像(cv:namedW...

2018-07-22 16:04:46 146

原创 opencv学习笔记(开发环境搭建)

VS2015 opencv3.1.0 配置vs2015头文件、库文件、链接库建立空项目 选择项目,视图-属性管理器-debug\x64-属性 VC++目录-包含目录:C:\opencv\build\include、C:\opencv\build\include\opencv、C:\opencv\build\include\opencv2 VC++目录-库目录:C:\opencv\bui...

2018-07-22 15:54:54 91

空空如也

c#动态编译的程序无法链接DLL

发表于 2017-09-08 最后回复 2018-05-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除