compileIt for revolution?
Alex Tweedly
alex at tweedly.net
Sat Jul 2 06:52:13 EDT 2005
Richard Gaskin wrote:
> <comments on the externals SDK... snipped>
> Has it been logged as a request to BZ? It would be great to see those
> addressed.
>
No, it hasn't - but only because Mark has seen it, and responded to me,
and I've sent him more suggestions directly, ... and so I'm comfortable
they will be incorporated into the next version of the SDK; otherwise I
would create a BZ to put them in.
> This seems like an opportunity here for someone who's worked
> successfully with the SDK to consider teaming up with others to make a
> nifty Rev-based IDE specifically for making Rev externals. By taking
> care of all the tedious stuff, it could make crafting externals a lot
> more fun -- and you wouldn't have to leave you C environment for
> testing, since it'd all be under one roof. :)
>
> Could this be done by generating make files and running GCC through
> shell(), or am I dreaming?
>
Yes, I think it could be - though I haven't tried it yet.
I'm not so sure about building a useful Rev-based IDE for externals.
Such an IDE would need to consist of the following parts:
- code editor. Doable - though building a code-aware editor with
formatting and color (very useful for C) is far from trivial. Might be
possible to hive this off to an external editor (emacs, BBedit, etc.)
- create/manage additional files (makefiles, .def files if they're
needed, etc.) Definitely doable and useful.
- debugger. Probably impossible.
The "create and manage" files part would be useful in itself (though
possibly need to handles a number of variants for different compilers);
and that might be very helpful for people starting to look at externals.
But when writing C externals, I found it pretty easy to follow bad
pointers, or all the usual C problems - each resulting in access
violations and termination of the Rev IDE. So I believe a useful IDE for
C (nowadays) *must* provide a protected environment for running the
code, and really should provide integrated debugging.
The only way I've found to avoid repeated crashes was to build a small
"support system" to emulate a small part of the Rev interface, and the I
can build my external and some test programs in C, test and debug the
"test prog+external" bundle within a real C environment (Bloodshed in my
case). Only once I've got that working and at least mostly debugged do I
try the external from Rev.
This may be purely a result of my poor C programming (although I wrote C
full-time for a few years, that was nearly 20 years ago, so I really
have forgotten more about writing C than I still remember). But I
suspect that most people who aren't experienced, current C programmers
would find it much the same.
I'd love to hear about the development and testing techniques used by
experienced external developers.
--
Alex Tweedly http://www.tweedly.net
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.8/35 - Release Date: 30/06/2005
More information about the use-livecode
mailing list