以图形用户界面(GUI,Graphical User Interface)为基础的Wi你都我是,可以说是一个巨大的操作系统。
(1)通过DLL文件实现函数共有
DLL(Dynamic Link Library)文件,顾名思义,是在程序运行时可以动态加载Library(函数和数据的集合)的文件。多个应用可以共有同一个DLL文件,可以达到节约内存的效果。
例如,我们编写一个具有某些处理功能的函数MyFunc()。应用A和应用B都会使用这个函数。图(5-5)。
(2)通过调用_stdcall来减小程序文件的大小
通过调用_stdcall来减小程序文件的方法,是用C语言编写应用时可以利用的高级技巧。
C语言中,在调用函数后,需要执行栈清理处理指令。栈清理处理是指,把不需要的数据从接收和传递函数的参数时使用的内存上的栈区域中清理出去。
例如,在代码清单5-1中,从函数main中调用函数MyFunc()。按照默认设定,栈的清理处理会附加在函数main()这一方。
虽然通过调查编译器生成的机器语言执行文件就可以得知栈清理的处理内容,不过机器语言不容易理解,所以这里我们用汇编语言的代码清单将其显示出来。如代码清单5-2所示。
C语言通过栈来传递函数的参数。Push是往栈中存入数据的指令。32位CPU中,1次push指令可以存储4个字节的数据。代码清单5-2中,由于使用了两次push指令把两个参数(456和123)存入到了栈中,因此总的来说就是存储了8字节的数据。
标签:文件,清理,5.4,函数,编程,DLL,内存,C语言 From: https://www.cnblogs.com/24koi/p/17112516.html