1.动态链接库与静态链接库的区别:
解:动态链接是指在生成可执行文件时不将所有程序乃至的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。而静态链接就是把所有乃至的函数全部链接到.exe文件中。
动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入。而静态链接是把所有的代码和数据都复制到本模块中,运行是就不在需要库了。
静态链接库与动态链接库的相同点:(1)、共享代码;(2)、代码封装。静态链接库与动态链接库的区别:(1)、静态链接库被包含在宿主程序中,而动态链接库则是在需要时动态的装载和卸载DLL文件;(2)、静态链接库中不能再包含其它动态或者静态链接库,而动态链接库中则可再包含。
2. 指令 用途
# 空指令,无任何效果
#include 包含一个源代码文件
#define 定义宏
#undef 取消已定义的宏
#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个#if……#else条件编译块
#error 停止编译并显示错误信息