24 - 第三方库的使用支持

server/2024/10/11 9:21:06/

---- 整理自狄泰软件唐佐林老师课程

文章目录

  • 1. 第三方库的使用支持
    • 1.1 问题
    • 1.2 经验假设
    • 1.3 第三方库在项目中的位置
  • 2. 第三方库的编译阶段支持
  • 3. 第三方库的链接阶段支持
  • 4. 实验

1. 第三方库的使用支持

1.1 问题

当需要使用第三方库文件时,编译环境中的 makefile 该如何修改?

1.2 经验假设

  • 第三方库通过函数调用的方式提供库中的功能
  • 库文件发布时都附带了声明库函数原型的头文件
  • 编译阶段使用头文件,链接阶段使用库文件

1.3 第三方库在项目中的位置

在这里插入图片描述

2. 第三方库的编译阶段支持

  • 定义变量 DIR_LIBS_INC 用于指示头文件的存储位置
    DIR_LIBS_INC := $(DIR_PROJECT)/libs/inc
  • 使用 DIR_LIBS_INC 提示 make 头文件的存储位置
    vpath %$(TYPE_INC) $(DIR_LIBS_INC )
  • 使用 DIR_LIBS_INC 提示编译器头文件的存储位置
    CFLAGS += -I$(DIR_LIBS_INC)
  • 注意事项:
    必须考虑拷贝后得到库文件和原始库文件的新旧关系

3. 第三方库的链接阶段支持

  • 定义变量 EXTERNAL_LIB 用于保存第三方库列表
  • 目标 link 需要依赖于第三方库

在这里插入图片描述
注意:第三方库必须最后一个依赖,这是为了处理一种极端的情况:我们的一个子模块和库文件的名字相同。
在这种情况下,优先使用自己的模块而不是第三方库模块。

4. 实验

在这里插入图片描述
在这里插入图片描述

24 - 第三方库的使用支持


http://www.ppmy.cn/server/111070.html

相关文章

2. 学习环境-编辑器和静态服务器

vscode代码编辑器 Web3D开发的代码编辑器和平时web前端开发一样,你可以根据自己的喜好选择,本课程选择的代码编辑器是vscode (opens new window)。 如果不了解vscode,想安装和使用vscode,可以参考我以前发布的前端公开课HTML入门…

extern:c语言中的函数可以重复声明吗

在C语言中,函数可以被多次声明,但是有几个要点需要注意: 1.重复声明必须保持一致:函数的多次声明必须完全相同,包括返回类型、函数名和参数列表(包括参数的类型和顺序)。如果声明的任何部分不一…

读书笔记:《深入理解Java虚拟机》(6)

垃圾收集器与内存分配策略 三、经典垃圾收集器 如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《Java虚拟机规 范》中对垃圾收集器应该如何实现并没有做出任何规定,因此不同的厂商、不同版本的虚拟机所包含 的垃圾收集器都可能会…

shell脚本—————局域网IP扫描

#!/bin/bash #该脚本用于采集某个C类网络存活主机的MAC地址 #使用方法:bash 脚本名字网卡名字网段前三位.10.144.100. #ETH$(ifconfig | grep eth | awk {print $1})for ip in {1..254} do { arping -c 2 -w 1 -I $1 $2$ip| grep "reply from" > /dev/…

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-26浅谈XILINX FIFO的基本使用

软件版本:VIVADO2021.1 操作系统:WIN10 64bit 硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台:米联客-MLK-H3-CZ08-7100开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

Vue输入框模糊搜索的多种写法

&#xff08;1&#xff09;模板方案 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…

MongoDB 中国用户大会8月31日 (MongoDB 8.0 发布)

1.会议时间地点 「2024 MongoDB 中国用户大会」上海站线下活动&#xff08;2024年8月31日09:00&#xff09;正式开始&#xff0c;开放签到时间08:00-09:00。活动地址&#xff1a;上海凯宾斯基酒店 3F 舜华宴会厅&#xff08;上海市浦东新区陆家嘴环路1288号&#xff09; 2.会议…

Spring Boot自动配置源码解析

一、自动配置概述 1.1 什么是自动配置 Spring Boot的自动配置是一种能够根据类路径中的依赖、配置文件中的属性以及其他条件&#xff0c;自动配置Spring应用上下文的功能。它通过扫描项目中的类和配置文件&#xff0c;判断哪些组件需要自动装配&#xff0c;从而减少了手动编写…