自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 postmessge问题

对于postmessage如果消息发送过多过快,会导致消息丢失,因为消息队列长度有限制。

2023-02-03 13:57:39 512

原创 编码的浅显认识

字符编码

2022-10-21 11:03:37 153

原创 命名管道FIFO

在进程进通讯时使用了命名管道,在这里做个记录。开始想使用共享内存,但是由于两个进程数据通讯速度快,担心共享内存会存满或者覆盖数据。因此就使用了管道。管道的命令格式 “\.\pipe\管道名”服务端:1、创建命名管道:m_hHandle = CreateNamedPipe(A2T(m_szFifoName), PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE | PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, m_nOutSize,

2022-01-13 15:26:11 864

原创 Gdi+关于资源释放

在使用gdi+new资源对象后,在释放时使用了delete,出错,经过研究发现在使用Gdiplus::GdiplusShutdown()关闭gdi+时,gdi+会自动释放你所申请的对象。Gdiplus::Bitmap *pBitmap= new Gdiplus::Bitmap(0, 10);在Gdiplus::GdiplusShutdown()后使用delete pBitmap;会出现重复释放的错误。但如果在delete pBitmap;后使用Gdiplus::GdiplusShutdown()就不会

2022-01-13 12:41:18 662

原创 信号处理--卷积

近期做了处理信号的工作,在处理信号数据时使用到了卷积,通过阅读过于卷积的文章,了解了卷积,写下作为记录。某一时刻的信号从发出到某个时间点在这个过程中能量是不断衰减的,下一时刻再发出一个信号,这个信号会和上一个信号在同一时刻进行叠加。叠加出来的信号就是我们看到的信号。这个叠加我认为就是卷积。卷积也可以用来滤波,...

2021-10-21 15:21:44 720

原创 拉格朗日插值法

因为后期工作中可能使用到插值算法,于是就复习了拉格朗日插值法。下面是拉格朗日函数: (1)看了多篇介绍该函数的文章后在这里做个笔记。是如何得到这个函数的,分为下面几步三个点(x1,y1),(x2,y2), (x3,y3) 可以确定一条2次多项式的函数。这需要把三个点代入多项式然后解出各个系数。但是拉格朗的这个解法就不一样了。第一步构建了一个函数: ...

2021-06-11 15:57:16 2590 1

原创 高斯滤波算法

这几天要对数据进行线性平滑滤波,想到了高斯滤波,但是有对高斯滤波没有理解,因此就研究了一下。在这里做个记录。高斯滤波需要一个高斯函数就是正态分布的概率密度函数:这个函数是用来生成高斯模板。具体的一维高斯滤波做法。分为一下几个步骤:举例说明例如对这一组数据进行滤波,data[18]={2 4 5 75 34 5 76 12 8 45 23 89 65 32 1 67 100 34} 这一组数据一共18个数据1、计算处高斯模板, 根据高斯函数计算高斯模板,我们可以......

2021-03-05 11:00:37 4118 4

原创 进程间通讯的一些思考

思考的开始: 最近写了一个项目,这个项目我初期规划是有10个进程以上(进程的多少和硬件中仪器的多少有关)。其中一个是主进程、一个是日志窗口进程这两个进程之间要通讯是一对一的。还有主进程和个仪器进程通讯是一对多的。 主进程和日志进程通信,采用的是共享内存通讯。这个没什么错误,因为我限制了,日志进程先于主进程完全启动,而且日志进程只能有主进程才能关闭。这个我在共享内存中维持一个队列,主进程只管写,日志进程只管读。这里面没遇到什么问题。 但在主进程和各各仪器进...

2021-02-02 13:06:50 101

原创 多进程间使用共享内存进行通讯

在写一个项目中,有一个进程是信息显示进程,其他的进程错误消息或通知消息会传到信息显示进程中,信息显示窗口显示出来。如果使用socket进行信息传递可行。把信息显示窗口作为服务端,产生信息的进程作为客户端。如果使用共享内存进行通信,就有些问题,可能是我本人水平有限。先写下来慢慢解决。一 一个进行写信息,一个进程读信息如何做到这两个进程间同步,想到的办法是,在每条信息的前面加个标志位,例如1代表可写,0代表可读。写进程先判断标志位如果是1代表可写,那么就在该内存中写入信息,写完后把该标..

2020-11-05 14:40:15 426

原创 2020-10-12获取网卡的MAC地址

因为项目中需要使用liscence,所以就想到了使用网卡的MAC地址加密。这里需要获取网卡的MAC地址。首先使用的是Netbios()函数获取MAC地址,但是发现只获取了正在联网使用的那个网卡的MAC地址,不能获取所有的网卡MAC地址。通过这个网站https://www.codeguru.com/cpp/i-n/network/networkinformation/article.php/c5451/Three-ways-to-get-your-MAC-address.htm使用GetAdapter

2020-10-12 10:53:20 481

原创 2020-09-07 在写程序时需要注意的地方

以前没有写过64位和32位通用的程序,这次写的程序写好以后才被告知要32和64位通用。如果把一些的代码直接编译成64位会出错。在修改了过程中总结了一些避免出错的方法。1、写程序时不要使用魔数,如1,2,3,4这些,要使用一些有意义的代替,比如int的长度是4,就不能使用4,要使用sizeof(int),指针的长度是4或8,就要使用sizeof(char*)等。我就是这一步使用错了,导致编译的程序运行结果出错。2、在使用api函数时,他的返回值是什么类型,你就用什么类型。 例如返回值是i...

2020-09-07 09:12:43 155

原创 一个或多个重定义符号

在mfc编程中,建了一个PublicFunction.h头文件,在这里有void Logging_printf_1(char * pText){ HANDLE hPipe; DWORD WriteNum; if (WaitNamedPipe(PIPE_NAME, NMPWAIT_WAIT_FOREVER) == TRUE) { hPipe = CreateFile(PIPE_N...

2019-09-25 10:49:33 854

原创 win10+vs2015+sdk+wdk驱动开发环境安装

安装了好多遍驱动开发环境都不成功,最终成功了一次。win10 64位vs2015windows sdk 10.0.15版本wdk 10.0.15版本测试环境win7 64位根据别人的教程尝试过多次vs2017不过都失败了,不知道为什么。...

2019-08-29 13:51:49 706

原创 windwos内核对象

个人认识进程内核对象1、进程内核对象创建CreateProcess();2、内核对象是用户创建,释放是系统释放,系统根据使用计数来判断是否释放该内核对象,每个内核对象都有使用计数,当使用计数为0时系统会释放该内核对象。3、CloseHandle()这个函数并不是释放内核对象,它只是把该内核对象的引用计数减1。4、一个进程有一个内核对象,一个线程也有一个内核对象,等每一种资源都有一个内核对...

2019-07-26 13:28:13 110

原创 MFC中CreateCompatibleBitmap的边界

在MFC的单文档框架下,视图是CSroolView类,在视图类的ondraw函数中利用创建的内存设备上下文来绘制图形,memDC.CreateCompatibleDC(NULL);bitmap.CreateCompatibleBitmap(pDC,width,height);在这里这个width和height有没有限制大小,这两个变量是int型受类型的限制,当然这不是要讨论的,我的...

2019-02-22 10:16:45 472

原创 在vs2015的c++中项目调用Python脚本

1,配置项目属性2,添加头文件<Python.h>添加代码Py_Initialize(); //调用Python之前要初始化PyRun_SimpleString("import sys"); //加入需要Python代码中需要的库,这些库也可以直接添加在Python文件里。PyRun_SimpleString("sys.path.append('./')");//同上...

2019-01-28 17:03:48 928 1

原创 函数的返回值类型

函数的返回值1, 返回引用类型在函数返回值是引用这一类型的时候,在别处看到的准则是要求在函数参数中,包含有以引用方式或指针方式需要作为返回值的参数。但在实验中int ,char等这些类型即使没有这个参数也可以返回正确的值如:int& fun(){Int a = 1;return a;}int main(){Int &a =fun();…}这里int&a...

2019-01-22 15:39:53 15526

原创 并发,并行的一些浅显认识

1, 一个单核cpu一个时刻只能处理一条线程。2, 单核cpu使用超线程技术可以在一个时刻处理两条线程超线程技术并不是使单核cpu产生两个核心,只是提供两个逻辑线程。效果并没有双核的强。3,2核4线程,4核8线程,这些都是使用超线程技术才多出一倍的线程数。有以上信息来看并发,并行:并发:当多个线程在操作的时候,如果只有一个单核CPU没有超线程,同一时刻只能有一个线程被执行,但是多个线...

2019-01-22 13:00:02 119

原创 std::string类型变量比较的问题

std::string型变量比较是,最好是两个std::string变量比较如std::string和char*比较涉及到\0的问题,std::string str(“asdf”);str == “asdf”这个比较是相等的char szTmp[4] ; 1memcpy(szTmp,”asdf”,4);str == szTmp这个是不相等的cha...

2019-01-21 15:43:45 2806

原创 在unix上写代码的一些心得(1)

1, 切换root用户和普通用户进入root: sudo su退出root进入普通用户:exit2, 打包,常用的打包程序是tartar -cf tall.tar 1.cpp 把1.cpp打包到tall.tar中tar -cf tall.tar *.cpp 把所有.cpp文件打包到tall.tar中tar -rf tall.tar 1.cpp 把1.cpp文件增加到tall.t...

2019-01-21 13:36:40 314

空空如也

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

TA关注的人

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