1. 头文件
1)系统标准头文件位置: /usr/include下,以及安装库的头文件位置:/usr/local/include/
如 #include<linux/can.h> 对应 /usr/include/linux/can.h
#include<stdio.h> 对应 /usr/include/stdio.h
#include <libusb-1.0/libusb.h> 对应 /usr/local/include/libusb-1.0/libusb.h
2)可以使用 -I 来指示非标准位置的头文件
如 gcc -I/usr/local/include test.c 指示编译器不仅在标准位置也在/usr/local/include位置查找头文件
2. 库文件
-系统标准库文件位置:/lib /usr/lib
-用户安装库位置: /usr/local/lib
默认只搜索标准c语言库,对于系统标准库中的其他库以及安装库,需要在编译时指定库名。对于非系统标准库还需通过-L来指定库文件位置。
1)C标准库,不需要-l 以及-L,编译时自动连接/lib/x86_64-linux-gnu/libc.so.6:gcc -o test test.c
2)标准库中的其他库,如libmath.so:gcc -o test test.c -lm
安装库:如:libusb-1.0.so,gcc -o libusb-test usbtest3.0.c -lpthread -lusb-1.0
3)非系统标准库:gcc -o usbtest usbtest.c -L/home/baoli/libusb -lusb