This paper describes a new approach to dynamic link/unlink editing. The basis of this approach is a library of link editing functions that can add compiled object code to or remove such code from a process any time du...
详细信息
This paper describes a new approach to dynamic link/unlink editing. The basis of this approach is a library of link editing functions that can add compiled object code to or remove such code from a process any time during its execution. Loading modules, searching libraries, resolving external references, and allocating storage for global and static data structures are all performed at run time. This approach provides the efficiency of native machine code execution along with the flexibility to modify a program during its execution, thereby making many new applications possible. This paper also describes three sample applications of these dynamic link editing functions: program customization, incremental program development, and support for debugging and testing. A prototype of this approach is implemented under UNIX as a library package called did for the C programming language and is available for VAX, Sun 3 and SPARCstation machines.
The ultimate goal of a programming environment is to help simplify the software development process. For an object-oriented language, a visual (object-oriented) program ming environment (VOOPE) must at least satisfy f...
详细信息
The ultimate goal of a programming environment is to help simplify the software development process. For an object-oriented language, a visual (object-oriented) program ming environment (VOOPE) must at least satisfy four essential requirements to meet this goal: interactivity: integration, incrementality, and intelligence. In this study, object-oriented techniques were systematically applied to construct such a VOOPE. On the other hand, some characteristics of object-oriented languages, such as inheritance and polymorphism, may themselves be barriers to understanding, maintaining, and even constructing object-oriented programs. To solve, or at least alleviate, this problem, a language-based editing process has been designed and incorporated into our VOOPE. This process contains two key elements: syntax-directed editing facilities and an in-place editing assistant, which facilitate object-oriented programdevelopment by providing useful programming guidance and by reducing the number of potential programming errors. We have so far developed a window-based environment prototype using Visual C++ and the Microsoft Foundation Classes library.
暂无评论