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

office做网站的软件地推推广平台

office做网站的软件,地推推广平台,计算机网页制作工具,深圳龙岗做网站的公司在 CMake 中,public、private和 interface是用来指定目标属性的作用域的关键字,这三个有什么区别呢?这些关键字用于控制属性的可见性和传递性,影响了目标之间的依赖关系和属性传递。 public 如果在一个目标上使用 public关键字时…

在 CMake 中,public、private和 interface是用来指定目标属性的作用域的关键字,这三个有什么区别呢?这些关键字用于控制属性的可见性和传递性,影响了目标之间的依赖关系和属性传递。

  1. public

如果在一个目标上使用 public关键字时,该属性会传递给依赖于该目标的其他目标。例如在目标 A 上设置了一个 public属性,然后将目标 A 作为目标 B 的依赖项,那么目标 B 也会继承目标 A 上设置的 public属性,目标B再作为目标C的依赖项的时候目标C对目标A是可见的。

  1. private

如果在一个目标上使用 private关键字时,该属性只会应用于当前目标,不会传递给依赖项。例如在目标 A 上设置了一个 private属性,该属性不会传递给依赖于目标 A 的其他目标。

  1. interface

如果在一个目标上使用 interface 关键字时,该属性会传递给依赖于当前目标的其他目标,但不会应用于当前目标。例如在目标 A 上设置了一个 interface属性,该属性会传递给依赖于目标 A 的其他目标,但不会应用于目标 A 本身。

附上官方文档的一个例子Transitive Usage Requirements来看,这里删除了一些无关的定义宏,CMake的语句清晰一点:

add_library(archive archive.cpp)add_library(serialization serialization.cpp)add_library(archiveExtras extras.cpp)
target_link_libraries(archiveExtras PUBLIC archive)
target_link_libraries(archiveExtras PRIVATE serialization)add_executable(consumer consumer.cpp)target_link_libraries(consumer archiveExtras)

在这里插入图片描述

  • 因为archive 是archiveExtras的PUBLIC依赖项,所以它的符号在编译的时候也会传播给consumer 。

  • 因为serialization 是archiveExtras的PRIVATE依赖项,所以它的符号在编译的时候不会传播到consumer 。

Generally, a dependency should be specified in a use of target_link_libraries() with the PRIVATE keyword if it is used by only the implementation of a library, and not in the header files. If a dependency is additionally used in the header files of a library (e.g. for class inheritance), then it should be specified as a PUBLIC dependency. A dependency which is not used by the implementation of a library, but only by its headers should be specified as an INTERFACE dependency.

讲了target_link_libraries() 怎么使用public/private/interface关键字:

  • 【private:cpp使用依赖项,hpp不使用依赖项】如果依赖项仅由库的实现使用,而不是在头文件中使用,使用private。
  • 【public:cpp使用依赖项,hpp使用依赖项】如果在库的头文件中额外使用了依赖项(库的视线也使用了依赖项)(例如用于类继承),使用public。
  • 【interface:cpp不使用依赖项,hpp使用依赖项】如果库的实现不使用依赖项,而仅由其库的头文件使用的依赖项应指定为interface。
http://www.ds6.com.cn/news/44640.html

相关文章:

  • 深圳的网站建设公司三把火seo网络推广知识
  • 做系统的网站河源今日头条新闻最新
  • 小江高端企业网站建设商业推广软文范例
  • 创app开发 杭州app开发公司如何做网站推广优化
  • 为第三方网站做推广湖南seo推广软件
  • h5响应式网站建设方案产品推广的目的和意义
  • 手机模板网站模板免费下载广州seo黑帽培训
  • 树形菜单的网站代码网站建设seo优化培训
  • 织梦做视频网站可以吗百度关键词在线优化
  • 新楼盘网站模板十大营销策略
  • 做们作业网站郑州厉害的seo顾问
  • 做网站代理需要办什么执照合肥百度搜索优化
  • 怎么寻找做有益做网站的客户长沙建站工作室
  • 邢台市做网站百度一下首页登录入口
  • wordpress next page免费网站seo诊断
  • 做移动网站多少钱石家庄seo推广公司
  • 沈阳大型网站制作公司国内最新新闻
  • 不用ftp做网站百度网盘客户端
  • 抚州市做棋牌网站太原网络推广公司
  • 杭州外贸网站建设公司申跃网站不收录怎么办
  • 专门做电商的招聘网站南宁网络推广培训机构
  • phpcms做的网站苹果cms永久免费建站程序
  • 设计师网站十大网站排名河南今日头条新闻最新
  • 网站建设使用的工具黑帽seo培训
  • 做的网站打印全乱掉了简述获得友情链接的途径
  • 怎么免费做网站教程自然搜索优化
  • 做app做网站从何学起好的seo网站
  • 网站建设客服工作搜索引擎推广有哪些
  • 长沙协会网站设计专业服务怎么做网页
  • 网站建设wesnowsat芜湖网络营销公司