Open System Services Porting Guide (G06.24+, H06.03+)
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Introduction to Porting
- 2 The Development Environment
- 3 Useful Porting Tools
- 4 Interoperating Between User Environments
- Purpose of Interoperability
- The OSS User Environment
- OSS Commands for the Guardian User
- Guardian Commands for the UNIX User
- OSS Pathname and Guardian Filename Conversions
- Running the OSS Shell and Commands From TACL
- Running Guardian Commands From the OSS Shell
- Running OSS Processes With Guardian Attributes
- Using OSS Commands to Manage Guardian Objects
- 5 Interoperating Between Programming Environments
- 6 OSS Porting Considerations
- 7 Porting UNIX Applications to the OSS Environment
- 8 Migrating Guardian Applications to the OSS Environment
- General Migration Guidelines
- C Compiler Issues for Guardian Programs
- Using New and Extended Guardian Procedures
- Using OSS Functions in a Guardian Program
- Interoperating With OSS Programs
- Starting an OSS Program From the Guardian Environment
- C Compiler Considerations for OSS Programs
- Porting a Guardian Program to the OSS Environment
- How Arguments Are Passed to the C or C++ Program
- Differences in the Two Run-Time Environments
- Which Run-Time Routines Are Available
- Use of Common Run-Time Environment (CRE) Functions
- Replacing Guardian Procedure Calls With Equivalent OSS Functions
- Which IPC Mechanisms Can Be Used
- Interactions Between Guardian and OSS Functions
- 9 Porting From Specific UNIX Systems
- 10 Native Migration Overview
- 11 Porting or Migrating Sockets Applications
- 12 Porting Threaded Applications
- A Equivalent OSS and UNIX Commands for Guardian Users
- B Equivalent Guardian Commands for OSS and UNIX Users
- C Equivalent Inspect Debugging Commands for dbx Commands
- D Equivalent Native Inspect Debugging Commands for dbx Commands
- E Standard POSIX Threads Functions: Differences Between the Previous and Current Standards
- Glossary
- Index
Porting From Specific UNIX Systems
Open System Services Porting Guide—520573-006
9-2
Editors
Editors
There are two common editors available on all UNIX workstations:
•
The vi editor, which is the de facto standard, full-screen editor for UNIX systems.
More information about using vi is available in the vi(1) online reference page;
vi is also available in the OSS environment.
•
The ed editor, which is the original line editor that comes with UNIX systems. More
information about using ed is available in the ed(1) online reference page; ed is
also available in the OSS environment.
Often, there is also an emacs editor (a public domain editor), which is a popular editor
with programmers.
Any program development or maintenance shell scripts that use either the vi or ed
editor should be portable to the OSS environment.
Development Tools
Typical C program development tools found on many UNIX workstations are discussed
in the following subsections:
•
C Program Analysis Tools on page 9-2
•
Program Management Tools on page 9-3
•
C Source Code Utilities on page 9-3
•
Object File Utilities on page 9-4
•
Linkable Library Routines on page 9-5
•
Standard and Alternate Library Directories on page 9-6
•
Implementor-Defined Values on page 9-6
C Program Analysis Tools
The following C program analysis tools might be available on your workstation (see
also Section 3, Useful Porting Tools):
•
lint is a C program that checks the syntax of your source code and detects
inconsistent use, nonportable code, and suspicious constructs. It flags nonstandard
C or C syntax errors in your code. lint is not used much any more because it has
been superseded by more powerful compilers.
•
cscope is a C source code browser that locates specified code elements in C,
lex, and yacc source files. It also builds a symbol cross-reference table and aids
in program debugging.
•
prof, gprof, and lprof are program execution profilers.
•
There are profile routines that tell you which of your routines are most significant to
the performance of your application. You can run a profiler with your application to
include these profile routines.