Does anyone know how the intermediate library code is used

 3 Replies
 0 Subscribed to this topic
 27 Subscribed to this forum
Sort:
Author
Messages
Ari
Veteran Member
Posts: 49
Veteran Member
    When I run bldsh against a program that uses a library I can see that the library code gets copied into the final .cbl source. What I am wondering is how is the intermediate library code that gets created in the int directory used. It looks like some kind of compiled or compressed code. I am guessing that it is compressed code that gets created at compile time when a new or changed library is discovered. I would also guess that this compressed code gets uncompressed and inserted in the .cbl program before compile. I am assuming this is faster than copying the source library in. This might make compiling a whole product line reasonably quicker.
    Greg Moeller
    Veteran Member
    Posts: 1498
    Veteran Member
      Although I'm not an expert in how these are used, for the most part, you are correct... The int files are built at compile time, and the first thing that Infor support will ask you to do when you report a problem with a particular program is to first delete the int files, and then do a lstinvk -q prodline pgm followed by a qcompile prodline systemcode pgm.
      The int files are used as a kind of cache specifically to produce a speedier compile, but when support asks you to delete them, to make sure that you are pulling in any updated library files, I don't see much of a point to them.
      Ari
      Veteran Member
      Posts: 49
      Veteran Member
        Yes, I would think that for programs that have any libraries that need to be recompiled there would be little or no speed advantage. It would only be speedier for large compiles that don't need very many of the libraries compiled or compressed. 
        steve finger
        Veteran Member
        Posts: 47
        Veteran Member
          the ".int" files are used by the animator (which in lawsonese is called the debugger/cobdebug/batchdebug) The animator uses the .int file to run as the program is interpreted instead of compiled. In fact i would venture a guess that ".int" could be shorthand for interpreted instead of intermediate. Note that error checking is much more rigorous when animated - you can get a runtime error n the animator (OR a file that was compiled with the debug option and a .gnt file is not created) for example....a numeric field that has spaces in it will not cause an error when compiled....the animator will freak out and abend