C++中静态库和动态库(shared)有什么区别?
大家好!我最近开始学习C++,正在尝试理解库的概念。我在GitHub上看到一些项目链接.lib文件,另一些链接.dll(Linux上是.so)。据我了解,有两种类型的库:静态库和动态库(shared)。有人能用简单的话解释一下区别吗?
我有一个小项目:我写了一个用于矩阵运算的类(乘法、转置等)。现在我想把它做成一个库,以便在不同的程序中使用。但我不确定该选择哪种类型。如果我使用静态库会怎样?动态库呢?这会对可执行文件的大小、运行速度、更新便利性产生什么影响?
以下是我想要转化为库的代码示例:
```cpp
// matrix.h
#pragma once
#include
class Matrix {
public:
Matrix(int rows, int cols);
Matrix operator*(const Matrix& other) const;
Matrix transpose() const;
void print() const;
private:
int rows_, cols_
```