来自 资讯 2021-12-14 06:15 的文章

国内高防cdn_服务器防火墙怎么关闭_精准

国内高防cdn_服务器防火墙怎么关闭_精准

这是关于为codesonarapi添加附加语言绑定的系列文章中的第一篇。[阅读第一部分|第二部分|第三部分|第四部分|第五部分]示例1获取包含程序点的过程。//Ccs_结果r;集装箱;r=cs_pdg_vertex_pdg(pnt和容器);如果(r!=CS_SUCCESS)中止();//c++,java和C++语言过程容器=pnt.get U程序();#蟒蛇容器=pnt.get U程序()2013年3月左右,ddos基础防御怎样开通,我开始从事一个晚间项目:将CodeSonar(和CodeSurfer)API移植到一些更流行和更高级的语言中。这比我希望的要花的时间长一些,但到了2013年7月,我用API的Cig、Python、java和C++端口创建了一个工具,叫做SWIG,它为Python、java和Cy*做了大量工作。新的api出现在codesonar4中,目前是beta特性。它们应该比C或schemapi更容易使用,前提是缺少人工编写的文档并不会把人们吓跑。在任何情况下,请随时通过电子邮件向我们发送有关这些API的问题和评论-这就是为什么它们处于测试阶段。codesonarapi是做什么的?使用codesonarapi,用户可以编写定制的软件分析。这些分析可能会检测到违反简单规则的情况(即永远不要获取变量xyz的地址)。例如,更有雄心壮志的用户可能会试图解决这个停滞不前的问题。从历史上看,CoSoDoNAPI已经暴露在C和Stand中,但是,作为CODESONAR 4,Python、C++、java和C语言也被支持。API的大部分内容都是提供一个接口到程序的中间表示:文件、过程、程序点、AST等。自定义分析对于执行特定于代码库的规则特别强大。例如,cc脚本防御代码,Boston Scientific使用定制的CodeSonar分析来检测医疗设备中的并发问题。另一个组织有一个插件来检测不正确的异常传播和日志记录。可能性很大。历史大约在1999年,GrammaTech正在研究一种最终命名为CodeSurfer的东西。它主要是作为一个程序切片工具和代码浏览器,同时也为C/C++软件提供了一个很好的程序分析平台。它解析代码并为cfg、ast和其他各种IR元素提供编程接口。CodeSurfer需要一个UI,GrammaTech希望在比C语言更高的层次上实现它。当时Tcl/Tk很流行,但该公司主要是由懂得不使用Tcl的编程语言势利者组成。GrammaTech选择了Scheme Tk(STk),这正是它听起来的样子。为了实现UI,GrammaTech创建了一个scheme接口来访问中间表示。这个scheme接口是CodeSurfer公共API的两倍。Scheme是一种简洁、动态类型的函数式语言。但最终,很明显,免费ddos防御墙,scheme不应是IR的唯一接口,原因如下:STk比等效C慢一个数量级,这对于程序分析来说是痛苦的。这个计划不受欢迎。大多数人不会为了编程API而学习一门语言。STk不再被维护(除了我对内部版本所做的更改)。与更流行的语言(或者其他Scheme实现)相比,库的支持很差。对于有许多贡献者的大型项目,ddos无法防御端口,动态类型可能很难实现。在2000年代中期,wayosddos防御,我得出了这样的结论:CodeSonar不应该主要在Scheme中针对Scheme API实现。所以我们创建了一个C API,但是C当然也有一些自身的问题。Scheme API被重写为C API的客户端,我们修复了一些潜在的错误和不一致性。CodeSonar主要是作为CodeSurfer的capi的客户端实现的。CodeSurfer API是codesonarapi的一个子集。那么为什么C而不是C++?C++仍然不是API的合理基础语言,因为你不能用标准的ABI来计算每个编译器——每个编译器的每个版本都有它自己的东西。理论上,像IA64 C++的ABI这样的努力有一天会有帮助的。今天,我们可以创建可移植的C++ API作为C API之上的单板层。C++的另一个问题是它很复杂,不是每个人都喜欢它。我自己对此有复杂的感觉。继续阅读下一篇文章,了解C API客户机面临的挑战。