[nos-bbs] jnos for dos
Glenn Thomas
glennt at charter.net
Thu Apr 19 12:22:09 EDT 2007
Hi Barry!
Thanks for the details on 3.1. I never used it myself, though I think
the Borland os/2 compiler was based on it. Also, thanks for the
questions. Here are my answers. Remember, dumb looks are always free! ;-)
73 de Glenn
At 11:55 PM 4/18/2007, Barry Siegfried wrote:
>[Glenn Thomas <glennt at charter.net> wrote]:
<snip>
>Please forgive the stupid question Glenn, but what are "strong" and
>"weak" typing in C++ and C, respectively? I have never heard these
>terms and would like to know what they mean. Obviously, I'm a 'C'
>(and not a C++) guy.
The only stupid question is the one you don't ask. Strong/weak typing
refers to variables passed as function (or subroutine in other
languages) arguments. In weak typing, no checks are done at compile
time, the parameter types are locally declared and taken as gospel by
the compiler. Thus with weak typing it's allowed to call a function
with an argument that is of type "double" and have the function treat
it as a "long". Languages that allow this include assembler, FORTRAN
(*sigh*) and C.
In strong typing, the compiler will check parameter types between the
call and the target and declare an error if they don't match. You can
usually still do a "mixed mode" call, but the compiler will force you
to at least cast the parameter in the call to the correct type.
Languages with this characteristic include C++, Ada, HAL/S and (I think) PL/1.
As I said before, there's nothing inherently wrong with this. It's an
issue because mixed mode calls can result in very obscure bugs when
it is used unintentionally.
> > Using the makefile and either the 4.0 or 4.5 command line compiler
> > I was able to compile JNOS 1.11c and f with no problems. FWIW, I've
> > also successfully compiled JNOS 1.11X with Borland 1.5 and 2.0, but
> > there are a few gotchas there...
>
>Do you recall what those gotchas were? I've never used anything
>other than Borland 3.1 so I am not familiar with the earlier Borland
>or Turbo-C compilers. They were before my time. :)
It's been a few years. The main one I remember is that some of the
assembler pseudo-ops either didn't exist or didn't work right in the
earlier assemblers. I don't remember which ones, though the set of
possibilities is small because there isn't much assembly in JNOS. I
haven't looked at JNOS2.0 to see if the assembly is still there,
though with gcc it's not a problem.
> > One other thing about Borland, I think that 3.1 was the last release
> > that included an assembler. After that it was an option, so be sure
> > to save the object files from assembly language modules.
>
>I believe you're right about that, which I guess means it is too bad
>for people who would need to change any assembly code in these modules.
>
>73, de Barry, K2MF >>
Yeah. I recall there being a set of object modules for those
routines, so you could build without an assembler. In my case, I had
the v1.5 and v2.0 versions of TASM, but decided that I'd rather not
fight with the assembly code every time a new version of JNOS came
out, so I invested in the latest version of TASM. It wasn't very
cheap, but at least I could do a "make clean" without worrying. OTOH,
I don't recall having to change any of the assembler code other than
what was required for the older assemblers.
73 de Glenn wb6w
More information about the nos-bbs
mailing list