草庐IT

Visibility

全部标签

php - 如何在 Magento 项目中集成 Accelerated Mobile Pages

我已经开始将AMP概念整合到我当前的Magento实时项目中。我做了下面的事情。按照此处的建议在www文件夹中测试一个html文件,https://www.ampproject.org/docs/get_started/create/basic_markup.html这很好用。我在我的magento项目中做过,在1column.phtml中,getLang()?>"lang="getLang()?>">在head.phtml中,添加第一行如下{"@context":"http://schema.org","@type":"NewsArticle","headline":"Open-so

c++ - 可见性生效时如何导出公共(public)内部/嵌套类?

我正在整理一个补丁,增加了Crypto++library的可见性.根据GCCVisibility维基:Exceptioncatchingofauserdefinedtypeinabinaryotherthantheonewhichthrewtheexceptionrequiresatypeinfolookup...However,thisisn'tthefullstory-itgetsharder.Symbolvisibilityis"default"bydefaultbutifthelinkerencountersjustonedefinitionwithithidden-justo

C++ 隐藏符号增加重定位时间

我正在尝试优化具有200多个依赖项的库的加载时间。我尝试使用可见性属性隐藏符号,这使我将导出符号的数量减少了30%。查看elf直方图,优化后桶的数量保持不变,但成功和不成功的查找减少了很多。布隆过滤器大小从8kb减小到4kb,但设置的位数从19%增加到24%。尽管加载时间增加了,我认为这是由于布隆过滤器中设置的位数比以前更高。查看依赖项,我可以看到大约有400.000个符号在重定位时没有成功地查看我的库。布隆过滤器用于过滤其中的大部分,但由于位集的数量较多,误报的数量从3.6%增加到5.76%(我在互联网上找到这个公式:误报=bitsets%^2)在优化之前做一些数学计算,我不得不在我

c++ - 警告 : 'visibility' attribute ignored - symbol visibility - C++/gcc

相关主题:Whydoesconstimplyinternallinkageinc++,whenitdoesn'tinC?我正在关注GCCvisibilitywiki为我的共享库添加可见性。当我编译我的源文件时它会生成一个警告warning:'visibility'attributeignored[-Wattributes]这是我的代码://my_shared_lib.h#if__GNUC__>=4#defineDLL_API__attribute__((visibility("default")))#defineDLL_LOCAL__attribute__((visibility("h

c++ - 在 GCC 中,如何在不导出所有符号的情况下导出共享库的所有类型信息符号?

问题是:我有一个默认隐藏符号的共享库。实际上,它使用-Xlinker--version-script=选项导出特定文件中的一些符号,但隐藏所有其余符号。问题是,如果我们试图捕获在其他共享库中定义的异常,我们就会遇到问题,因为类型信息被这个共享库隐藏了。我无法明确地使异常类可见,因为它们是在我无法控制的开源库中定义的。我也不想在版本脚本符号文件中明确列出异常类的类型信息的损坏名称,因为有许多开发人员在这个库上工作,他们一定会忘记为future。我尝试在开源.hpp文件之前使用#pragmaGCCvisibilitypush(默认),但它似乎没有用-符号不可见。我也尝试过使用-fvisib

c++ - Gcc 隐藏来自包含的静态库的符号的可见性

我有:一个共享库,比如libShared.so,它包含一个类Bar,带有一个方法intBar::do(intd)const一个静态库,比如libStatic.a,它包含一个类Foo,带有一个方法intFoo::act(inta)const。Bar的代码是这样的://Bar.hclass__attribute__((visibility("default")))Bar{private:__attribute__((visibility("hidden")))intprivateMethod(intx)const;public:Bar(){}intdo(intd)const;}//Bar.

C++ 继承 : scoping and visibility of members

你能解释一下为什么这是不允许的吗,#includeclassB{private:inta;public:inta;};intmain(){return0;}这是什么时候?#includeclassA{public:inta;};classB:publicA{private:inta;};intmain(){return0;}在这两种情况下,我们在classB中都有一个名为a的公共(public)变量和一个私有(private)变量。现在编辑! 最佳答案 Inboththecases,wehaveonepublicandonepriv

c++ - dynamic_cast 何时因隐藏符号而失败?

根据关于可见性的gccwiki(https://gcc.gnu.org/wiki/Visibility,请参阅“C++异常问题(请阅读!)”)部分,但似乎也是一个示例(dynamic_castfailedwhenhidingsymbol),隐藏类可以导致有效的dynamic_cast失败。我想通过示例准确了解这种情况何时发生:任何人都可以给我一个小示例来正确理解效果吗?这是我的尝试和理解(在Linux上使用gcc>7):据我了解,我需要的是vaguelinkage发生,当基类没有关键方法时发生。所以我尝试了这个基本层次结构:classA{virtual~A();virtualvoidp

C++:警告: '...' 声明的可见性高于其字段 '...::<anonymous>' 的类型

我收到这两个警告(在MacOSX上使用GCC4.2):/Users/az/Programmierung/openlierox/build/Xcode/../../src/main.cpp:154:0/Users/az/Programmierung/openlierox/build/Xcode/../../src/main.cpp:154:警告:“startMainLockDetector()::MainLockDetector”声明的可见性高于其字段类型“startMainLockDetector()::MainLockDetector::”/Users/az/Programmieru

c++ - 基类复制构造函数的可见性问题

我有一个类(暂时称它为base),它有一个protected接口(interface),包括protected构造函数等。base的一些功能|返回base的一个实例按值(value):classbase{protected:base(){}base(baseconst&other){}//line6basefoo(){baseret;returnret;}};这些函数被包装在派生类中以返回派生类型,如下所示:classderived:publicbase{private:derived(baseconst&b):base(b){}public:derived():base(){}der