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

质量好网站建设商家女生seo专员很难吗为什么

质量好网站建设商家,女生seo专员很难吗为什么,德州哪里有做网站推广的,做纪录片卖给视频网站简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:C++之类和函数权限访问总结。

__attribute__((visibility("hidden")))是GCC编译器提供的一个属性(Attribute),用于控制符号(symbols)在共享库(shared library)中的可见性。

可见性定义了一个符号(如函数、变量、类)是否可以被其他源文件或共享库访问。通过设置可见性属性,可以控制符号的可见性范围,从而提高代码的安全性和封装性。

visibility("hidden")__attribute__宏的一个参数,指定了符号的隐藏可见性。当一个符号被标记为hidden时,该符号对于其他目标文件或共享库是不可见的,无法访问。

__attribute__((visibility("hidden")))通常用于隐藏不应暴露给外部的实现细节,以防止其他代码直接访问和修改这些内部实现。这有助于提高代码的安全性和可维护性,同时遵循封装原则。

下面是__attribute__((visibility("hidden")))的一些常见使用场景:

  1. 隐藏内部实现:可以将某些类、函数、变量标记为__attribute__((visibility("hidden"))),这样其他代码无法直接访问这些实现细节,只能通过公共接口进行交互。

  2. 防止符号冲突:当在共享库中存在多个同名符号时,通过设置不同的可见性属性,可以避免符号冲突和链接错误。

  3. 减少符号表大小:设置一些私有符号为隐藏可见性,可以减少符号表的大小,从而降低链接时间和可执行文件的大小。

  4. 保护敏感信息:可以使用隐藏可见性来隐藏包含敏感信息的符号,以增加代码的安全性。

需要注意的是,__attribute__((visibility("hidden")))只对支持这一特性的编译器有效,且使用该特性可能会导致一些潜在问题,如符号无法被动态链接到其他代码,因此需要谨慎使用。

__attribute__((visibility("hidden")))可以通过设置符号的可见性,控制代码的封装性和安全性,使其更加模块化和可维护。然而,在使用时需要考虑到特定环境和编译器的兼容性以及潜在的问题。

2.应用实例

v1.0. 其他类可以访问:

#define C2_HIDE __attribute__((visibility("hidden")));// 可以访问 ParamBuilder 的类
class OtherClass {
public:void accessParamBuilder() {ParamBuilder pb;// perform operations on ParamBuilder...}
};class C2_HIDE ParamBuilder {// ParamBuilder 类的成员定义...
};int main() {OtherClass oc;oc.accessParamBuilder();return 0;
}
  • 注意OtherClass类可以访问accessParamBuilder.

v2.0. 其他类不可以访问:

#define C2_HIDE __attribute__((visibility("hidden")));// 无法访问 ParamBuilder 的类
class AnotherClass {
public:void tryAccessParamBuilder() {ParamBuilder pb;  // 编译错误:undeclared identifier 'ParamBuilder'}
};class C2_HIDE ParamBuilder {// ParamBuilder 类的成员定义...
};int main() {AnotherClass ac;ac.tryAccessParamBuilder();return 0;
}
  • 注意OtherClass类不可以访问tryAccessParamBuilder.

v3.0. 其他类可以访问其内部函数:

#define C2_HIDE __attribute__((visibility("hidden")));class OtherClass {
public:void accessParamBuilderFunction() {ParamBuilder pb;pb.internalFunction();  // 调用 ParamBuilder 的内部函数}
};class C2_HIDE ParamBuilder {
public:void internalFunction() {// 内部函数的定义...}
};int main() {OtherClass oc;oc.accessParamBuilderFunction();return 0;
}
  • 注意OtherClass类可以访问accessParamBuilderFunction.

v4.0. 其他类不可以访问其内部函数:

#define C2_HIDE __attribute__((visibility("hidden")));class AnotherClass {
public:void tryAccessParamBuilderFunction() {ParamBuilder pb;pb.internalFunction();  // 编译错误:'internalFunction' is a private member of 'ParamBuilder'}
};class C2_HIDE ParamBuilder {
private:void internalFunction() {// 内部函数的定义...}
};int main() {AnotherClass ac;ac.tryAccessParamBuilderFunction();return 0;
}
  • 注意OtherClass类不可以访问tryAccessParamBuilderFunction.

v5.0. 其他类完全可以访问

class OtherClass {
public:void accessParamBuilder() {ParamBuilder pb;// 调用和操作 ParamBuilder}
};class ParamBuilder {
public:void publicFunction() {// 公共函数的实现}
};int main() {OtherClass oc;oc.accessParamBuilder();return 0;
}
  • 注意OtherClass类完全可以访问accessParamBuilder.
http://www.hkea.cn/news/255396/

相关文章:

  • 乌镇网站建设标书百度站长工具域名查询
  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理
  • 凤岗网站仿做靠谱seo外包定制
  • xampp安装wordpress说明徐州seo外包
  • 啥网站都能看的浏览器下载百度收录查询工具
  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震