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

兰州网络推广制度搜索引擎优化的目标

兰州网络推广制度,搜索引擎优化的目标,在线咨询24小时免费咨询,网站推广优化方案关于GCC/LLVM编译器中的sanitize选项用处用法详解 ​ 编译器中sanitize选项原本来自google的开源C/C 工具集sanitizers项目, 包括了AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers项目本是LLVM项目的一部分,但GNU也将该…

关于GCC/LLVM编译器中的sanitize选项用处用法详解

​ 编译器中sanitize选项原本来自google的开源C/C+ +工具集sanitizers项目, 包括了AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers项目本是LLVM项目的一部分,但GNU也将该系列工具加入到了自家的GCC编译器中。GCC从4.8版本开始支持Address和Thread Sanitizer,4.9版本开始支持Leak Sanitizer和UB Sanitizer,这些都是查找隐藏Bug的利器。

​ 关于GNU GCC提供的关于sanitize的编译选项有:

  1. -fsanitize=address

    开启AddressSanitizer,一个快速的内存错误检查工具。内存访问的指令用于检测越界和使用后释放的bug。此外可以通过设置ASAN_OPTIONS环境变量来影响运行时的行为。当ASAN_OPTIONS环境变量设置为help=1时(如:ASAN_OPTIONS=help=1),所有可用的选项将在将在程序启用时显示。更多关于ASAN_OPTIONS环境变量有哪些预设值,参考wiki。ASAN_OPTIONS环境变量不能结合-fsanitize=thread使用。

  2. -fsanitize=kernel-address

    为Linux kernel开启AddressSanitizer。KernelAddressSanitizer(KASAN)是一个动态内存错误检测工具,它提供了快速且全面的解决方案,用于查找Linux内核中使用后释放和越界的bug。更多信息查看KASAN wiki。

  3. -fsanitize=pointer-compare

    指针操作数的比较操作工具(<, <=, >, >=)。该选项必须要么和-fsanitize=kernel-address共用,要么和-fsanitize=address共用,他不能与-fsanitize=thread共用。该检查默认在运行时是关闭的,开启需要设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=2(如:ASAN_OPTIONS=detect_invalid_pointer_pairs=2)。设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=1,仅当两个指针操作数都为非NULL时才检测是否有无效操作。

  4. -fsanitize=pointer-subtract

    指针操作数的比较操作工具(-)。该选项必须要么和-fsanitize=kernel-address共用,要么和-fsanitize=address共用,他不能与-fsanitize=thread共用。该检查默认在运行时是关闭的,开启需要设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=2(如:ASAN_OPTIONS=detect_invalid_pointer_pairs=2)。设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=1,仅当两个指针操作数都为非NULL时才检测是否有无效操作。

  5. -fsanitize=thread

    开启ThreadSanitizer,一个快速的数据竞争检测工具。内存访问的指令用作检测数据竞争的bug。更多信息见threadsanitizer wiki。通过设置ASAN_OPTIONS环境变量可以影响运行时的行为,关于该变量支持的设置值见ThreadSanitizerFlags wiki。该选项不能与-fsanitize=address-fsanitize=leak共用。

  6. -fsanitize=leak

    开启LeakSanitizer,一个内存泄露检测工具。该选项仅关心链接或覆盖了malloc和其他分配器的库的可执行程序。更多信息见AddressSanitizerLeakSanitizer wiki。通过设置ASAN_OPTIONS环境变量可以影响运行时的行为,关于该变量支持的设置值见ThreadSanitizerFlags wiki。该选项不能与-fsanitize=thread共用。

    还有几个关于sanitizer的编译选项,有兴趣的参看:https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html

http://www.hkea.cn/news/347509/

相关文章:

  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容
  • 建立门户网站的意义营销推广网
  • 网站建设网站软件有哪些百度推广开户费用标准
  • 找家装修公司家装吉林seo外包
  • 保定医疗网站建设公司会计培训班初级费用
  • 最好的销售管理系统seo发帖网站
  • 德州乐陵德州seo公司seo批量建站
  • 贵州省建设监理协会官方网站seo代运营
  • 北京哪家做网站优化账号权重查询
  • 大唐网站建设培训管理平台
  • 男人和女人在床上做那个网站网络营销策划推广公司
  • 深圳市招投标交易中心天津谷歌优化
  • 厦门园网站忱建设百度推广怎么联系
  • 网站优化页面动态网站建设
  • 做网站域名公司每日重大军事新闻
  • 网站改版数据来源表改怎么做外链百科
  • wordpress怎样做单页网站谷歌查询关键词的工具叫什么
  • 县城做二手车网站自己建网站需要多少钱
  • 有没有专业做挂的网站引流推广方案
  • 购物网站开发文献综述百度收录需要多久
  • 营销型企业网站建设案例设计公司网站