
C++
文章平均质量分 94
不掉发_程序猿
没有什么规矩
展开
-
VS C++ 工程中隐藏Cpp文件
按照项目的要求,在把代码工程给甲方爸爸之前,需要隐藏一些关键技术,把cpp给隐藏。方法一:链接Obj文件学编程的都知道,生成工程前需要先编译再链接,所以首先我们编译一遍工程,然后在项目工程的debug目录找到需要链接的obj文件,这里我们用以下文件作为实列然后我们复制一份工程作为给甲方的代码,在复制的工程下把上面相应的cpp从工程中移除,选中MenDB.cpp文件,右键选中移除,若是能删除选删除,否则还要在工程目录中找到并删除。删除上述文件后,在项目->属性->链接器->输入-原创 2021-01-14 12:55:42 · 1039 阅读 · 0 评论 -
VSC + CMake + MingW 配置 C++ 开发环境
首先需要安装VSCodeMinGWCMakevscode安装 C++和cmake相关插件插件名用途C/C++C++开发工具C++ Intellisense辅助编码的工具,可选CMake辅助编写CMake,主要功能是CMake语法高亮、自动补全,可选CMake tools主要是结合VSCode IDE使用CMake这个工具,比如生成CMake项目、构建CMake项目等,可选1-安装VSCode官网:https://code.visuals原创 2020-12-27 20:20:25 · 660 阅读 · 0 评论 -
MinGW + VScode 小白入门hello word项目
由于自己项目使用VS较多,没有接触过VSCode,看别人说VSCode跨平台比较好用,所以自己就来研究一下VSCode怎么构建项目以及调试,不得不说,VSCode体积真小。如果是第一次接触VSCode,可以看看这篇文章,先了解一下VSCode:https://www.axihe.com/tools/vscode/home.html1-安装VSCode官网安装包下载地址:https://code.visualstudio.com/如果下载比较慢可以选择迅雷进行下载。VSCode安装教程可以参考这篇文原创 2020-12-25 14:44:59 · 814 阅读 · 0 评论 -
UDP套接字bind函数 操作数类型为: std::_Binder<std::_Unforced, SOCKET &, SOCKADDR *, unsigned int> == int
bind函数作用域不同,导致函数不匹配最近在项目使用DPU通讯时,服务器绑定套接字时遇到一个问题:E0349 没有与这些操作数匹配的 “==” 运算符 VDPU ButtonPropertySheet.cpp 1142 操作数类型为: std::_Binder<std::_Unforced, SOCKET &, SOCKADDR *, unsigned int> == int而正常的使用的是Windows API :int bind(In SOCKET s,In_rea原创 2020-12-17 14:38:59 · 734 阅读 · 1 评论 -
socket select设置延时 错误码10038
初始化套接字后,在select之前又关闭了套接字,造成select返回-1,错误码:10038原创 2020-12-08 15:37:02 · 1793 阅读 · 0 评论 -
C# 实现程序唯一实例 || 再次运行将其界面运行在顶层
查找窗口激活+窗口句柄:根据窗口句柄(从配置文件)和winAPI函数IsWindow函数判断当前窗口句柄是否有效。程序执行先从配置文件中获取句柄,用IsWindow判断句窗口句柄是否有效,无效则把当前句柄写入配置文件,运行,否则发送一个自定义消息用于使当前实例窗口运行在最顶层。程序中需要重载DefWinproc函数来处理自定义消息。唯一缺陷,当程序的实例关闭后,其他程序的实列可能分配这个句柄,造成程序启动失败。下面两种做法不会有这个缺陷 使用互斥+窗口句柄:在程序入口函数CreateMutex函数的"On原创 2020-09-14 09:56:26 · 488 阅读 · 0 评论 -
关于查看dll信息的两种方法
之前使用dependency walker工具来查看,不过搜索的路径太多,查看一个简单的dll需要的时间太长,最近又发现一种新的方法,利用vs中vc下的dumpbin工具export命令,来查看dll中的导出函数的信息。原创 2020-08-31 17:28:04 · 30733 阅读 · 0 评论 -
项目总结三:解决TCP/UDP通讯函数阻塞
Connect设置为非阻塞原创 2020-08-31 12:26:43 · 5184 阅读 · 0 评论 -
实现一个程序登录时长限制的小功能
受项目的需求,需要实现程序临时使用且25后再次登录就不能再使用,基于VC++,使用的方法是通过读写注册表的两个时间来实现的void LimitLoginByReg(CString strDirectory){ char retKeyValFirst[1000]{};//第一次登录时间 CString strTimeFirst{}; CTime TimeFirst{}; char retKeyValLast[1000]{};//最近一次登录时间 CString strTimeLast{};原创 2020-08-29 21:27:25 · 408 阅读 · 0 评论 -
项目总结二:关于跨语言调用C++ DLL需要注意的问题
近日在做一个C#软件移植时,需要在C#中调用C++一些遇到的一些问题及解决办法: dll导出函数的名称变了符号 不同语言之间参数的对应关系原创 2020-08-29 20:47:55 · 882 阅读 · 0 评论 -
项目总结一:串口通信 || 串口接收数据和写入的数据不一致
清空接收缓冲区原创 2020-08-07 15:55:14 · 17562 阅读 · 1 评论 -
C++ 四种类型转换static_cast、 dynamic_cast、reinpreter_cast和const_cast
1、static_cast一般的内置类型转换或者具有继承关系的对象之间的转换,对有继承关系对象引用也能进行转换,注意:1、static_cast不能转换掉expression的const、volitale、或者__unaligned属性2、基础数据类型指针不能转换3、无继承关系对象不能转换指针代码示例:class building {};class annimal {};class cat :public annimal {};void test01() { //基础.原创 2020-07-19 13:11:55 · 403 阅读 · 0 评论