项目经验+知识总结

博客围绕项目展开,介绍了项目环境配置的要点,如遇到问题的解决思路。还讲解了包含目录与附加包含目录关系、VC++目录相关设置,以及头文件、lib文件和dll文件的关系。此外,分享了C++指针、函数重载,QT控件和布局,还有k - svd字典学习、OMP算法等知识。

拿到一个项目,首先要多问,多问组织结构和框架。然后配置环境的时候给自己设限一定时间遇到问题百度不出来就问别人,少说自己也不懂这种话,多尝试不同的思路,而不是只知道百度。

包含目录和附加包含目录关系

  • 包含目录和附加包含目录(库目录和附加库目录)的区别主要在于全局还是当前,那么当需要对某工程添加这些目录时,通常情况下,都是在附加包含目录和附加库目录中添加的。
  • 要使用一个库,除了要include其头文件的所在目录路径以外(附加包含目录),还要在链接过程中把lib加进去(附加库目录、附加依赖项)。
  • 附加库目录—添加文件引用的lib静态库路径
  • 附加依赖项—添加工程引用的lib文件名:

VC++目录:

包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录

**库目录:寻找.lib文件的搜索目录**

C/C++:

常规->附加包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录(每一项对应一个文件夹XXXX,文件夹中包含了编译时所需的头文件,使用时直接#include<XXXX>即可)

链接器:

常规->附加库目录:寻找.lib文件的搜索目录

输入->附加依赖项:lib库(**C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码**)!

头文件(附加目录)及lib文件(附加库目录),dll文件关系

1,.h是函数声明的接口,仅仅是接口
2,.dll中有函数的可执行代码
3,.lib分两种情况,分别对应静态链接(lib是静态库)与动态链接(动态链接的导入库import library)

  • h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的。
  • LIB文件的作用:告诉链接器调用的函数在哪个DLL中,函数执行代码在DLL中的什么位置,这也就是为什么需要附加依赖项 LIB文件,它起到桥梁的作用。
  • 如果生成静态库文件,则没有DLL,只有lib,这时函数可执行代码部分也在lib文件中。
  • 绝对路径和相对路径
  1. ./ 代表当前目录,html中可以省略
  2. …/ 代表上级目录
  3. …/…/代表上上级目录
  4. …/…/…/ 以此类推
  5. / 代表根目录

C++知识

类名后面加*,表示该类型为对应类的指针类型。
指针类型为C/C++语言的特色概念,其值为对象的地址。
类名加*,有两种作用情况:
1 用于定义时,或用于函数参数,返回值时,表示对应变量值为类指针类型;
2 用于变量前,以(CLASS_NAME *)var_name,形式出现时,表示将变量或常量var_name强制转换为类指针类型。

什么是函数重载(what)?
函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。重载可以实现
根据具体的参数去调用不同的函数

QT知识

QLineEdit是一个单行文本输入框。

QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:撤消和重做、剪切和粘贴、以及拖放(见setDragEnabled())。

QComboBox提供了下拉列表框的控件。下面简单介绍几个的方法和属性。

(1)addItems

void addItem(const QString &text, const QVariant &userData = QVariant())

void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

在列表的最后一项添加一个文本内容为test选项

(2)currentText

QString currentText() const

返回下拉列表框中当前选中的文本

(3)count

int count() const

返回当前列表框中选项数量

(4)currentIndex

int currentIndex() const

返回当前列表框中选中文本的序号
QGridLayout:格栅布局,也被称作网格布局(多行多列)。
QGridLayout:格栅布局
栅格布局将位于其中的窗口部件放入一个网状的栅格之中。QGridLayout需要将提供给它的空间划分成的行和列,并把每个窗口部件插入并管理到正确的单元格。 栅格布局是这样工作的:

k-svd字典学习

一种形式
在这里插入图片描述

OMP算法

QT窗口布局

给QWidget或者QDialog设置布局的时候方式很简单。创建好一个布局:mainLayout,然后不停地把各个控件往mainLayout里面放,最后调用setLayout(mainLayout)就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值