嵌入式入门练习_3
用 gcc 生成 .a 静态库和 .so 动态库
例子1:写三个文件,包括,函数定义的头文件hello.h,函数内容的c文件hello.c,还有测试用的主程序c文件main.c。
程序为:
hello.h:
#ifndef HELLO_H
#define HELLO_H
void hello(const char*name);
#endif//HELLO_H
hello.c:
#include<stdio.h>
void hello(const char*name)
{
printf("Hello%s!\n",name); }
main.c:
include"hello.h"
int main()
{
hello("everyone");
return 0;
}
程序作用是调用hello输出Hello everyone
一、先使用文件编辑器编辑三个文件:
二、无论静态库,还是动态库,都是由.o 文件创建的。因此,我们必须将源程序 hello.c 通过 gcc 先编译成.o 文件:
三、由.o 文件创建静态库,在系统提示符下键入以下命令将创建静态库文件 libmyhello.a:
四、在程序中使用静态库:
五、检测公用函数 hello 是否真的连接到目标文件 hello 中,删除静态库,测试程序是否正常运行: