|
On 2010/11/5 3:47 PM, dieter.bender@xxxxxxxxxxxx wrote:
... (funny: why didn't they hav a a look to C, where
main is named "main" - shudder). ...
Because in C, there's no relationship between the prototype for the
program and the main procedure.
#pragma linkage(MYPGM, OS)
void MYPGM(int *i, int *j, char *p);
main(int argc, void *argv[])
{
// The C compiler doesn't know or care that this
// main() function matches the MYPGM prototype
}
This gives a lot of flexibility, since I can interpret the argv
parameter any way I like. But I'd rather that the C compiler be able to
catch the error if I code this
main(int argc, void *argv[])
{
char *p = (char *) argv[1];
int i = *(int *) argv[2];
int j = *(int *) argv[3];
}
For RPG, if every main procedure were to be called "main", you'd need
two prototypes for each main procedure, one called "main" in the module
containing the main procedure, and one called "prtreport" or whatever in
the modules that would call the main procedure.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.