写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。
标题的结构如下:“语言”:“知识点”——“简短的解释”
extern —— 关键字1、extern是一种声明,不管在程序何处声明,在其声明前 或 其他文件中,都能使用该变量。
2、在函数之外定义的变量其实就是一种声明。
3、声明最好和赋值分成两句。
4、最好别在头文件中使用extern ,会引起很多不必要的麻烦。
链接:
extern——关键字
extern "C" —— C/C++混合编程1、实现C++和C的混合编程。
2、搭配 #ifdef __cplusplus 使用会有奇效。
dll与lib——动态链接库和静态链接库1、编写动态链接库:
.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)。
2、隐式调用
dll文件时已经Import函数的情况下,按照下图即可调用库函数。
3、显示调用
dll文件时已经Import函数的情况下,按照下图即可调用库函数。
Sleep(1000)——时延函数1、头文件为 #include 。
2、括号里单位为ms,1000为时延1秒。
链接:
C\C++中计时、延时函数
system("cls")——清屏函数1、头文件为#include 。
2、清除屏幕,适合刷新率不高的程序,如果高的话会很闪眼睛。
链接:
C++ 刷新屏幕