
C/C++
独步天秤
千里之行,始于足下
展开
-
VS2019新建Qt5项目 无法打开文件“Qt5Cored.lib” 错误解决办法
VS2019新建Qt5项目 无法打开输入文件“Qt5Core.lib” 解决办法原创 2022-06-08 14:03:07 · 5735 阅读 · 1 评论 -
OpenCV源码之高斯模糊GaussianBlur, getGaussianKernel
目录基本原理:基本流程:高斯模板创建过程构建高斯矩阵计算高斯矩阵的和归一化源码结论:参考文章:基本原理:在数字图像处理中,一般取二维高斯函数为由(1)可以知道,二维高斯函数,可以看成两个一维高斯函数乘积,因此先计算一维高斯模板,再计算需要的二维高斯模板。基本流程:高斯模板创建过程构建高斯矩阵注意:后续归一化时系数会被去掉,所以会省略系数的计算,只计算OpenCV中源码:double x = i - (n...原创 2020-05-26 16:16:53 · 4509 阅读 · 0 评论 -
VS2013 C++/C#项目配置 当前目录(.) 上层目录(..)
当前目录(.):.vcxproj/.csproj所在的目录上层目录(..):.vcxproj/.csproj所在的上层目录,一般是.sln所在目录原创 2020-04-27 13:30:35 · 1300 阅读 · 0 评论 -
C#编程笔记以及C#调用C++ DLL注意事项
总目录UI相关如何在PictureBox中实现选择框功能C#进度条实现C#实现复杂XML的序列化与反序列化C#调用C++ DLL对 PInvoke 函数“Demo!Demo.MyImgCSharp::CalcAllEigens”的调用导致堆栈不对称。自定义结构体数组传递C++类型与C#类型对应C#用指针取结构体数组中内容图像处理新的Emgucv使用中常用函数总结EmguCV学习——简单使用UI相...原创 2020-04-22 10:52:35 · 929 阅读 · 1 评论 -
OpenCV3 CommandLineParser类代码实例 使用说明 播放视频及效果图 VS2013控制台程序带参数的设定方法
Table of Contents简介说明什么是位置参数什么是关键字参数关键字参数Keys syntax如何访问关键字参数如何访问位置参数如何使用&调试方法实例代码效果图补充:VisualStudio控制台程序带有参数的设定方法简介OpenCV源码中对CommandLineParse的说明如下:Designed fo...原创 2019-05-02 16:01:13 · 1051 阅读 · 6 评论 -
灰度共生矩阵 Gray-Level Co-occurrence Matrix(GLCM)相关网址
官方说明1、https://www.mathworks.com/help/images/ref/graycomatrix.html 灰度共生矩阵原理,步距、方向原理等说明,及MATLAB代码2、https://prism.ucalgary.ca/handle/1880/51900 一本pdf小册子《GLCM Texture: A Tutorial v. 3.0 March 201...原创 2020-03-18 11:48:03 · 1348 阅读 · 0 评论 -
OpenCV checkVector()函数说明与C++代码举例
说明检查这个Mat是否为Vector源码int Mat::checkVector(int _elemChannels, int _depth, bool _requireContinuous) const{ return data && (depth() == _depth || _depth <= 0) && (isC...原创 2020-03-02 17:39:41 · 2865 阅读 · 0 评论 -
VS2013新建Win32项目改配置x64位 图文详解
Step#1Step#2Step#3 把ARM改为x64,其他不动Step#4 最终变成这样Step#5 程序F5(Debug) 运行 如下原创 2019-11-20 11:48:42 · 7170 阅读 · 2 评论 -
C/C++/C#使用C/C++动态链接库DLL 错误现象及解决办法 图文详解
目录MFC应用程序使用DLLStep#1 创建MFC应用程序,名称TestDll,基于对话框的,最后点击FinishStep#2 添加两个按钮Add和SubtractStep#3双击Add按钮添加命令响应函数Step#4添加代码Step#5错误及解决办法第一个错误 error C2664cannot convert argument 1 from 'const cha...原创 2019-09-19 14:11:08 · 6515 阅读 · 1 评论 -
软件开发者的常用工具(含Visual Studio必备插件)【未完待续】
目录编程工具Visual_Assist(小番茄)ResharperImageWatchGDB_ImageWatchqt-vsaddin-msvc2013-2.3.2AnkhSvn-2.5.12582Depends22Notepad++VIM(Linux)/GVim(Windows)效率工具Everything-1.4.1.867b.x64-Setup...原创 2019-09-18 10:04:21 · 1926 阅读 · 0 评论 -
在VS2013上设置条件断点 图文详解
C/C++调试时,条件断点设置好可以节省很多时间,达到事半功倍的效果,应该是C/C++程序员的必备技能之一。一直想写一篇相关的文章,无意中发现一篇好文,简单易懂,特地分享给大家。《在VS2013上设置条件断点的做法》...转载 2019-08-29 09:22:29 · 1154 阅读 · 0 评论 -
OpenCV4.1 Classification VS2017配置 错误及解决办法 与效果图
Table of Contents下载所需档案配置第一步:OpenCV配置第二步:错误:E1696 無法開啟 來源 檔案 "common.hpp"第三步:错误:C4996 'getenv': This function or variable may be unsafe.控制台参数代码效果图下载所需档案参考文章https://docs.opencv.o...原创 2019-08-02 18:15:19 · 2021 阅读 · 1 评论 -
OpenCV4.1 DNN Sample C++配置 VS2017 + Windows
Table of Contents我的环境OpenCV4.1.0VS2017配置配置Include Directories(包含目录)配置Library Directories(库目录)Linker链接器配置->重启VS2017添加环境变量属性表配置我的环境OpenCV4.1.0 【https://opencv.org/releases...原创 2019-08-02 17:44:39 · 1742 阅读 · 0 评论 -
动态链接库(dll)简介
1. 从微软推出第一个版本的Windows操作系统以来,动态链接库(DLL)一直是Windows操作系统的基础。2. 动态链接库通常都不能直接运行,也不能接收消息。 它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数。 只有在其它模块调用动态链接库中的函数时,它才发挥作用。3. Windows API中的所有函数都包含在DLL中。其中有3个...原创 2018-09-30 23:27:49 · 3595 阅读 · 0 评论 -
动态库和静态库区别
1. 静态库:函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。 在编译链接可执行文件时,链接器(Linker)从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。 2. 在使用动态库的时候,一般提供两个文件:一个引入库(.lib)和一个DLL。 引入库(.lib)包含被DLL导出的函数和变量的符号名 DLL包含实际的...原创 2018-09-30 23:38:46 · 2706 阅读 · 0 评论 -
使用动态链接库的好处
1. 可以采用多种编程语言来编写。2. 增强产品的功能。3. 提供二次开发的平台。4. 简化项目管理。5. 可以节省磁盘空间和内存。6. 有助于资源的共享。7. 有助于实现应用程序的本地化。更多内容请看C/C++动态链接库(DLL)详解来源:孙鑫_VC++_学习笔记...原创 2018-09-30 23:44:12 · 5166 阅读 · 0 评论 -
内存页面
系统管理内存的单位。X86系统的内存页面大小(SIZE)都是4KB.更多内容请看C/C++动态链接库(DLL)详解来源:孙鑫_VC++_学习笔记原创 2018-09-30 23:47:11 · 1978 阅读 · 0 评论 -
动态链接库被多个进程访问
1. 内存页面:系统管理内存的单位。X86系统的内存页面大小都是4KB.2. 动态链接库被多个进程访问更多内容请看C/C++动态链接库(DLL)详解来源:孙鑫_VC++_学习笔记...原创 2018-09-30 23:49:19 · 3555 阅读 · 0 评论 -
动态链接库加载的两种方式
目录1. 隐式链接xxx.lib -- 引入库文件,保存的是xxx.dll中导出的函数和变量的符号名xxx.dll -- 导出的动态链接库四大路径及顺序extern与__declspec(dllimport)区别推荐工具 Dependency Walker 2.2:查看一个可执行程序所依赖的动态链接库,2. 显式加载(动态加载)相关函数参考阅读示例代码3...原创 2018-09-30 23:52:04 · 4359 阅读 · 1 评论 -
VS2008/VS2013/VS2015如何查看动态链接库dll导出哪些函数 配图详解
1. 查看工具:dumpbin2. 指令dumpbin -exports MyDll.dll(说明:MyDll.dll为我创建的动态链接库)3. 举例:项目名称为MyDll——编译生成dll;TestDll——调用MyDll(代码待贴上)4. 查看dll导出哪些函数:Visual Studio提供的工具:dumpbin(Visual Studio2008还有位于C:\Program F...原创 2018-10-01 00:08:01 · 11346 阅读 · 0 评论 -
VS2008/VS2013 C/C++内嵌python环境 Python编译成EXE
1. 新建一个空的.c或.cpp文件,编写如下code#include <stdio.h>int main(int argc, char **argv){ printf("Hello World in C++!\n"); printf("Press any key to continue……\n"); getchar(); //wait for your input...原创 2018-04-23 15:40:23 · 1980 阅读 · 0 评论 -
C/C++重点知识路线 精华总结 笔记 面试总结
1. 基本知识2. C++语言的三大特性2.1. 封装性2.2. 继承性2.3. 多态性3. 多线程1. 基本概念 -- 程序、进程、线程、内核对象等 1.1. 进程 1.2. 线程 1.2.1. 线程组成 1.2.2. 线程运行 1.3. 多线程与多进程对比【TODO,表格形式对比】 1.4. ...原创 2018-10-18 13:57:12 · 1027 阅读 · 1 评论 -
C++多线程 VC++深入详解(孙鑫)笔记
1. 基本概念 -- 程序、进程、线程、内核对象1.1. 进程1.2. 线程1.2.1. 线程组成1.2.2. 线程运行1.3. 多线程与多进程对比【TODO,表格形式对比】1.4. 尽量使用多线程程序的原因1.5. 关于多进程和多线程的经典定义2. 创建线程2.1. CreateThread函数2.2. CloseHandle函数3. 简单多线程示例...原创 2018-10-18 17:14:22 · 1041 阅读 · 0 评论 -
C++多线程(1)基本概念 -- 程序、进程、线程、内核对象等 VC++深入详解(孙鑫)笔记
目录进程程序进程进程与程序的区别与联系进程由两个部分组成进程特点内核对象进程地址空间线程线程组成线程特点线程运行多线程与多进程对比【TODO-表格形式对比】尽量使用多线程程序的原因关于多进程和多线程的经典定义进程程序程序是计算机指令的集合,它以文件的形式(如.exe)存储在磁盘上。常见的程序如记事本(notepad)、控制台(...原创 2018-10-18 17:25:27 · 848 阅读 · 0 评论 -
Lesson16基于消息的异步套接字聊天室程序 VS2013 VC++深入详解 孙鑫
Table of Contents新建项目UI设置项目Project设置代码Chat.cppChatDlg.h : header fileChatDlg.cppTODO:新建项目MFC Application->Dialog Based(基于对话框的)exe项目Chat将自带的文本控件与按钮控件删除。添加如下控件。UI设置...原创 2018-10-23 16:16:03 · 603 阅读 · 0 评论 -
Lesson15多线程与聊天室程序的创建 VS2013 VC++深入详解 孙鑫
1. 新建项目Chat2. UI操作3. 代码3.1 初始化socket3.2 ChatDlg.h : header file3.3 ChatDlg.cpp4. 程序执行画面1. 新建项目ChatMFC Application->Dialog Based(基于对话框的)exe项目2. UI操作将自带的文本控件与按钮控件删除。将发送按钮(IDC_BT...原创 2018-10-21 22:54:58 · 802 阅读 · 1 评论 -
VS2008/VS2013 C++调用Python Build出错cannot open file 'python27_d.lib'
之前步骤链接如下:C/C++内嵌python环境 Python编译成EXE若按照之前的步骤build时还是会出错,错误信息如下:fatal error LNK1104: cannot open file 'python27_d.lib' 原因:我们使用的头文件 <Python.h>调用了"pyconfig.h"#include "pyconfig.h" ...原创 2018-04-24 10:39:39 · 1010 阅读 · 0 评论 -
第14章 网络编程 VS2013 VC++深入详解 孙鑫
目录14.1 计算机网络基本知识14.1.7 TCP/IP模型14.1.8 端口14.1.10 网络字节顺序sockets(套接字)编程有三种,TCP流式套接字的编程步骤在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK!服务器端程序:客户端程序:UDP型套接字服...原创 2018-10-24 19:53:13 · 1682 阅读 · 0 评论 -
互斥对象、事件对象、关键代码段(临界区)对比表格
互斥对象和事件对象都属于内核对象,利用内核对象进行线程同步时,较慢,但利用互斥对象和事件对象这样的内核对象,可以在多个进程中的各个线程间进行同步 关键代码段工作在用户方式下,同步速度快,但很容易进入死锁状态,因为在等待进入关键代码段时无法设定超时 比较 Mutex Event Critical_Section ...原创 2019-02-18 09:28:17 · 445 阅读 · 0 评论 -
C/C++动态链接库(DLL)详解
整理了动态链接库笔记,供大家参考。欢迎大家留言讨论。1. 动态链接库(dll)简介2. 动态库和静态库区别3. 使用动态链接库(dll)的好处4. 内存页面5. 动态链接库被多个进程访问6. 动态链接库加载的两种方式7. 如何查看动态链接库(dll)导出哪些函数8. 创建动态链接库(dll)9. 使用动态链接库(dll)来源:孙鑫_VC++_学习笔记...原创 2018-09-30 23:22:55 · 9304 阅读 · 5 评论