拿到一个项目,首先要多问,多问组织结构和框架。然后配置环境的时候给自己设限一定时间遇到问题百度不出来就问别人,少说自己也不懂这种话,多尝试不同的思路,而不是只知道百度。
包含目录和附加包含目录关系
- 包含目录和附加包含目录(库目录和附加库目录)的区别主要在于全局还是当前,那么当需要对某工程添加这些目录时,通常情况下,都是在附加包含目录和附加库目录中添加的。
- 要使用一个库,除了要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文件中。
- 绝对路径和相对路径
- ./ 代表当前目录,html中可以省略
- …/ 代表上级目录
- …/…/代表上上级目录
- …/…/…/ 以此类推
- / 代表根目录
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)就行了。