By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,353 Members | 1,555 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,353 IT Pros & Developers. It's quick & easy.

Very Small C Compiler which can generate DLL files?

P: n/a
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
Jun 27 '08 #1
Share this Question
Share on Google+
16 Replies


P: n/a
sc***********@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
lcc-win can be bundled with your application.
You can contact me for prices and conditions.

Mail address:
jacob at jacob point remcomp point fr

P.S. I do eiffel too :-)

--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
Jun 27 '08 #2

P: n/a
In article <dd**********************************@x19g2000prg. googlegroups.com>,
<sc***********@gmail.comwrote:
>I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program.
Would it? Is there an external requirement that the extension language
be C? If not, then you could make the extension language something
comparatively simple to parse and build your own tiny compiler for it.
--
"We worked every day, Sunday included, until at least ten
o'clock at night. I remember it was an event when we quit work
on Christmas night at eight o'clock to attend a family reunion."
-- Walter Davidson (of Harley-Davidson)
Jun 27 '08 #3

P: n/a
On Mon, 26 May 2008 09:34:08 -0700, scholz.lothar wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
I assume by tiny-c you mean tinycc. If so, it is also available for
Windows.
Jun 27 '08 #4

P: n/a
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.
Jun 27 '08 #5

P: n/a
Walter Roberson wrote, On 26/05/08 18:48:
In article <dd**********************************@x19g2000prg. googlegroups.com>,
<sc***********@gmail.comwrote:
>I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program.

Would it? Is there an external requirement that the extension language
be C? If not, then you could make the extension language something
comparatively simple to parse and build your own tiny compiler for it.
Or the OP could use one of the almost-C interpreters which are
embeddable. I have come across at least a couple.
--
Flash Gordon
Jun 27 '08 #6

P: n/a
On 27 Mai, 02:29, gavenkoa <gaven...@gmail.comwrote:
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.

May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.
Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.

I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?

Jun 27 '08 #7

P: n/a
On 27 Mai, 00:40, scholz.lot...@gmail.com wrote:
On 27 Mai, 02:29, gavenkoa <gaven...@gmail.comwrote:
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.

Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.

I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Jun 27 '08 #8

P: n/a
<th***********@gmx.atwrote in message
news:80**********************************@e53g2000 hsa.googlegroups.com...
On 27 Mai, 00:40, scholz.lot...@gmail.com wrote:
>On 27 Mai, 02:29, gavenkoa <gaven...@gmail.comwrote:
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.

Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.

I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.
My version of mingw comprises 55MB in some 700 files. I wouldn't exactly
call it small.

--
Bartc
Jun 27 '08 #9

P: n/a
On 27 Mai, 11:45, "Bartc" <b...@freeuk.comwrote:
<thomas.mer...@gmx.atwrote in message

news:80**********************************@e53g2000 hsa.googlegroups.com...
On 27 Mai, 00:40, scholz.lot...@gmail.com wrote:
On 27 Mai, 02:29, gavenkoa <gaven...@gmail.comwrote:
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.
Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.
I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.

My version of mingw comprises 55MB in some 700 files. I wouldn't exactly
call it small.
The question is:
How many of this 700 files are necessary to compile a given
bundle you want to release?

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Jun 27 '08 #10

P: n/a

<th***********@gmx.atwrote in message
news:d6**********************************@f63g2000 hsf.googlegroups.com...
On 27 Mai, 11:45, "Bartc" <b...@freeuk.comwrote:
><thomas.mer...@gmx.atwrote in message

news:80**********************************@e53g200 0hsa.googlegroups.com...
On 27 Mai, 00:40, scholz.lot...@gmail.com wrote:
On 27 Mai, 02:29, gavenkoa <gaven...@gmail.comwrote:
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix
it
seems that tiny-c can do this, but i don't know about windows.
May be to you enough use some scripting language such as `lua',
which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.
>Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.
>I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.

My version of mingw comprises 55MB in some 700 files. I wouldn't exactly
call it small.
The question is:
How many of this 700 files are necessary to compile a given
bundle you want to release?
I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw might
take a while. (Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)

--
bartc

Jun 27 '08 #11

P: n/a
Bartc wrote:
<th***********@gmx.atwrote in message
news:d6**********************************@f63g2000 hsf.googlegroups.com...
>On 27 Mai, 11:45, "Bartc" <b...@freeuk.comwrote:

I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw might
take a while. (Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)
lcc-win is a 5MB download (compressed). It has the same functionality of
mingw (excluding the C++ support of course). In that 5MB there is

o a full IDE with windowed debugger
o Project management!make
o linker, assembler,compiler
o librarian, resource editor
o resource compiler
o grep/diff/software metrics
o object file cross reference
o all header files of windows
o Counted string library, statistics
library, extended precision floats,
extended special functions math library,

That is because the philosophy of lcc-win is to produce
small but powerful programs.
--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
Jun 27 '08 #12

P: n/a
ca1
what about some small lisp dialect. or even wrote one (it's
comp.lang.c)! it would surely be very enlightening.
Abuse has been, for example, written in C and scripting was done
with lisp(-like) language.
source code is available somewhere.
i haven't wrote one myself yet. but it seem you only have to take
care of evaluation ...
Jun 27 '08 #13

P: n/a
On 28 Mai, 00:43, jacob navia <ja...@nospam.comwrote:
Bartc wrote:
<thomas.mer...@gmx.atwrote in message
news:d6**********************************@f63g2000 hsf.googlegroups.com...
On 27 Mai, 11:45, "Bartc" <b...@freeuk.comwrote:
I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.
Otherwise trawling through the 690 files and 89 directories of mingw might
take a while. (Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)

lcc-win is a 5MB download (compressed). It has the same functionality of
mingw (excluding the C++ support of course). In that 5MB there is
[snip]
AFAICS lcc-win is "free for non-commercial use" which means
that it is not under the GPL. Is this correct?

For Seed7 I use the GPL (and the LGPL for the libraries).
Therefore I would not use anything which is not under the
GPL or annother open source license. Sorry but anything
which contains a phrase like "free for non-commercial use"
is not free enough for me.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Jun 27 '08 #14

P: n/a
On 27 Mai, 23:58, "Bartc" <b...@freeuk.comwrote:
<thomas.mer...@gmx.atwrote in message

news:d6**********************************@f63g2000 hsf.googlegroups.com...
On 27 Mai, 11:45, "Bartc" <b...@freeuk.comwrote:
<thomas.mer...@gmx.atwrote in message
>news:80**********************************@e53g200 0hsa.googlegroups.com...
On 27 Mai, 00:40, scholz.lot...@gmail.com wrote:
On 27 Mai, 02:29, gavenkoa <gaven...@gmail.comwrote:
On May 26, 7:34 pm, scholz.lot...@gmail.com wrote:
I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix
it
seems that tiny-c can do this, but i don't know about windows.
May be to you enough use some scripting language such as `lua',
which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.
Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.
I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.
My version of mingw comprises 55MB in some 700 files. I wouldn't exactly
call it small.
The question is:
How many of this 700 files are necessary to compile a given
bundle you want to release?

I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw might
take a while.
Maybe it is possible to start just with the binary of
gcc (the driver program) and add librarys, include files
and other programs step by step...
(Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)
The full version is gcc + gnu utilities.

From time to time I have requests to release a binary
version of Seed7 for Windows. In such a release the
interpreter (hi) would work without problems, but
the Seed7 compiler (comp) produces C and therefor a
C compiler would be needed also.

For that reason I would prefer a "binary" release which
contains the normal source release + a C compiler (for
windows) in binary form (To avoid any license problems
that C compiler should be under the GPL). A binary make
utility would also be needed.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Jun 27 '08 #15

P: n/a
<th***********@gmx.atwrote in message
news:37**********************************@f63g2000 hsf.googlegroups.com...
On 27 Mai, 23:58, "Bartc" <b...@freeuk.comwrote:
><thomas.mer...@gmx.atwrote in message
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.
>My version of mingw comprises 55MB in some 700 files. I wouldn't
exactly
call it small.
The question is:
How many of this 700 files are necessary to compile a given
bundle you want to release?

I've no idea. Maybe somewhere in that a lot is an utility to determine
the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw
might
take a while.

Maybe it is possible to start just with the binary of
gcc (the driver program) and add librarys, include files
and other programs step by step...
Probably this can be done, if you know exactly what source files are being
compiled, otherwise which header and library files do you leave out? And do
you still call the result mingw?

(Mingw isn't as sprawling as I thought: my Windows was reporting "." and
".." as directories; there are more like 30, many of which are empty. So
that makes the 1577 directories of my Ruby installation in reality far
simpler too..)
From time to time I have requests to release a binary
version of Seed7 for Windows. In such a release the
interpreter (hi) would work without problems, but
the Seed7 compiler (comp) produces C and therefor a
C compiler would be needed also.
Perhaps you need an embeddable C compiler too. Makes life simpler for your
users and they wouldn't need to know anything about C at all.

--
bartc

Jun 27 '08 #16

P: n/a
jacob navia wrote:
th***********@gmx.at wrote:
.... snip ...
>
>For Seed7 I use the GPL (and the LGPL for the libraries).
Therefore I would not use anything which is not under the
GPL or annother open source license. Sorry but anything
which contains a phrase like "free for non-commercial use"
is not free enough for me.
.... snip ...
>
You do not like it?

Just do not use it and be done with it. There is no point in
attacking people because they try to earn their life. YOU do
not work for free either.
FYI GPL is NOT giving it away. It releases use under certain
conditions. It retains the right to release further use under
other conditions. Read the license. And the only attack in
Thomas' message is in your imagination.

--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]: <http://cbfalconer.home.att.net>
Try the download section.
** Posted from http://www.teranews.com **
Jun 27 '08 #17

This discussion thread is closed

Replies have been disabled for this discussion.