[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] How do you use TCC?

From: Tom Hartnett
Subject: Re: [Tinycc-devel] How do you use TCC?
Date: Mon, 04 Jun 2012 15:21:47 -0400
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1

On 6/3/2012 2:38 PM, Stefano Zaglio wrote:

I would like to get an idea of how TCC is used on concrete projects.

If offtopic, possibly also to address@hidden



Tinycc-devel mailing list


Background: We develop embedded software (OS, call processing, protocols, etc.) for telecommunications switching systems (TDM and VoIP). Historically, we've done most of that development under GCC/Cygwin. But every time there's a major new release of GNU/Cygwin and/or Windows, I "feel a lot of pain" and it takes us a non-trivial amount of time to regression test everything. So I started taking a hard look at TCC as a lightweight (in a good way) alternative to GCC. (But I'm presently using TCC just as a "proof of concept" for an alternative code development environment. We don't use it in anything "production" yet.)

The good new - With respect to compiling the literally millions and millions of lines of embedded code, TCC works better (and faster) than I could've hoped for! Not only do we use TCC to compile the embedded code, but we also use it to compile our host-base tools (mostly command-line (console) apps.. not much in the way of Windows/GUI (but we de do SOME of that)) and our emulators (which are significant pieces of code). On the side, I'm interested in math packages and Smalltalk programming and I use TCC to compile those environments as well.

As an aside, one of the major reasons I took a serious look at TCC was because we try to do a lot in a minimal footprint and a lot of our runtime debugging is designed to run on a RUNNING target. And our debugger "likes" the traditional C language function call implementation wherein the instruction immediately after a call instruction is an add to the ESP (to "pop" the pushed arguments). And with newer versions of GCC, that's not always possible (even if your specify the "appropriate" GCC option).

The only bad news (actually, it's more of a nuisance) is that several of the anti-virus packages we use (on laptops and home-based PCs) (e.g. Windows Security Essentials and AVG) quarantine a handful of the TCC-generated console EXEs. I haven't had the time to see if it's a "pattern" of calling functions and DLLs that cause us trouble.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]