首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 93 毫秒
1.
一种在Turbo Pascal环境下利用动态变量实现大数组的简洁方法;应用此方法,可以象使用普通数组那样使用动态数组.  相似文献   

2.
在VB中使用控件数组非常灵活,同样在C#中也可以实现控件数组的功能.从三个方面说明C#如何完成控件数组的功能,即对多个控件赋值,多个控件使用同一个事件处理程序,在运行时动态添加或者删除控件.  相似文献   

3.
控件是可视化开发工具的重要对象之一。在程序设计时通常会遇到具有相同性质的事件过程,如果为每个控件分别编写一段事件过程,则显得十分不经济且结构不合理。在面向对象的程序设计中可采用将多个相同的控件定义为一个控件数组,这个控件数组内的每一个控件都可以共享程序代码。这不仅减少了开发人员重复性劳动而且提高了程序的可读性。通常建立控件数组方法有两种:第一种是在设计阶段时建立,属于静态方式;另一种是在执行阶段,动态地建立控件数组,也即在程序执行时建立。为了避免内存的浪费常采用动态建立控件数组,就是在程序模块(module)内,先声明一个空的控件数组,等到要使用该控件数组时,再重新声明要使用的控件数组元素或数目。控件数组可以动态生成和释放;并且控件数组对属性具有相同控制。动态生成和释放控件数组是在运行时,用Load和Unload语句添加和删除控件数组中的控件。  相似文献   

4.
在编写Java程序时,数组是常用的一种数据类型,然而在实际使用时有许多不便之处.为此,文章讨论了代替Java传统数组的动态数组的设计及实现过程,并举例说明了动态数组类的使用方法.  相似文献   

5.
高凤娟  王豫 《软件学报》2020,31(10):2983-3003
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性.  相似文献   

6.
介绍了用if语句、switch语句以及数组来编程求解分段函数值的三种方法。利用数组来实现对复杂的分段函数的求解,可以大大降低程序的复杂度,提高程序的运行效率和可读性。  相似文献   

7.
本文提出了一种在C语言中实现动态定义数组大小的编程技巧,这种方法使得需要使用数组的C语言程序具有了很强的可读性和通用性,并用一个简单的例子来说明这个方法的应用,给出了C语言程序清单及运行结果。  相似文献   

8.
张欢枝 《福建电脑》2007,(9):137-138
C语言是一种应用广泛的计算机语言.本文从指针的使用方面对C程序的内存空间和编程效率问题进行了探讨,并根据具体情况,对动态数组的构造方法进行了改进,给出在C语言中利用指针构造一维、二维及多维动态数组的若干方法.  相似文献   

9.
随着实际应用中JavaScript程序的复杂度日益提高,程序执行的性能问题变得突出,而优化JavaScript程序中数组的使用方式可以提高程序效率。通过分析JavaScript数组的特点,结合广泛应用的Chrome V8引擎的源程序,描述V8对JavaScript数组的实现细节,重点分析Fast Elements和Dictionary Elements两种数组存储模式,给出对JavaScript数组性能优化的基本原则,并举例分析4个实际应用中可以优化的程序片段。  相似文献   

10.
鉴于许多程序设计语言无动态数组能力及一些系统软件的专用操作语言(如网状数据库的DML)尚不能处理变量参数之缺陷,本文提出一种实现动态数组结构及专用操作语言处理变量参数的用户途径,该途径既能有效地解决上述问题,又非常简便易行,实为软件开发中之有用方法。  相似文献   

11.
Automated software test data generation   总被引:3,自引:0,他引:3  
An alternative approach to test-data generation based on actual execution of the program under test, function-minimization methods and dynamic data-flow analysis is presented. Test data are developed for the program using actual values of input variables. When the program is executed, the program execution flow is monitored. If during program execution an undesirable execution flow is observed then function-minimization search algorithms are used to automatically locate the values of input variables for which the selected path is traversed. In addition, dynamic data-flow analysis is used to determine those input variables responsible for the undesirable program behavior, significantly increasing the speed of the search process. The approach to generating test data is then extended to programs with dynamic data structures and a search method based on dynamic data-flow analysis and backtracking is presented. In the approach described, values of array indexes and pointers are known at each step of program execution; this information is used to overcome difficulties of array and pointer handling  相似文献   

12.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。  相似文献   

13.
李卫东  韩腊萍  郭俊文 《计算机工程》2002,28(2):255-256,F003
尽管VB提供了动态数组,但在使用VB动态数组时是受到某些限制的,此外,当动态数组中存储较多数据时,应用程序在动态数组上的数据操作效率较低,那么,能不能在用VB设计程序时,像用C或C 设计程序那样应用链式动态存储建立执行效率较高的应用程序呢?该文就是介绍在VB中应用链式动态存储的方法。  相似文献   

14.
为把串行程序转换为并行程序,最重要且最基本的工作是数据相关性分析,而数据相关性分析主要的内容之一是循环程序中数据组元素间的数据相关性分析。传统的分析方法是通过数组的下标进行分析计算,但这种计算每次只是对两个语句间的相关性作出结论,而无法知道是否有第三个或更多的语句在这同一数据处相关,从而很难确定这两个语句是否可以并行。将Petri网用于数据相关性分析理论中,可以从全局的观点分析出同一数据处所有语句的相关性,从而可以提出将串行程序转换为并行程序的有效方法。  相似文献   

15.
受功耗、面积的限制,高性能众核处理器倾向于将片上SRAM组织成SPM这种非Cache形式,与片外主存构成多级存储架构。这种存储架构需要软件显式管理应用程序中的数据存储和传输。为此,本文提出了一种简便的栈式片上内存动态管理方法。该方法首先选择应用程序中可进行访存优化的数组变量,分析这些数组变量的生存周期,根据生存周期相干情况提出一种栈式的动态片上内存管理方法,将更多的数组变量动态存储在片上内存中,同时结合数组变量的优化收益评估将那些访存密度高的变量有限布局在片上内存中。实验结果验证了该方法的有效性。  相似文献   

16.
程序的正确性验证一直以来都是计算机科学中的一个挑战性问题,抽象解释理论为程序静态分析提供了一个通用框架,可以在编译时自动地推导程序的动态性质。基于抽象解释的数值程序分析可以自动推导程序中数值变量间的不变式关系,这对于编译优化、程序错误检查至关重要。本文建立并实现了一个面向C和Fortran程序并支持过程间分析的数值程序分析框架和工具,C或Fortran源程序经过预处理后转化为具有统一格式的中间表示形式,然后基于该中间表示抽取与源程序语义等价的语义等式,最后在该语义等式上进行不动点迭代计算从而得到程序不变式。在此基础上,本文还对数组等复杂语法结构进行了建模和抽象。实验结果表明,该工具具有较高的可扩展性、精度,并能够处理大部分因数组的使用而带来的程序分析上的问题。  相似文献   

17.
姚金阳  赵荣彩  王琦  李颖颖 《计算机科学》2018,45(9):220-223, 236
对现有的编译器而言,间接数组索引不能被高效地向量化,这使得程序中包含有该类访存形式的间接数组索引不能利用SIMD扩展部件,这也是程序向量化研究中的热点问题。为了高效地利用SIMD扩展部件,充分挖掘程序中的向量化潜能,提出了一种对间接数组索引进行向量化的新方法,且提供了性能收益方法,分别对各种间接数组索引进行性能收益分析。实验结果表明,使用该向量化方法可以显著地提高程序的执行效率。  相似文献   

18.
Finite element programming and C   总被引:4,自引:0,他引:4  
In finite element programming, data have to be dealt with which are of different types but belong together in a logical sense. It would be very effective, with respect to program readability and maintainability, to store these data as a single unit. Effcient software design requires that all parts of information, which belong together logically, are stored as a single data unit. This can be accomplished utilizing structured data types.

Dynamic memory allocation allows the definition of dynamic variables which can be created and destroyed during run-time. Dynamic memory management is handled in C by pointers. In other conventional languages, e.g. Fortran 77, the programmer has the responsibility to select adequate array sizes for the largest problem to be solved. This often leads in engineering practice to array oversizing and to memory wasting. By allocating memory dynamically during program execution according to actual problem size, wasting can be avoided.

The combination of structured data and pointers along with the dynamic memory allocation capabilities of C allows the creation of linked lists. Utilizing these concepts, an effective and easy-to-read C program has been written for finite element analysis. The C program presented demonstrates the use of these techniques for interactive finite mesh generation. The strengths of C are compared to that of Fortran 77 and Fortran 90. It has been found that for finite element programming C is in many aspects superior to Fortran 77. However, it has some disadvantages in comparison with Fortran 90 concerning array processing.  相似文献   


19.
按照一定顺序执行虚拟指令处理函数(Handler)可完成程序关键代码的保护,其为软件逆向分析者攻击的重点对象。针对“动态提取,静态分析”的Handler攻击方法,提出一种基于Handler混淆增强的虚拟机保护方法。运用等价指令替换规则生成多种等价Handler序列,对所有Handler进行变长切分和随机乱序,通过构建跳转表对乱序序列进行重组,构建随机地址数组对Handler调度地址表和执行跳转表进行隐藏。实验和分析表明:多样化Handler生成、切分和乱序增加了动态提取和分析的难度,Handler地址表和跳转表的隐藏增加了抵御静态逆向分析的难度,从而提升了虚拟机保护强度。  相似文献   

20.
在介绍数字波束形成原理的基础上,设计了一种以FPGA为核心芯片的新的数字波束合成器;该芯片可根据每个回波脉冲到达其对应阵元的时刻采用程序动态地调整合成波束的焦点和各回波信号的加权因子,实现回波信号的动态聚焦和动态变迹;对于波束合成过程中各阵元所需的接收延迟时间、聚焦延迟时间以及加权因子的存储采用软件方式为每个阵元单独设置一个专用ROM,以简化电路结构并提高系统的处理速度;仿真结果表明,与采用模拟聚焦和幅度变迹的方法相比,新方法的延时精度提高了80%,同时能更好地抑制波束旁瓣,有利于提高医学超声成像系统的图像质量。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号