2022.7.19写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。
标题的结构如下:“语言”:“知识点”——“简短的解释”
- 一、C/C++: `extern` —— 关键字
- 二、C/C++:`extern "C"` —— C/C++混合编程
- 三、C/C++:`dll`与`lib`——动态链接库和静态链接库
- 四、C/C++:`Sleep(1000)`——时延函数
- 五、C/C++:`system("cls")`——清屏函数
- extern是一种声明,不管在程序何处声明,在其声明前 或 其他文件中,都能使用该变量。
- 在函数之外定义的变量其实就是一种声明。
- 声明最好和赋值分成两句。
- 最好别在头文件中使用extern ,会引起很多不必要的麻烦。
链接:
extern——关键字
二、C/C++:extern "C" —— C/C++混合编程
- 实现C++和C的混合编程。
- 搭配 #ifdef __cplusplus 使用会有奇效。
三、C/C++:dll与lib——动态链接库和静态链接库链接:
extern “C”:实现C++和C的混合编程
- 编写动态链接库:
- 新建.h文件与.cpp文件
- .cpp文件引用.h文件
- .h文件中加入#define Import extern "C" _declspec(dllexport),用Import来代替extern "C" _declspec(dllexport),确定需要导出的函数,如Import int sum(int a, int b);。
- 在.cpp文件中加入sum函数的具体定义。
- 最后编译.cpp,如果成功则在Debug里可以看到 .dll 动态库文件。
C语言和C++语言导出的dll文件中,函数的修饰名是不一样的。
如果要C语言风格的(.dll)文件,就要再加上"extern C"进行修饰,或者把源文件名的后缀改为(.c)。
如果是要C++风格的(.dll)文件,则源文件名后缀必须为(.cpp)。
- 隐式调用
- 在编译dll文件时已经Import函数的情况下,按照下图即可调用库函数。
- 显示调用
- 在编译dll文件时已经Import函数的情况下,按照下图即可调用库函数。
四、C/C++:Sleep(1000)——时延函数链接:
动态链接库(DLL)
一文彻底搞懂静态库和动态库,显示链接和隐式链接
- 头文件为 #include
。 - 括号里单位为ms,1000为时延1秒。
五、C/C++:system("cls")——清屏函数链接:
CC++中计时、延时函数
- 头文件为#include
。 - 清除屏幕,适合刷新率不高的程序,如果高的话会很闪眼睛。
链接:
C++ 刷新屏幕



