
正文
c语言指定静态库的函数 c语言怎么定义静态变量
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言库函数
假定c语言指定静态库的函数你是在linux下做这件事 (在windows下应该也是类似c语言指定静态库的函数的)
假定c语言指定静态库的函数你要产生的库名字为 libtest.a
1. 实现库函数于 test.c
#include stdio.h
int test()
{
printf("hello world!\n");
return 0;
}
test.h内容:
extern int test();
2. 编译test.c并产生库文件
gcc -c test.c
ar -r libtest.a test.o
3. 其c语言指定静态库的函数他程序如何调用 libtest.a 里的 test()函数?
main.c
#include "test.h"
int main()
{
return test();
}
4. 编译main.c产生可执行文件
gcc -o main.out main.c -L/path/to/libtest -ltest
5. 运行 main.out
./main.out
PS, 头文件的用处无非就是提供函数原型声明c语言指定静态库的函数,在我上面给的例子中,可以把 test.h 删除, 但是必须在 main.c 里自己加上 extern int test(); 来声明函数。
相关问答
Q1: C++怎么定义自己的库函数
1。使用命令行tcc max.c mylib.lib一同编译。mylib.lib需放在tc能找到的地方,什么是tc能找到的地方呢?一是tc的工作目录,默认是tc的安装目录,或者是你自己改动的自定义目录,对于tcc命令行,自定义工作目录信息存放在turboc.cfg文件里;二是tc的系统目录,比如lib目录。mylib.h文件也是同样道理。mylib.lib和mylib.h两个文件最好都放在当前工作目录里,不要放进inlucde和lib等系统目录,免得搞混了。
2。建立一个工程文件,比如起个叫max.prj的文件,把max.c和mylib.lib一起写进去,然后编译这个工程就可以了,mylib.lib和mylib.h两个文件也是放在当前工作目录里。在IDE环境里,自定义工作目录不是由turboc.cfg文件指定的,是由tcconfig.tc或其它你自己命名的配置文件指定的,改动的方法在option-directory里面。
Q2: 怎么在c语言中自己写库函数
1、不同的系统开发函数库的具体步骤是不一样的,这主要决定于编译、链接环境。
2、不同的库开发方式也不一样,现在主流的库开发有两种,一种是静态库,一种是动态库,两者的本质区别是库代码是否和程序融合在一起,如果组装在一起就是静态库,如果不组装在一起,即为动态库,现在操作系统提供的多数是动态库,如Linux平台的.so文件,windows平台的DLL文件。
3、以Windows平台为例,用户可以通过Vc/vs等IDE集成开发环境,生成DLL工程,然后编写def文件进行导出。
c语言指定静态库的函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言怎么定义静态变量、c语言指定静态库的函数的信息别忘了在本站进行查找喔。







