动态数据库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。动态数据库提供了一种方法,使进程可以调用不属于其可执行代码的函数。
静态数据库是一种用户模块。它提供了函数的完整的目标代码。在静态库情况下,函数和数据被编译进一个二进制文件,Visual C++的编译器在处理程序代码时,将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。
扩展资料:
动态装入动态数据库,要用到Windows的三个API函数,即Loadlibrary、Freelibrary和GetprocAddress函数。
1、Loadlibrary函数调用格式为:function loadlobrary (DdfileName:Pchar): THandle:。
2、、当不再需要一个动态数据库时,应调用FreeLibrary函数将其释放。
FreeLibrary函数调用格式:procedure FreeLibrary (Libmodule:THandle)。
3、用GetprocAddress函数把动态数据库中函数的地址传递给程序中某个函数变量,再用该变量实现动态数据库函数的调用。
GetprocAddress函数格式:function GetprocAddress (Libmodule:THandle:procname:pchar):TFarProc:。
参考资料来源:百度百科-动态数据库
借助于外部编译器调取生成的动态数据库。ADAMSoSvler以动态链接的方式调用用户编制的子程序。由于ADAMS本身没有编译器,其必须借助于外部编译器才能生成用户所需要的动态链接库文件。
在使用C语言编制用户定义子程序的过程中,除了要安装FORRTAN编译器外,用户还必须提供C语言的编译器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)