C++
文章平均质量分 73
声希Censh
这个作者很懒,什么都没留下…
展开
-
根据dll文件生成lib
例如,Qt Msvc2019编译的dll和lib给msvc201不能调用,因为lib文件不同,需要重新生成lib,或者更改加载dll的方式,即不用lib加载。其中test.def为def文件名,test.lib为生成的lib文件名,应该把test.lib该为fBodyImgprocessingLib.lib。不同版本的vs编译的dll在导出类的时候不能相互调用,直接导出函数是可以的,但有的也存在问题。第二步, 在该路径下新建def文件(新建txt,该后缀为def即可)第一步,更换目录 cd \DIR。原创 2023-05-17 15:32:33 · 1428 阅读 · 0 评论 -
Stack overflow 错误 栈溢出的原因及解决办法(vs2017 && Qt)
Stack overflow 错误 栈溢出的原因及解决办法(vs2017 && Qt)在处理图像的时候发生了如下错误:0x00007FF7B0556FF8 处有未经处理的异常(在 Open_SIM.exe 中): 0xC00000FD: Stack overflow (参数: 0x0000000000000001, 0x00000031C87A3000)。同样的,类似的错误也可以是在Qt中发生:The inferior stopped because it triggered a原创 2022-03-31 13:22:28 · 8804 阅读 · 3 评论 -
Qt使用boost
Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。https://www.boost.org/上下载最新的boost,注意别下载beta版本然后解压到指定路径例如:D:\Qt\boost_1_78_0然后只需要在Qt的pro文件中加入INCLUDEPATH+= D:\Qt\boost_1_78_0就可以使用boost库了...原创 2022-03-18 19:32:50 · 989 阅读 · 1 评论 -
使用LoadLibrary显式加载动态链接库以及所需要注意的编码问题(涉及宽字符窄字符)
关于LoadLibrary、宽字符、窄字符以及编码方式原创 2022-03-17 18:55:09 · 11452 阅读 · 1 评论 -
函数参数类型及选择
函数参数类型及选择函数参数类型主要有:值、地址、引用在main函数中调用其他函数时,会在栈里开辟一个空间,最开始入栈的是当前代码的下一行代码的地址,然后依次是形参、函数的局部变量、函数的代码段,当函数返回时,释放栈空间,最后出栈的是下一行代码的地址,又回到了main函数里函数开始的地方继续执行。但是为什么栈里的变量释放了,函数还能返回呢,这是因为编译器会生成一个临时变量用来存放函数的返回值。1、值传递先看一段代码:#include <iostream>using namespace原创 2022-02-11 10:40:03 · 1656 阅读 · 0 评论 -
类模板template <class T>
类模板template <class T>类模板:类模板是对一批仅仅成员数据类型不同的类的抽象,使用类模板可以极大地提高编程的效率。例如对于以下这个类:typedef unsigned long Item;class Stack{private: enum {MAX=10};//作用域内枚举,这里使用枚举的MAX只是一个符号名称,在作用域为整个类的代码中遇到时,将用10来代替 //注意在此处使用const int MAX = 10;是不行的,因为声明类只是描述了对象的形式,并没有创建对原创 2022-02-07 16:47:42 · 5794 阅读 · 0 评论 -
C++预处理命令,包含宏定义、文件包含、条件编译等
C++ #if #endif #define #ifdef #ifndef #if defined #if !defined详解先了解一下 预处理命令:在编译之前进行得处理,C语言得预处理主要有三个方面得内容:1.宏定义;2.文件包含;3.条件编译。预处理命令是以“#”符号开头的。常见符号意义#if //编译预处理中的条件命令,相当于C++中的if语句#define //定义一个预处理宏#undef //取消宏定义#i原创 2022-02-07 13:43:19 · 1188 阅读 · 0 评论 -
C++指针:(包括二维数组、二级指针、动态二维数组内存连续)
C++指针:(包括二维数组、二级指针、动态二维数组内存连续)在C++数组的创建及使用中,简单介绍了数组中指针的使用,但是还有一些其他问题,这里主要展开一些关于二维数组指针、二级指针以及实现动态二维数组的内存连续。1、任何指针变量被创建时不会自动成为NULL指针,它的默认值是随机的,它会乱指一气。因此如果在短期不用的话,就先把指针赋值为NULL,例如:int * p = null;2、以内存需求的角度来看,不同类型的指针没有什么不同,其所占空间与操作系统有关(32位操作系统指针占用4字节,64位系统指针原创 2022-01-26 15:52:40 · 2650 阅读 · 1 评论 -
位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及&0xFF等常见应用)
位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及&0xFF等常见应用)位运算是C语言的重要特点,是其他计算机高级语言所没有的,位运算是以二进制为对象的运算,二进制表示法与计算机内存完全对应,每个单元(位)都可以设置成开(1)或关(0)。而且位运算比正常的运算符速度要快很多,因为位运算是一种底层的运算,但是理解起来会偏难一些。其他补充:1、位运算符中除~外,均为耳目运算符2、运算只能是整型或者字符型的数据,不然会报错常见的位运算符符号描述运算规则&a原创 2022-01-26 14:05:54 · 9449 阅读 · 2 评论 -
Vector 容器类整理
Vector 容器类一、Vector简介Vector(向量)是一个能够存放任意类型的动态数组,能够增加和压缩数据。二、Vector容器特性1、顺序序列顺序容器中的元素按照严格的线性顺序排列。可以通过元素在序列中的位置访问对应的元素,即通过下标访问。2、动态数组支持对序列中的任意元素进行快速直接查询,甚至可以通过指针算数进行该操作,提供了在序列末尾相对快速地添加/删除元素的操作。类似于栈一样,只能在最后进行添加删除操作,当我们不知道自己所需的数组大小时,可以用Vector以节约空间。vector原创 2022-01-12 19:46:22 · 503 阅读 · 1 评论 -
C++数组的创建及使用(静态数组与动态数组)
C++数组的创建及使用一、静态数组静态数组:定义时就已经在栈**上分配了空间大小,在运行时这个大小不能改变数组(array)是一种数据格式,能够存储多个同类型的值。一维数组1、一维数组的声明:一般声明:typeName arrayName[arraysize];要创建数组,可使用声明语句。数组的声明应该指出数组的①存储在每个元素中的值的类型②数组名③数组中的元素数注意:以上声明语句中的arraysize不能是变量,另外数组大小一旦确定之后就不能修改了!例如:short month[1原创 2021-12-14 14:02:30 · 34961 阅读 · 1 评论