Tech Note #10: Portable Object Code
Ó1997 Bionic Buffalo Corporation; All Rights Reserved.
19 October 1997
Bionic Buffalo Tech Note #10:
Portable Object Code
last revised Sunday 19 October 1997
©1997 Bionic Buffalo Corporation. All rights reserved.
What is Portable Object Code?
Portable object code is actually source code, but it is difficult to read and understand.
Unlike “normal” object code, portable object code can be recompiled for different target
environments. It is not restricted to run on any specific processor architecture.
Formerly, portable object code was called source code in our documentation, but the
expectation of intelligibility caused confusion. Therefore, we have begun to call it “portable
object code” instead.
This Tech Note explains the purpose of portable object code, and shows examples.
The Strict Meaning of “Source Code”
The most common source code languages are well defined in various specifications. For
example, ANSI X3.159:1989 defines the language commonly called Standard C. There are
similar specifications for other languages. When these specifications are used as definitions,
then portable object code is, in fact, source code.
Bionic Buffalo adheres to the formal definitions of these programming languages when creating
portable object code. This allows compatibility with standard compilers and other tools,
thereby improving portability.
The specifications allow a lot of freedom in chosing variable names, organizing nested loops,
and using go to statements and other constructs. No attempt is made to create portable object
code which is readible or sensible to humans. However, compilers (which are oblivious to the
fine points of style) are very happy to digest portable object code.