热点:

    C语言库封装指南

      [   原创  ]   作者:
    收藏文章 暂无评论

    库是一组由源文件编译生成的目标文件的集合,例如 s1.c 编译为 s1.o,s2.c 编译为 s2.o,这些目标文件可合并形成库。在 C 语言中,每个目标文件可包含多个数据结构和函数,但不能包含 main 函数,因此库本身不可独立运行,需与其他代码链接后使用。

    1、 创建两个源文件 s1.c 和 s2.c,并为它们分别编写对应的头文件 s1.h 与 s2.h。

    2、 将s1.c和s2.c编译并打包成静态库libs12.a。

    3、 运行gcc -c s1.c s2.c命令,生成对应的目标文件s1.o和s2.o。

    4、 执行命令ar cr libs12.a s1.o s2.o将目标文件打包,生成名为libs12.a的静态库文件。

    5、 编写测试文件main.c,编译并链接静态库libs12.a进行功能验证。

    6、 运行命令gcc -c main.c将源文件编译生成目标文件main.o。

    7、 运行命令gcc -o s12.exe main.o libs12.a,将目标文件与静态库链接,生成名为s12.exe的可执行程序。

    8、 运行生成的s12.exe可确认已成功连接静态文件。

    9、 利用先前生成的源文件s1.c、s2.c、头文件s1.h、s2.h及测试主文件main.c进行后续操作。

    10、 利用前一步通过gcc -c s1.c s2.c生成的s1.o和s2.o目标文件,运行命令gcc -fPIC -shared -o libs12.so s1.o s2.o,即可生成名为libs12.so的动态链接库文件。

    11、 相同源文件下,动态库体积远大于静态库。

    12、 利用上一步通过gcc -c main.c生成的目标文件main.o,运行命令gcc -o s12_so.exe main.o libs12.so,将目标文件与动态链接库结合,最终生成可执行程序s12_so.exe,完成程序的链接与构建过程。

    13、 对比发现,在源文件相同的情况下,动态链接生成的可执行文件体积较小(因代码简单差异有限),而静态链接生成的可执行文件较大,动态库文件则相对较大。

    14、 IDE中选择合适项目模板,按图示操作即可生成静态库。

    15、 IDE生成静态库的操作与手动方式本质相同,只是实现了模板化和可视化,简化了流程。

    16、 所示,选择动态库项目模板即可生成动态库。

    17、 IDE生成动态库的过程与手动操作在本质上并无不同,具体所示。

    soft.zol.com.cn true https://soft.zol.com.cn/1163/11633154.html report 1632 库是一组由源文件编译生成的目标文件的集合,例如 s1.c 编译为 s1.o,s2.c 编译为 s2.o,这些目标文件可合并形成库。在 C 语言中,每个目标文件可包含多个数据结构和函数,但不能包含 main 函数,因此库本身不可独立运行,需与其他代码链接后使用。 1、 创建两个源文件 ...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    开放式数值计算动态库OpenForcal 1.22

    更新时间:2007年07月27日

    用户评分:0 | 0人点评

    软件类型:试用软件

    软件语言:简体中文

    开放式数值计算动态库OpenForcal 1.22
    • 更新时间:2007年07月27日
    • 软件大小:0.6MB
    • 软件分类:编程工具
    • 语言种类:简体中文
    • 软件评级:0 人点评