当前位置: 首页 > wzjs >正文

南城网站建设公司阿里云域名

南城网站建设公司,阿里云域名,网站的图文链接怎么做的,怎么做网站导流生意目录 一、背景知识二、使用方法(一)编译静态库(二)编译动态库(三)在主程序中调用库 三、总结 一、背景知识 在C/C开发中,库(Library)是预先编译好的代码集合&#xff0c…

目录

    • 一、背景知识
    • 二、使用方法
      • (一)编译静态库
      • (二)编译动态库
      • (三)在主程序中调用库
    • 三、总结

一、背景知识

在C/C++开发中,库(Library)是预先编译好的代码集合,可供多个程序使用。根据链接方式不同,库分为静态库和动态库。静态库在编译时将代码直接链接到可执行文件中,可执行文件体积较大,但运行时无需额外库文件;动态库在运行时加载,可执行文件体积小,便于更新和共享,但依赖外部库文件存在。

CMake是一个跨平台的自动化构建工具,通过编写CMakeLists.txt文件来定义项目的构建规则,可以方便地编译静态库、动态库以及主程序,并处理它们之间的依赖关系。

二、使用方法

(一)编译静态库

  1. 创建项目目录结构

math作为库项目, app作为测试项目

文章配图

  1. 编写math目录下的文件
  • my_math.cpp
#include "my_math.h"int add(int a, int b) {return a + b;
}int subtract(int a, int b) {return a - b;
}
  • my_math.h

#ifndef MATH_FUNCTIONS_H#define MATH_FUNCTIONS_Hint add(int a, int b);int subtract(int a, int b);#endif
  • math/CMakeLists.txt

# 设置这个目录项目的最低版本cmake_minimum_required(VERSION 3.10)# 定义一个静态库 mathadd_library(math STATIC my_math.cpp)# 设置头文件公共目录,方便其他模块包含target_include_directories(math PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
  1. 编写app目录下的文件
  • main.c

#include <stdio.h>#include "../math/my_math.h"int main() {int sum = add(1, 2);int difference = subtract(4, 2);printf("Sum: %d\n", sum);printf("Difference: %d\n", difference);return 0;
}
  • app/CMakeLists.txt

cmake_minimum_required(VERSION 3.10)# 定义一个可执行文件add_executable(DemoApp main.cpp)# 链接 math 静态库target_link_libraries(DemoApp PRIVATE math)
  1. 编写项目根目录下的CMakeLists.txt

cmake_minimum_required(VERSION 3.10)project(DemoProject VERSION 1.0)# 添加 math 目录add_subdirectory(math)# 添加 app 目录add_subdirectory(app)
  1. 构建项目
    在项目根目录下打开终端,执行以下命令:

mkdir buildcd buildcmake ..cmake --build .

(二)编译动态库

  1. 创建项目目录结构同静态库部分。

  2. 修改math目录下的math/CMakeLists.txt


cmake_minimum_required(VERSION 3.10)# 定义一个动态库 mathadd_library(math SHARED my_math.cpp)# 设置动态库的公共头文件位置target_include_directories(math PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
  1. app目录下的文件无需修改。

  2. 项目根目录下的CMakeLists.txt无需修改。

  3. 构建项目同静态库部分。

构建完成后,运行生成的DemoApp前,确保动态库对于可执行文件是可见的。在Linux或macOS上,可能需要设置环境变量LD_LIBRARY_PATH或DYLD_LIBRARY_PATH。

(三)在主程序中调用库

在主程序中调用库中的函数,只需包含相应的头文件,并使用函数即可。如上述main.cpp中的代码,通过包含my_math.h头文件,就可以使用add和subtract函数。

三、总结

通过CMake,我们可以方便地编译静态库和动态库,并在主程序中调用。静态库适合代码量不大且需要保证代码安全的场景,动态库适合代码量大且需要共享的场景。在实际项目中,根据需求选择合适的库类型,并合理组织项目结构,可以提高代码的可维护性和可扩展性。

http://www.dtcms.com/wzjs/88865.html

相关文章:

  • 企业网站建设流程图百度问问我要提问
  • 建立品牌网站的成人教育培训机构
  • 个人帮企业做网站西安百度推广竞价托管
  • 网站去哪做如何做好网络营销
  • 徐州微网站开发公司怎样宣传自己的产品
  • 公司网站如何备案域名检测查询
  • 电商平面设计师百度seo关键词排名技术
  • 做茶叶网站公司友情链接软件
  • 网站开发技术 java实时新闻
  • 网站 优化 分析在线网页制作系统搭建
  • 个人做网站时不要做什么样的网站网络营销顾问
  • seo网站推广如何做优化课程设置
  • 快速优化网站排名搜索西安百度网站快速优化
  • dw软件做二级连接网站免费做网站怎么做网站吗
  • 做试题公务员在哪个网站做seo个人优化方案案例
  • 石家庄优化哪家好seo技巧
  • 域名有了怎么建设网站百度指数关键词未收录怎么办
  • 网页制作与设计电子书福建企业seo推广
  • 广州公司建站模板正规网站优化哪个公司好
  • 广州h5网站建设公司深圳专门做seo的公司
  • 南昌做网站公司长尾关键词有哪些
  • 焦作网站建设策划英文seo外链
  • 网站建设违约责任小程序商城
  • 衡水营销网站建设培训总结
  • 查楼盘剩余房源的网站免费永久注册顶级域名网站
  • 大学网站开发实验室建设方案灰色词秒收录代发
  • 外贸中国机械加工网网站优化seo
  • 网站百度地图标注营销策划案ppt优秀案例
  • 天津网站开发招聘确认已有81人感染
  • 国外独立网站网络营销工资一般多少