首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.10  常见问题

下面是一些常见的问题由作者给出了解答,可以用于检验大家对本章中概念的理解程度,也能为大家在实际应用这些概念时提供帮助。如需就本章中的问题向作者提问,可以浏览www.syngress.com/solutions网页,并单击Ask the Author链接,也可以在ITFAQnet.com上查看到许多其他的常见问题。

 

问题:自定义脚本语言的时候,哪个脚本语言最容易扩展?

回答:大多数脚本语言都很容易扩展。综合考虑的话,Perl可能最容易扩展,其次是Python,最后是JavaScript。可以用不同的方式实现语言扩展,但是在大多数情况下,都是使用脚本执行或运行时期间解析的库或模块来实现扩展的。扩展语言最大的不同是有可能增加脚本执行周期内占用的内存空间。

 

问题:为什么用脚本语言实现原始套接字支持很困难?

回答:脚本语言扩展了某些方面的功能,其目的是设计简单快速的编程工具。首先最重要的是,脚本不需要编译,且一般情况下不需要引用内存中的特定位置或地址。大多数语言实现的套接字功能是作为连接技术的,而不是修改传输控制协议(Transmission Control ProtocolTCP)或用户数据报协议(User Datagram ProtocolUDP)报文内的特殊标记的“全能技术”。大多数套接字实现都可以自定义有效载荷字段。一般来说,它们都不支持IP报文创建或命令访问控制(Mandatory Access ControlMAC)创建。

 

问题:我要使用递归或迭代吗?

回答:递归和迭代在功能上是等效的。所有的递归函数完全可以用迭代来替换。在大多数情况下,程序员在解决问题时都会选择直观的递归方法。然而,如果速度要求较高,就要选择迭代。因为递归函数需要调用多个函数或方法,而在迭代中根本就不存在这种开销。

 

问题:我能编写自己的加密算法吗?

回答:别去做,开发加密算法是很困难的。在算法被证明能有效保护敏感数据之前,需要做大量的调查。可以直接使用语言自带的加密包或商业加密工具来完成所需的加密操作。

 

问题:如何创建一种编程语言?

回答:首先要开发一个语法,以指定关键字以及可接受的字符和词。由上下文自由的语法指定语言的结构。一种普遍的语法表示格式是BNF(Backus-Naur Form)。最后,开发一个编译器编译这些语法。

 

问题:引用变量是什么?它和指针有什么区别?

回答:实际上,指针存储的内容是内存地址。在C语言中,可以使用&直接访问内存单元。这种实现需要与底层硬件进行交互。引用变量最主要的优点就是易于使用。开发者不需要考虑对内存空间出现越权访问这种低级错误。另外,如果要引用一个结构,就应该使用引用变量。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论