473,387 Members | 3,801 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Very Small C Compiler which can generate DLL files?

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
16 3310
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
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
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
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
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
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
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
<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
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

<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
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
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
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
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
<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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: paul calvert | last post by:
I hope somewhere here has encountered and solved a similar problem in the past. 1) on a new Win2000 PC: installed Visual C++ 6.0 download & install single file Service Pack 5.0 2) try to...
10
by: Bjorn | last post by:
I'm using interfaces in C++ by declaring classes with only pure virtual methods. If then someone wants to implement the interface they needs to inherit from the class. If the implementing class...
31
by: JS | last post by:
We have the same floating point intensive C++ program that runs on Windows on Intel chip and on Sun Solaris on SPARC chips. The program reads the exactly the same input files on the two platforms....
28
by: Skybuck Flying | last post by:
Hi, I think I understand now a bit better what the difference is between a c compiler and a pascal compiler. For example: When compiling source code with a pascal compiler. The pascal...
2
by: Mary | last post by:
Hello, I am having a problem with the cl compiler. I have written a C class (RegConnect.c) which uses Win32 API functions such as RegOpenKey, RegCloseKey etc. Initially when I was trying to...
55
by: Ennixo | last post by:
hi, do you know where i can find some ebooks or websites talking about C# optimisation ? for exemple, i just learned that ++i is faster than i++. i would like to know more about the things...
10
by: Jonathan Wilson | last post by:
Firstly, to get msvcrt.lib, install the .NET framework SDK. The version of msvcrt.lib included there is the exact same one as comes with Visual Studio ..NET 2003. There are some other things that...
16
by: Durumdara | last post by:
Hi ! I have a problem. I have a little tool that can get data about filesystems and wrote it in python. The main user asked me a GUI for this software. This user is needed a portable...
43
by: Jeremy Thomson | last post by:
I want to do some simple programming at home on my new Vista PC. Its to automate moving .AAC files to my phone's mercury card. (Nokia's application only works with USB cable or bluetooth). So the...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.