| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Pl/I |
Excerpted from a message dated 01-19-99, Francois Thunus to Murray
Lesser:
ML> I usually compile a new program for static linking as part of the
ML> development process, because the run-time error checking seems to
ML> be more complete and errors have shown up that were hidden in the
ML> dynamically linked executable.
FT>any specific reason for that ??
Hi Francois--
I haven't the slightest idea. The errors I have picked up this way
have always been in multithreaded programs, and appear to be related to
the way I used to kill off secondary threads. The runtime error
messages were explicit in the statically linked programs, but sometimes
they didn't appear for the dynamically linked equivalent. So I got
into the habit of doing it for all programs. Compiling for static
linking entails adding only one word ("static") to the first line of the
source code; removing that word will compile the same source code for
dynamic linking (the default).
FT>sure. I also have 2 sets of compiling options, one for
>debug and one for production, like everyone does, I imagine.
Although the version of PL/I I have includes a very complex
source-code debugger and a performance analyzer, I have never bothered
with using either. I am old fashioned, and debug with "display"
(printf) statements, possibly because I have found too many cases where
the version of the program as compiled and linked for a debugger did not
exhibit problems that appeared only in the final code. My debugging
process usually works well, because I follow the rules laid down by
Kernighan and Plauger in "Software Tools" about building and testing a
little bit at a time. Where I differ from them is that I usually don't
waste my time with "top down" testing (or programming). I tend to start
at the bottom (the hard part of the program), then go to the input and
output, and then fill in what is in between, testing as I go. Of
course, I program only for my own amazement, these days :-).
Regards,
--Murray
___
* MR/2 2.25 #120 * If it can happen, it will (Murphy)
--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, telnet://bbs.os2bbs.com (1:109/347)SEEN-BY: 396/1 632/0 371 633/260 262 267 270 371 635/444 506 728 639/252 SEEN-BY: 670/218 @PATH: 109/347 104 8 13/25 270/101 140/1 396/1 633/260 635/506 728 633/267 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.