周记 2020.01.27-02.02

LINK 2019错误,目前遇到的错误原因:

  • 没有写main()函数
    但我记得之前写dll的时候,根本不需要写main(),也出现了类似的错误,然后我从VS2019换到了GCC,就不报错了…

  • 头文件和库文件设置错误,64位和32位搞混

  • 面向对象时,少写了public函数的定义
    向下面这样,少写了func1()函数的定义,就有报错。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class className
    {
    public:
    className();
    double func1(double parameter);
    private:
    ...
    };

    className::className()
    {
    ...
    }

    int main()
    {
    className one;
    std::cout << one.func1(1.0) << std::endl;

    return 0;
    }

2.Debug的过程

Q:Debug时,index值为-858993460

A:没赋值就输出,这是未赋值时的随机值。“C语言中,变量要先赋值,才能引用,否则是任意值。”

Q:但我的问题是,start变量明明直接赋值为0,但在Debug过程却显示为-1。

3.图像处理的warning

某张png图片

1
libpng warning: iCCP: cHRM chunk does not match sRGB

另一张png图片报了两个warning,多了一个这个

1
libpng warning: iCPP: known incorrect sRGB profile 

4.__declspec(dllexport)

关于__declspec(dllexport)

一般的理解如下:

__declspec(dllimport)__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管导出,有出口也有进口