windows
文章平均质量分 54
guolisong
这个作者很懒,什么都没留下…
展开
-
vs基于hiredis.lib生成可执行文件/dll
windows vs编译基于redis的客户端程序,报错,未定义_replace_setsockopt和_strerror_r。但是已经添加win32fixes.c文件原创 2023-04-10 17:45:11 · 204 阅读 · 0 评论 -
windows下使能/关闭硬件
windows下禁用/启动设备原创 2022-09-13 15:00:45 · 471 阅读 · 0 评论 -
vsftp配置多用户
vsftpd配置多用户,并且每个用户设置不通的根目录原创 2022-09-02 15:18:09 · 1424 阅读 · 0 评论 -
OPC(DCOM)线程模式
OPC读数据的线程模式原创 2022-08-02 11:08:52 · 464 阅读 · 0 评论 -
函数对象使用
函数对象可以支持函数指针、普通c++函数、c-style(extern "c")函数、类成员函数原创 2022-07-30 22:40:28 · 118 阅读 · 0 评论 -
log4cplus增加对运行路径的支持
修改log4cplus代码,配合日志配置文件,让它支持绝对路径+相对路径的方式来管理日志文件原创 2022-05-08 10:53:56 · 506 阅读 · 0 评论 -
OPC DA数据采集过程中所有数据为空问题分析
OPC通讯过程中连接正常,但是数据全为空问题分析原创 2022-04-26 09:33:42 · 2909 阅读 · 0 评论 -
opc采集数据(DCOM配置没有问题,但是无法建立连接)
虽然之前使用过opc来采集数据,但是因为这块的内容不是自己负责的,所以也就是知道怎么去用,代码的一些细节没有看过。2021年负责这个的伙伴离职了,因此有的时候必须得自己上了。恰好1月份某钢铁厂的项目中,针对西门子840D,碰到了一个有意思的问题。就是DCOM配置是没有问题的,在网关内通过测试工具,可以读取设备的CLSID,也可以连接上设备,读取数据。但是我们自己的代码,无法连接设备,另外,Matrikon的客户端也无法连接。通过单步调试,发现问题是出在每次到了这里就是fail。wireshark原创 2022-01-31 17:14:32 · 2050 阅读 · 0 评论 -
go开发的程序在windows中作为服务启动后处于SERVICE_START_PENDING
上周对现场windows网关进行软件安装时,发现一个问题。就是部分网关内的软件没有升级成功,原因有多个,不过其中有一个盒子,情况比较有意思,就是盒子中用go写的服务都没有真正处于运行状态,而是处于SERVICE_START_PENDING状态。因为这个原因,导致程序无法升级。 一开始只是怀疑这个问题是nssm配置不对引起的,不过后来我重新做了测试验证,发现,与猜测的不符合。 周末上网查了下资料,发现,golang开发的程序,作为windows系统的服务,一直有这个...原创 2022-01-06 14:36:02 · 1277 阅读 · 0 评论 -
不同设备拿到了相同的mac地址(arp和nbtstat)
通过arp查到组网设备使用了同一个mac地址,不过用nbtstat可以获取到真正的mac地址原创 2022-01-01 20:17:23 · 3359 阅读 · 1 评论 -
64位系统中编译32位的opencv库
这两天真的有被项目折磨到,为了验证自己的一个想法,需要在64位的机器上使用32位的opencv的库。其实这个库可以通过apt去下载,但是我使用的系统中,用的软件可以依赖关系有点杂乱吧,导致我apt install的时候,无法直接安装。如果使用aptitude安装的话,又会移除一堆软件,再重新安装一大堆包,总之,看了让我心里没有底,怕影响到其它软件的正常运行。最后,就选择基于源码去编译。一开始想法是通过在CMake的时候传入PLATFORM参数来进行设置,但是失败了。网上查了资料,没有找可用的方案。有个兄原创 2021-12-20 10:19:14 · 3030 阅读 · 0 评论 -
命令行获取外设(usb,wifi等)的信息(windows)
最近的项目,需要获取外设的信息,比如是否插入usb设备,查询wifi的强度,查询移动网络(4G/5G)信号的强度。查了一圈资料,目前实现的手段大致有:查询插入外接usb设备:GET-WMIOBJECT win32_diskdrive | Where { $_.InterfaceType -eq 'USB' }如果要获取USB设备的名字,findstr Model即可。如下:查询可用的wifi热点netsh wlan show networks查询wifi信号强度:ne原创 2021-12-03 21:51:46 · 6707 阅读 · 0 评论 -
基于seetaFace6.0的人脸识别
最近项目需要用到人脸识别,经同事推荐,决定基于seetaFace6.0进行开发。开发过程还是比较顺利的,特别是在windows上,有编译好的现成的库,还有demo。照着demo做开发基本上就可以了。问题出在了linux上。在linux上(centos7)上开发时,用了windows下的代码(经过测试验证是可以运行的),结果就是出错了。问题出在seeta::FaceDetector的构造函数的过程中。函数如下:int getFeature(const char* _imgPath, float fea原创 2021-12-01 17:46:22 · 1606 阅读 · 0 评论 -
常用AT指令总结
最近部分项目使用了5G模块,因为拨号不是特别稳定,有时中间需要手动输入AT指令去进行调试。通过这次机会,倒也是稍微了解了一下拨号的过程。好记性不如烂笔头,现在把过程中用的较多的指令记录一下,免得时间长了忘记。1. AT+CPIN? 该指令检查sim卡是否被识别,如果被识别,会回显+CPIN:READYOK2. AT+COPS?该指令检查卡所在的运营商信息,比如卡是联通卡时,回显+COPS:0,0 “CHN-UNICOM”, 11OK3. AT+CDGCONT=1,”IP.原创 2021-10-30 19:35:41 · 8240 阅读 · 0 评论 -
windows下根据网卡名获取MAC地址
机器是双网卡,网卡驱动一样,而且还不知道本地IP地址,所以之前根据GetAdaptersInfo方法行不通。static int getFileContent(const string& file,string& data){ ifstream Osread(file); if (Osread.fail()) { cout << "error open file " << file << endl;...原创 2021-03-31 13:38:04 · 589 阅读 · 0 评论 -
日志分级打印
#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#if defined _DEBUG_void log(int flag,va_list va_alist,...){ va_list args; va_start(args,va_alist); if(flag) { vfprintf(stdout,va_alist,args); }...原创 2021-02-09 15:30:01 · 112 阅读 · 0 评论 -
UNIX文本在windows下编译引起clear()不工作
这两天碰到一个“诡异”的问题,写出来的程序,时而能正常运行,时而不能正常运行。代码如下:这段代码的功能,就是将map中的键值遍历,并且对键值转换为utf8编码格式。每次编码转换完的键值,赋值给utf8这个字符串,并且将utf8更新到map中。因为编码转换的函数,第三个参数采用引用传值,所以需要在传入之前,先将参数清空,也就是红色框起来的代码。有意思的事情就是,程序编译后,发现utf8.clear()没有清空内容,因为实际看到的结果是,map中第一个键的键值,被更新到了后续每一个键的键值.原创 2021-02-04 18:57:15 · 133 阅读 · 1 评论 -
windows脚本判断服务是否已经安装
最近项目运行中,出现一个问题。做了补救措施,需要发布一个新的基础应用程序,该程序发布后,到了现场设备中,会注册成服务,开机启动。@echo offset serviceInstalled=0::查询服务是否已经安装sc query monitorService >nulif "%ErrorLevel%"=="0" ( ::服务已经安装 echo monitorService already installed set serviceInstalled=1...原创 2021-01-23 14:30:01 · 830 阅读 · 0 评论 -
windows下访问远程共享文件夹
最近项目中要实现访问远程共享文件夹,比如\\10.1.60.44\shareFolder,试了一下,主要有两种方法:1. 把远程共享文件夹当做本地的文件夹使用_access函数判断文件夹是否存在,如下#include <io.h>#include <stdio.h>#include <stdlib.h>if(-1!=_access("\\\\10.1.60.44\\shareFolder",0)){//文件夹存在}同理,如果判断远程共.原创 2021-01-23 11:00:07 · 3553 阅读 · 3 评论 -
windows下服务无法读取OPC数据问题解决(通过服务创建用户进程)
最近做项目,windows系统的电脑中,布置一个OPC server,该server会去读取PLC的数据。然后电脑中再布置一个OPC客户端,该客户端通过读取本地OPC服务器的数据,间接的采集到PLC中的数据。然后就出现了问题:如果从命令行启动OPC客户端,那么可以读取数据,如果通过nssm安装OPC客户端,那么开机自启后,OPC客户端就读不到数据了。经过组内讨论,觉得该问题可能会话ID造成的。因为如果OPC客户端通过nssm(或者sc)安装成服务,开机后以服务形式启动,那么会话ID为0,反之则为1,2等原创 2021-01-16 22:16:17 · 4274 阅读 · 0 评论 -
Linux(iconv)和windows(MultiByteToWideChar)下的字符转换
Linux版本:iconv指令:iconv -f 原始字符集 -t 目标字符集 原始文件 -o 目标文件比如将日文SHIFT-JIS文件转为简体中文:iconv -f SHIFT-JIS -t GB18030 url.txt -o test18030.txt在notepad中,默认情况下,使用的编码是utf-8编码,测试时,如果要测试中文,建议首先将字符集改为chinese->gb2312,然后再在页面上输入。右下角如下所示:日文编码查询网站:https://ww.原创 2020-12-09 14:28:33 · 1278 阅读 · 0 评论 -
异步TCP
工作中,经常使用到TCP通讯,做个记录。后续需要的话,可以拿过来直接使用。1. 客户端连接请求。首先将socket设置为NON_BLOCK。然后调用connect函数。如果没有返回成功,判断返回值是否是阻塞中。如果是,调用poll或者select,判断socket是否可写。如果可写,那么表明连接已经建立。否则报失败。int _connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen, ...原创 2020-09-19 12:35:42 · 511 阅读 · 0 评论 -
windows信号量的使用(类似vxworks下的计数信号量)
// 信号量演示#include<iostream>#include <windows.h>using namespace std;HANDLE g_ThreadSema; //创建内核对象,用来初始化信号量DWORD WINAPI Func(LPVOID);DWORD WINAPI Func1(LPVOID p);int main(){...原创 2019-03-28 07:11:33 · 422 阅读 · 0 评论