[erlang-questions] Version of beam

Bjorn Gustavsson <>
Sat Nov 17 10:27:30 CET 2007


Mickaël Rémond <> writes:

> Hello,
> 
> Is there any function (or description of the beam format) allowing to
> know which version of beam bytecode we are dealing with ?
> The idea would be, given a beam file, to know if it is targetting
> Erlang R10 or R11 for example.

Unless the beam-file has been stripped, the easiest way is to look
at the compiler version number in the informatin returned by:

Mod:module_info(comile).

The same information can be obtained by beam_lib like this if you
don't want to load the module to check its version:

beam_lib:chunks(PathToBeamFile, [compile_info]).

If you must be able to deal with beam-files that have been stripped,
you could extract the "Code" chunk from the beam-file, and look at
the field called "opcode_max" in the header for the code.
(See http://www.erlang.se/~bjorn/beam_file_format.html.)

/Bjorn
-- 
Björn Gustavsson, Erlang/OTP, Ericsson AB



More information about the erlang-questions mailing list