解决方法:将C语言函数打包成静态链接库
比如我们的课程设计需要自己用100M存储区模拟一个文件系统,那么我首先用纯C语言写出create、delete、write、read等等系统调用,然后用Qt写出一个界面来,界面操作均需要调用C 语言函数。
首先,写好C语言的函数,如图:
然后打包成静态连接库,方法是先打包成.o文件,然后再打包成.a的静态链接库文件,具体方法百度。结果如图:

此时.a 文件已经可以被调用了,但是文件系统需要将核心程序再包装以下,需要一个.c文件来调用文件系统函数,和一个.h文件声明成C语言函数,如图:

.h文件如图,注意.h文件要加上extern "c"才可以,因为这向编译器说明该文件调用的是c语言,编译时才不会在标识符上增加_等等c++专有的标记。

此时可以#include “sysdirectory.h”了,注意编译的时候记着把静态库.a 文件也链接上去,负责无法调用成功
C语言函数与静态链接库
本文介绍如何使用C语言编写文件系统的核心功能,并通过静态链接库的方式将这些功能集成到Qt界面中。具体步骤包括编写C语言函数、创建静态链接库、在Qt项目中调用库中的函数。
1083

被折叠的 条评论
为什么被折叠?



