Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

how to open an obj file?

Status
Not open for further replies.
Replies continue below

Recommended for you

Given the extent to which modern compilers optimize emitted code to make best use of registers, do loop unrolling, consolidate expressions, etc., it would be exceedingly difficult and for all practical purposes impossible to determine exactly what the source code looked like. If you don't have the source code from which the .obj was produced, why not? Are you delving into something prohibited?
 
You usually can't open an obj file, in fortran or any other compiled language.

If you need to change the code, you need to get the original file.

"Do not worry about your problems with mathematics, I assure you mine are far greater."
Albert Einstein
Have you read FAQ731-376 to make the best use of Eng-Tips Forums?
 
If you have the source, change it else you have to
trace down the machine language program, using
emulator and disassembler and it may be a
several man-month or even man-year project.

The changing - patching the code -- is usually simple.

Ususal way: remove one or more instructions and
replace them with a call to the PATCH. This contains the
additional code plus the removed instruvtion(s)


Plesae read FAQ240-1032
My WEB: <
 
Hiya-

Welllll, basically these guys are right. You can get a
*TINY* bit of information from some object files that have
to be LINKED with other code modules.

You can get things like globals and entry points, stuff
like that by using the ar (1) command in most 'nixes.

As the nice gentlemen have pointed out, deducing an
Algorythmn from the object file would be almost exceedingly
difficult.

The object file is an intermediate file that is produced
as an OUTPUT from a compiler. The resulting file is then
linked to the rest of the object files/libraries to
produce a relocatable image that is loaded into core,
then executed by the CPU. The relocatable is optional
depending upon operating system and CPU type.

To quote the GNU Fortran documentation:

"Compilation can involve as many as four stages: preprocessing, code generation (often what is really meant by the term "compilation"), assembly, and linking, always in that order. The first three stages apply to an individual source file, and end by producing an object file; linking combines all the object files (those newly compiled, and those specified as input) into an executable file."

Which can be found in the page at:

You might have to cut and paste the link.

Hope this helps. Get the source.

Cheers,

Rich S.
 
Status
Not open for further replies.
Back
Top