Hi,

On Wed, 2009-04-01 at 16:16 +0100, Paul Biggar wrote:
> I think that to handle more complex cases we need the kind of
> information which makes it straightforward to easily generate code to
> make a seamless interface between C and the engine API. The only case
> I had thought of was to somehow mangle structs/pointers into
> resources. But I suppose we need lengths for strings. I expect (many?)
> more of these cases will come up.

Well, as soon as any pointer exists you need manual work for a special
case. And even when only using integers it's not fully fast-forward:
There are cases where not the full integer range is allowed but just a
few flags  or some specific range. C programmers will know that, passing
that 1:1 to PHP userland can be bad.

For simple cases http://pecl.php.net/package/ffi might be enough, for
average cases there are just a few APIs (PHP_FUNCTION,
zend_parse_parameters, RETURN_*) one has to know for a start for an
extensions, Hartmut's CodeGen_PECL abstracts that using some XML and
then there's PEAR's Inline_C as some "weird" approach.

I'd be happy to have some simple toolkit for this, but I guess it's
really hard to make some easy tool which really works in average cases
not just in proof-of-concept cases. This might also be interesting for
other projects like ProjectZero (PHP using a JVM) or pipp (using Parrot)

johannes



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to