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

做多语言版本网站如何增强网站的安全性

做多语言版本网站,如何增强网站的安全性,网站建设策划书,西安做网站缑阳建在 GCC 编译一个 C 源代码时#xff0c;先会通过宏处理#xff0c;形成 一个叫转译单元#xff08;translation_unit#xff09;#xff0c;接着进行语法分析#xff0c;C 的语法分析入口是 static void c_parser_translation_unit(c_parser *parser); 接着就通过类似递…        在 GCC 编译一个 C 源代码时先会通过宏处理形成 一个叫转译单元translation_unit接着进行语法分析C 的语法分析入口是 static void c_parser_translation_unit(c_parser *parser); 接着就通过类似递归下降解析器Recursive descent parser的方式进行语法解析。当完成一个函数的解析后会将该函数加入到符号表Symbol Table中的调用图Call Graph的节点集nodes中。通过下面 gdb 的 backtrace 可以看到 #0 cgraph_node::get_create (decl0x7ffff79b2700) at gcc-project/gcc/cgraph.cc:537 #1 0x00000000012d06d4 in c_genericize (fndecl0x7ffff79b2700) at gcc-project/gcc/c-family/c-gimplify.cc:796 #2 0x00000000011587ec in finish_function (end_loc33408) at gcc-project/gcc/c/c-decl.cc:11501 #3 0x00000000011d9734 in c_parser_declaration_or_fndef at gcc-project/gcc/c/c-parser.cc:3010 #4 0x00000000011d680e in c_parser_external_declaration (parser0x7ffff7fbc5b0) at gcc-project/gcc/c/c-parser.cc:2088 #5 0x00000000011d6254 in c_parser_translation_unit (parser0x7ffff7fbc5b0) at gcc-project/gcc/c/c-parser.cc:1952 #6 0x000000000123cf9e in c_parse_file () at gcc-project/gcc/c/c-parser.cc:29613 #7 0x00000000012f68c8 in c_common_parse_file () at gcc-project/gcc/c-family/c-opts.cc:1379 #8 0x0000000001bd64d3 in compile_file () at gcc-project/gcc/toplev.cc:452 #9 0x0000000001bd9b1e in do_compile () at gcc-project/gcc/toplev.cc:2200 #10 0x0000000001bd9fb9 in toplev::main (this0x7fffffffd3d2, argc19, argv0x7fffffffd518) at gcc-project/gcc/toplev.cc:2354 #11 0x0000000004482a35 in main (argc19, argv0x7fffffffd518) at gcc-project/gcc/main.cc:39cgraph_node::get_create 就是对于一个解析后的函数所构建的调用图中的节点调用节点cgraph_node。 由此可见符号表Symbol Table会包含整个转译单元中的符号对于函数的话会形成对应的调用节点cgraph_nodesymtab_node。 此时加入以调用节点加入到符号表中的函数是已经解析好以GENERIC 中间语言所表示的。 加入后cc1 调用 cgraph_node::finalize_function 进一步处理。如下图所描述的。 这里关键是说明 C 源代码在解析Parse后所存在的形式如何提供到后面基于过程Pass机制的处理。 那么此时在compile_file函数中如下图 经过 lang_hooks.parse_file (); 后gcc 已经将C的源代码解析完毕Parsed并以调用图的方式存放符号表Symbol Table中。 在接着的 symtab-finalize_compilation_unit (); 就开始通过以处理过程Passes的方式将GENERIC中间语言转换成最终的汇编语言。
http://www.tj-hxxt.cn/news/132882.html

相关文章:

  • 怎么阻止网站oppo软件商店更新
  • 电商网站开发平台pi netwowordpress上的博客
  • o2o网站建设教程海南什么公司的网站
  • 制作网站需要的技术与软件大学生网站开发
  • 微信小程序可以做电影网站吗苏州集团网站制作公司
  • 湖北网站seo策划礼品公司网站源码
  • 商务网站建设课程福州做网站外包
  • 附近那里有做网站的国外男女直接做的视频网站
  • 河南网站优化外包服务千锋教育培训多少钱费用
  • 整站seo技术搜索引擎优化网站开发摘要
  • 顺德门户网站建设公司wifi网络服务商电话
  • 找人做效果图那个网站seo查询价格
  • 移动端网站 优帮云app软件免费模板下载网站
  • wordpress页面怎么添加样式表长春最专业的seo公司
  • 上海 建站侨联网站建设方案
  • 做网站首页的要素廊坊做网站公司
  • 哪个网站可以做分期青岛网站排名多少钱
  • 萝卜建站专业零基础网站建设教学公司
  • 淮南做网站的公司都匀网站制作
  • 网站新闻前置审批网站编辑软件有哪些
  • 网站建设总体要求上海建网站的公司
  • 龙江网站设计制作徐汇企业网站建设
  • 郑州网站个人开发北京城乡建设部网站首页北京
  • 怎么设置网站服务器外包做的网站可以直接去收录吗
  • 建设工程用地批准手续在哪个网站重庆seo建站
  • 网站权限能制作网页的软件
  • 网站宣传有文化事业建设费吗网站死链接扫描
  • html网站怎么搭建私密浏览器下载
  • 网站域名注册证书seo网站建设时文章频率
  • 一个公司是否可以做多个网站百度网站开发语言