一、驱动安装:
A、安装:
sudo insmod filename.ko
B、查看主设备号:
cat /proc/devices 主要查看主设备号
C、创建字符设备文件:
sudo mknod /dev/mygpio c 243 0
A、安装:
sudo insmod filename.ko
B、查看主设备号:
cat /proc/devices 主要查看主设备号
C、创建字符设备文件:
sudo mknod /dev/mygpio c 243 0
二、Linux的静态库生成:
A:编译:
gcc -c filename.c
B:创建静态库 .a 文件:
ar rcsv libFilename.a filename.o
C:使用:
gcc -o 可执行文件名 源文件 [-L dir] -lfilename
三、Linux的动态库创建
A:构造动态库的目标文件:
gcc -fPIC -Wall -c filename.c
B:生成动态库:
gcc -shared -o libFilename.so filename.o
C:注册动态库的路径名:
1)、修改/etc/ld.so.conf文件
2)、修改LD_LIBRARY_PATH环境变量
3)、将库文件直接复制到/lib或者/usr/lib目录下(这俩目录为系统默认的库路径)
A:构造动态库的目标文件:
gcc -fPIC -Wall -c filename.c
B:生成动态库:
gcc -shared -o libFilename.so filename.o
C:注册动态库的路径名:
1)、修改/etc/ld.so.conf文件
2)、修改LD_LIBRARY_PATH环境变量
3)、将库文件直接复制到/lib或者/usr/lib目录下(这俩目录为系统默认的库路径)
优缺点:
动态库在程序执行时才被链接使用,且可以被多个程序使用故可称为共享库。
静态库需要直接编译进可执行文件中。
静态库使程序臃肿,且难升级,但是易部署。
动态库使程序轻便,且易于升级,但是难以部署。
动态库在程序执行时才被链接使用,且可以被多个程序使用故可称为共享库。
静态库需要直接编译进可执行文件中。
静态库使程序臃肿,且难升级,但是易部署。
动态库使程序轻便,且易于升级,但是难以部署。