|
|
| Author |
Message |
Vedam
New User
Joined: 24 Apr 2007 Posts: 23 Location: India
|
|
|
|
Hi,
Can you please let me know the difference between Compile-Link-go and Compile-Link?
Thanks |
|
| Back to top |
|
 |
References
|
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 132 Location: Bangalore/Chennai-INDIA
|
|
|
|
Hai
Is this Home Work :-)
Ok, Here is answer for your Question
To RUN Any application Program you should convert it into Machine Language(ie Executable instruction)
To do So
We will use JCL, The JCL will have 3 steps normally
1. COMPILATION STEP -
It will convert SOURCE(Say COBOL program) into OBJECT MODULE
(Its not executable intruction)
Ex; COBOL COMPILER - IGYCRCTL
2. LINAKGE STEP
This STEP will LINK EDIT OBJECT MODULE and will yield LOAD
MODULE(This is executable instruction)
3. RUN Step
This Step is used to RUN Application program(Mean in turn it will use LOAD MODULE)
Hope u clear |
|
| Back to top |
|
 |
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1148 Location: Mumbai - India
|
|
|
|
revel,
You have explained how to compile-link-run a cobol program. But i think OP was something different.
He wanted to know the difference between compile-link-go and compile-link.
Gng by the terms i think
compile-link-go -> Compile+link+run
compile-link -> Just compile and link. |
|
| Back to top |
|
 |
Vedam
New User
Joined: 24 Apr 2007 Posts: 23 Location: India
|
|
|
|
Hi,
Thanks for your replies...
1. When you mean by 'Run (Go)' the application program, does it actually submit the JCl for program execution or something else?
2. During 'Link', the load module gets created permanently, right? |
|
| Back to top |
|
 |
dbzTHEdinosauer
Senior Member
Joined: 20 Oct 2006 Posts: 1635 Location: germany
|
|
|
|
Vedam,
1. compile/link/go is a job that has the three steps:
compile step
link step
exec pgm='your program'
you create the jcl and submit the job.
2. yes |
|
| Back to top |
|
 |
dbzTHEdinosauer
Senior Member
Joined: 20 Oct 2006 Posts: 1635 Location: germany
|
|
|
|
compile link and go is just an abbreviation for a job that contains the compile, link and exec program (test the program) steps.
compile & link means a job that has only the compile and link steps. an additional job with the appropriate JCL to support the invocation of your program would be needed in the case. |
|
| Back to top |
|
 |
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1148 Location: Mumbai - India
|
|
|
|
Dick,
| Quote: |
| 2. During 'Link', the load module gets created permanently, right? |
Dick wrote:
It also depends on what is coded in the DISP parameter. |
|
| Back to top |
|
 |
dbzTHEdinosauer
Senior Member
Joined: 20 Oct 2006 Posts: 1635 Location: germany
|
|
|
|
Aaru, that is true, also depends whether the output dsn for the loadmodule is a temp (&&..) or a catlg ds.
but, if you want to be picky, which disp parm? I doubt if the OP knows what you are talking about. |
|
| Back to top |
|
 |
Phrzby Phil
Senior Member
Joined: 31 Oct 2006 Posts: 497 Location: Richmond, Virginia
|
|
|
|
| For programs not requiring link (e.g., no subroutines), there is also compile-go, which uses the loader, rather than the link-editor. |
|
| Back to top |
|
 |
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1148 Location: Mumbai - India
|
|
|
|
Dick,
| Quote: |
| but, if you want to be picky, which disp parm? I doubt if the OP knows what you are talking about. |
Hmm yes, even i don't think OP would have understood  |
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 132 Location: Bangalore/Chennai-INDIA
|
|
|
|
Dear Phrzby Phil,
| Quote: |
| For programs not requiring link (e.g., no subroutines), there is also compile-go, which uses the loader, rather than the link-editor |
I completly disagree about this,
We must need LINK STEP(Having LINKER say IEWL/HEWL) for getting Load module.
In next that is GO Step, we will use created load module for RUN/EXECUTION
<Note: What i meant is At any cost Load module will be created>
If u want to bypass that STEP ie LINK STEP, U can Route load module to TEMPERUARY DATASET and Make use of That in GO STEP
Then it Will work
Hope u r getting |
|
| Back to top |
|
 |
dick scherrer
Global Moderator
Joined: 23 Nov 2006 Posts: 8724 Location: 221 B Baker St
|
|
|
|
Hello,
| Quote: |
| If u want to bypass that STEP ie LINK STEP, U can Route load module to TEMPERUARY DATASET |
Huh? This does not bypass the link step - it simply places the link output in a temporary dataset.
| Quote: |
I completly disagree about this,
We must need LINK STEP(Having LINKER say IEWL/HEWL) for getting Load module. |
Maybe you just learned (or will have learned) something new. What if no load module is needed?
As was posted:
| Quote: |
| For programs not requiring link (e.g., no subroutines), there is also compile-go, which uses the loader, rather than the link-editor. |
|
|
| Back to top |
|
 |
revel
Active User
Joined: 05 Apr 2005 Posts: 132 Location: Bangalore/Chennai-INDIA
|
|
|
|
dick scherrer,
What i meant is
| Quote: |
| If u want to bypass that STEP ie LINK STEP, U can Route load module to TEMPERUARY DATASET |
mean if i won't include LINK STEP in JCL, it will places load module in Temperuary Library and To run that pgm we should referback to a load module where it is created(ie Temperuary dataset)
Please See Sentence which i gaven above
| Quote: |
If u want to bypass that STEP ie LINK STEP, U can Route load module to TEMPERUARY DATASET and Make use of That in GO STEP
Then it Will work |
|
|
| Back to top |
|
 |
enrico-sorichetti
Global Moderator
Joined: 14 Mar 2007 Posts: 3162 Location: italy
|
|
|
|
if You bypass the link/bind step You will not have a load module !
a load module is produced only by the linkage_editor/binder
any compiler produces only object format thing ( not executable )
a load module library has a recfm U ( undefined )
an object library ( output of a compilation ) has a recfm FB ( usually ) |
|
| Back to top |
|
 |
Phrzby Phil
Senior Member
Joined: 31 Oct 2006 Posts: 497 Location: Richmond, Virginia
|
|
|
|
Well, all I can say is that I do in fact run a compile-go proc, and it does not have a link-edit step. There is no load module as such stored in either a perm or temp dataset, as I do not need it - the loader (an IBM utility) simply creates a "load module" on the fly and runs it. Then it's gone.
If someone else says I have not been doing that, then what can I say? |
|
| Back to top |
|
 |
|
|