您现在的位置:首页 >> 环保新闻

C中会的动态库

时间:2023-03-12 12:18:00

当我们编写一个流程时,我们倚赖于许多用户定义的formula_,我们也可以在其他流程中的重用它们。

为了让多个流程可以采访这些formula_,我们倚赖于动态坎。

那么什么是动态坎呢?

动态坎是包涵多个最大限度编码的档案,它们是 C 档案,在切换为最大限度档案之前包涵多个formula_的主体。最大限度档案包涵最大限度编码,它是汇编流程的机器编码输出。

程式码流程时,动态坎中的定义的formula_将替换为地址。当流程分派时,坎被存储并且每个formula_调用将指向坎中的适当的编码段。

动态坎与实例坎

动态坎与可分派流程档案分开创始,并在运行时存储。而实例坎与流程档案的上半部一起程式码以赢得最终的可分派档案。

动态坎的好处

如果可分派档案包涵实例坎的编码,则用于动态坎会使可分派流程的大小相对来说较小。所以它的内存效率很高。此外,每当有关于动态坎的系统升级时,我们可以只简化后者的档案,而无须要之后程式码流程以赢得新的可分派档案。

动态坎的缺点

该流程不是独立的。 如果存储时动态坎不长期存在,您的流程将失败。

实例坎的好处

它与流程的上半部一起程式码以赢得单个可分派档案。 这种方法受限制流程比在运行时用于动态坎的流程存储得更太快。

实例坎的缺点

倚赖实例坎的可分派档案比倚赖动态坎的可分派档案大。

当我们一切都是系统升级一个坎时,我们必须之后程式码整个流程,这对于用户再次上传流程来说既费时又不方便。

如何创始动态坎 (Linux)

首先,您必须将 c 档案切换为最大限度档案。 不须键入表列出命令: gcc *.c -c -fPIC

-fPIC 图标确保编码与位置无关。 这这样一来电子计算机将编码存储到内存的位置显然。

-c 用于将“.c”档案切换为最大限度档案“.o”

要创始坎类型 gcc *.o -shared -o liball.so(将所须要的坎名称替换为 al)

您必须导出坎的偏移,以便流程通过分派表列出命令知道在哪里查找它们:

export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH

用于动态坎 (Linux)

gcc -L test_code.c -lholberton -o test_code

-l 与 holberton 结合告诉程式码找出一个名为 libholberton.so 的动态坎

眼睛干涩滴什么眼药水
上海白癜风最好医院是哪个
沈阳肛肠治疗费用多少钱
哈尔滨妇科专科医院
北京甲状腺医院哪家比较专业
相关阅读