Introduction to C using lcc-win

J

jacob navia

If you want to learn C from scratch, I have written a manual (and a
compiler system with it) for you:

"Introduction to C using lcc-win"

Can be used to learn C from "first principles".

No associated costs, neither for the manual nor for the compiler.

Download it from:

http://www.cs.virginia.edu/~lcc-win32
 
B

BruceS

If you want to learn C from scratch, I have written a manual (and a
compiler system with it) for you:

"Introduction to C using lcc-win"

Can be used to learn C from "first principles".

No associated costs, neither for the manual nor for the compiler.

Download it from:

http://www.cs.virginia.edu/~lcc-win32

Jacob, you're bound to get a certain amount of negative criticism for
encouraging the download and use of your compiler here. For my part, I
thank you for your efforts. I hope you will be open to and objective
about any technical criticisms of your manual.
 
J

James Kuyper

That's not quite true, unless it overrides what it says on his web-site:
"... if you use it professionally you have to have to buy a licence."

SB: license
Jacob, you're bound to get a certain amount of negative criticism for
encouraging the download and use of your compiler here. For my part, I
thank you for your efforts. I hope you will be open to and objective
about any technical criticisms of your manual.

Does the documentation claim that lcc-win32 has options that can be used
to put it into one or more modes that fully conform to some version(s)
of the C standard? I can't tell - I don't have any place where I can run
manual.exe. If it does have such modes, posting that notice here could
be entirely appropriate, if he wants people to evaluate the validity of
that claim.

lcc-win32's extensions to standard C would be more appropriately
discussed in comp.compilers.lcc.
 
K

Kaz Kylheku

Jacob, you're bound to get a certain amount of negative criticism for
encouraging the download and use of your compiler here. For my part, I
thank you for your efforts. I hope you will be open to and objective
about any technical criticisms of your manual.

This kind of comment is pretty much as good as saying, "I harbor a suspicion
that you won't be open to and objective about any technical criticsms". If you
don't harbor such a suspicion, then don't add such a statement.
 
D

David Brown

Jacob, you're bound to get a certain amount of negative criticism for
encouraging the download and use of your compiler here. For my part, I
thank you for your efforts. I hope you will be open to and objective
about any technical criticisms of your manual.

I can give some negative criticism on the manual - it is a Windows exe
file, and therefore too badly broken for any other criticism. (It would
not be /too/ bad to have a windows exe file for a windows-specific help
browser and reference - but that is not a manual.) The manual should be
in pdf format, just like the "Introduction to C using lcc-win".
 
J

jacob navia

Le 22/02/2014 19:02, David Brown a écrit :
I can give some negative criticism on the manual - it is a Windows exe
file, and therefore too badly broken for any other criticism. (It would
not be /too/ bad to have a windows exe file for a windows-specific help
browser and reference - but that is not a manual.) The manual should be
in pdf format, just like the "Introduction to C using lcc-win".

As many other Unix heads here, you do not know what you are talking
about when you see a windows program. You see "manual.exe" and

GOSH it is an EXE!!!!

And you jump into a chair like some women when seeing a mouse. :)

Manual.exe installs in your lcc-win installation several pdfs that are
contained INSIDE the executable file that is just an installation program!

Obviously for you, ANY windows exe file "is broken" by definition of
windows, the product of the evil empire.


Look I will not try to convince you that for professional reasons I
decided to work with windows since there I have found a lot of
CUSTOMERS, i.e. people that are willing to PAY me for my software.

Under linux there are no customers. You can have users, of course, but
nooooone of them will shell a penny for any program since all software
should be free. Of course if you are a gcc developer or you do network
programming you can find customers under linux if you are lucky... but
there is NO way a compiler writer can make a living there.

Of course these considerations are my personal decisions that do not
engage anyone else but me.

Yours truly

jacob navia
 
B

BruceS

Le 22/02/2014 19:02, David Brown a écrit :

As many other Unix heads here, you do not know what you are talking
about when you see a windows program. You see "manual.exe" and

GOSH it is an EXE!!!!

And you jump into a chair like some women when seeing a mouse. :)

Manual.exe installs in your lcc-win installation several pdfs that are
contained INSIDE the executable file that is just an installation program!

Obviously for you, ANY windows exe file "is broken" by definition of
windows, the product of the evil empire.


Look I will not try to convince you that for professional reasons I
decided to work with windows since there I have found a lot of
CUSTOMERS, i.e. people that are willing to PAY me for my software.

Under linux there are no customers. You can have users, of course, but
nooooone of them will shell a penny for any program since all software
should be free. Of course if you are a gcc developer or you do network
programming you can find customers under linux if you are lucky... but
there is NO way a compiler writer can make a living there.

Of course these considerations are my personal decisions that do not
engage anyone else but me.

Yours truly

Jacob, might I suggest that a suitable response to this could have been
to provide a link to those documents themselves, without the installer?
That would get around the problem entirely.
 
G

Geoff

Manual.exe installs in your lcc-win installation several pdfs that are
contained INSIDE the executable file that is just an installation program!

Why does it have to be installed?
Wouldn't a zip file be just as convenient? I dare say it would be more
convenient since one can open it an view the contents without
executing unknown code. Your documentation process will save a step
since the archive doesn't need to be converted to a self-extract
archive.

I don't like running unsigned code on my development computers unless
it's my own.
 
K

Kaz Kylheku

Le 22/02/2014 19:02, David Brown a écrit :

As many other Unix heads here, you do not know what you are talking
about when you see a windows program. You see "manual.exe" and

GOSH it is an EXE!!!!

A nice safeguard against these pesky modernists who expect to download
documentation directly from the web to their smartphones.
 
J

jacob navia

Le 23/02/2014 00:27, Geoff a écrit :
I don't like running unsigned code on my development computers unless
it's my own.

I understand. I have added an entry in the download page for you (and
the other people here) It is the last entry and says:

The documentation of the C library for users that do not want to execute
any code in their machines but just want to have a look at the features
of the C library. In chm format, needs a windows system to view it.

The chm format is a "compiled html" stuff of the microsoft help system.

To view it just type

c-library.chm

at any command prompt in the directory where you downloaded it, and the
windows help system will activate and display the documentation of the
library.

Anyway in my mind set, people that download it want to use the compiler
so they will execute code created by me anyway and I suppose they trust
me enough for executing a program I wrote.

But it is true also that you have to be careful. I understand that.

jacob
 
J

jacob navia

Le 22/02/2014 23:46, BruceS a écrit :
acob, might I suggest that a suitable response to this could have been
to provide a link to those documents themselves, without the installer?
That would get around the problem entirely.

Yes, I added an entry to the download page for Geoff

See my answer to him
 
J

jacob navia

Le 23/02/2014 00:33, Kaz Kylheku a écrit :
A nice safeguard against these pesky modernists who expect to download
documentation directly from the web to their smartphones.

I understand, see my reply to Geoff, I added an entry in the download
page for him.

Sorry for this misunderstanding.

jacob
 
I

Ian Collins

jacob said:
Le 23/02/2014 00:33, Kaz Kylheku a écrit :

I understand, see my reply to Geoff, I added an entry in the download
page for him.

But not for the pesky modernists who expect to download documentation
directly from the web to their smartphones....
 
D

David Brown

Le 22/02/2014 19:02, David Brown a écrit :

As many other Unix heads here, you do not know what you are talking
about when you see a windows program. You see "manual.exe" and

GOSH it is an EXE!!!!

And you jump into a chair like some women when seeing a mouse. :)

Manual.exe installs in your lcc-win installation several pdfs that are
contained INSIDE the executable file that is just an installation program!

Obviously for you, ANY windows exe file "is broken" by definition of
windows, the product of the evil empire.

I use Windows extensively.

Use of "exe" for anything that does not have to be an executable file is
broken by definition - regardless of whether it is for windows or
anything else. The same applies to the idiotic use of self-extracting
zip files and other packaging of /data/ files in /executable/ format.
Such usage - as used by and encouraged by Microsoft - is one of the
reasons for the proliferation of malware on Windows.

Use "exe" files for your program - including setup or installation
programs. But put documentation in pdf files, and put bundles of files
in zip files.


If I am considering a piece of software, one of the things I want to do
is look at the documentation. I will often want to do that from a Linux
machine, or from my Android pad. The one thing I would /never/ do is
install an exe file from someone's webside just to read the documentation.


(I did have a look at your "introduction" pdf, as it is easily readable.
I didn't read it all - it's rather long - but it looked well written.
Some of your ideas about extensions to C were rather interesting, though
I don't agree with all of them.)

Look I will not try to convince you that for professional reasons I
decided to work with windows since there I have found a lot of
CUSTOMERS, i.e. people that are willing to PAY me for my software.

I use Windows, and some of the software on it is free, some of it is
paid-for.

I use Linux, and some of the software there is also commercial (though
the proportion is much smaller).

Most of my work is for embedded systems, but sometimes there is PC
software too. Most of that is for Windows, but some is for Linux - and
customers pay for that too.

Under linux there are no customers. You can have users, of course, but
nooooone of them will shell a penny for any program since all software
should be free. Of course if you are a gcc developer or you do network
programming you can find customers under linux if you are lucky... but
there is NO way a compiler writer can make a living there.

Of course these considerations are my personal decisions that do not
engage anyone else but me.

Yes, these are all /your/ decisions - and you certainly don't have to
justify how you make a living. If you make money from selling a
compiler for Windows, that's absolutely fine - and I agree that you
would have a hard time selling it in the Linux world.

But - speaking as someone who buys software development tools on Windows
- I /hate/ seeing things put in exe format for no good reason, and it
makes it highly unlikely that I would consider your tools.

Take that as constructive criticism, aiming to help - as that is how it
is intended.

David
 
D

David Brown

But not for the pesky modernists who expect to download documentation
directly from the web to their smartphones....

Maybe all three Windows smartphone users can download it?

The file in question is the library reference, and Windows chm is a good
choice of format for that purpose - it will only be useful as a
reference when you have the full compiler anyway. (And I could read it
with Okular on my Linux machine if I was perverse enough...)

It's the /manual/ that I am most curious about looking at. It's mostly
out of habit - I just like reading manuals. I like to see things like
what standards are supported, what kind of language extensions does it
have, and so on. And since the other documents on the site are written
with TeX or FrameMaker and generated as pdf, I expect the same to apply
for the manual.
 
G

Geoff

Le 23/02/2014 00:27, Geoff a écrit :

I understand. I have added an entry in the download page for you (and
the other people here) It is the last entry and says:

The documentation of the C library for users that do not want to execute
any code in their machines but just want to have a look at the features
of the C library. In chm format, needs a windows system to view it.

The chm format is a "compiled html" stuff of the microsoft help system.

To view it just type

c-library.chm

at any command prompt in the directory where you downloaded it, and the
windows help system will activate and display the documentation of the
library.

Anyway in my mind set, people that download it want to use the compiler
so they will execute code created by me anyway and I suppose they trust
me enough for executing a program I wrote.

But it is true also that you have to be careful. I understand that.

jacob

I appreciate the effort but the .chm file by itself is insufficient.
Downloading it and placing it in a directory by itself and opening it
yields a window with table of contents and index but no content in the
text frame. Moving it to \lcc\bin didn't help. Installing lcc-win
supplies the documentation and it works in that context.
 
G

Geoff

The same applies to the idiotic use of self-extracting
zip files and other packaging of /data/ files in /executable/ format.
Such usage - as used by and encouraged by Microsoft - is one of the
reasons for the proliferation of malware on Windows.

Self-extracting archives are, in fact, executables. The compressed
data is wrapped inside an executable that is the decompressor for the
data. It's not idiotic to name it .exe since that is exactly what it
is. Whether it's idiotic to make an archive self-extracting is another
argument altogether. WinZip and WinRAR are the 'tar' utilities that
make self extraction moot.
 
J

James Kuyper

Self-extracting archives are, in fact, executables. The compressed
data is wrapped inside an executable that is the decompressor for the
data. It's not idiotic to name it .exe since that is exactly what it
is. ...

What he said was: "Use of "exe" for anything that does not have to be an
executable file is broken by definition - regardless of whether it is
for windows or anything else." I don't think he was objecting to the the
use of that naming convention for executable files; he was objecting to
the use of executable files for purposes where making them executable
wasn't necessary. Of course a self-extracting archive needs to be
executable; but an archive that is not self-extracting avoids forcing
users to have to decide whether or not to trust that your executable
isn't malware.
 
D

David Brown

What he said was: "Use of "exe" for anything that does not have to be an
executable file is broken by definition - regardless of whether it is
for windows or anything else." I don't think he was objecting to the the
use of that naming convention for executable files; he was objecting to
the use of executable files for purposes where making them executable
wasn't necessary. Of course a self-extracting archive needs to be
executable; but an archive that is not self-extracting avoids forcing
users to have to decide whether or not to trust that your executable
isn't malware.

That is exactly what I meant.

I don't mind that executable files on Windows are called ".exe". In
fact, I think that's a good thing (on a system that uses file extensions
as file types) - and Windows suffers from the opposite problem of having
many other file types that also may contain executable code. Many a
trojan has called itself "naked_woman_screensaver.scr" to fool people
into thinking it is not an executable.
 
G

Geoff

That is exactly what I meant.

I don't mind that executable files on Windows are called ".exe". In
fact, I think that's a good thing (on a system that uses file extensions
as file types) - and Windows suffers from the opposite problem of having
many other file types that also may contain executable code. Many a
trojan has called itself "naked_woman_screensaver.scr" to fool people
into thinking it is not an executable.

I take your points, but...

To be precise, .scr screen saver files have always been executables,
with all the implications that came with that fact.

Then there is the absolutely stupid idea of hiding "known" extensions
by default and all the Trojans that came after, naming their files
something like "joke.txt.exe" or "naked_woman.jpg.exe".

But the same kind of vulnerability now exists in Linux and OS X. Any
file can be "executable" and the system chooses what to do with the
file upon double-click based on the extension OR on the contents of
the file, just double-click a .c file or rename a .pdf to eliminate
the extension and then open the file to see what happens or rename a
..pl to .py or eliminate the extension altogether and see what happens
when you feed it raw to the system.

But then there's the meta-data in PDF files and the scripts inside
Open Office and Excel or Word files and don't even get me started on
the idiocy of execute-on-mount or the Windows autorun facility...

But I've had to use self-extracting archives to transport files from a
PC to a dedicated control like the Siemens 840D because it didn't have
a zip tool and it was far more expeditious to run the self-extractor
than to escape the HMI to install some code just to install some more
code.

But one thing has always irritated me about OS X is that I have found
no tool that can open .zip files for examination _before_ extracting
them as you can with WinZIP or WinRAR.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

lcc-win 17
ANN An ansic90 version of lcc-win 86
Lcc win overflow handling 42
Warnings in lcc-win 70
The lcc-win string library 31
C99 initializers in lcc-win 0
[OT] lcc first experience 70
lcc-win32 102

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top