Re: How to get a string from C library into PHP via SWIG?

From: Date: Tue, 05 Jan 2010 23:24:16 +0000
Subject: Re: How to get a string from C library into PHP via SWIG?
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-300836@lists.php.net to get a copy of this message
This is going to the list per Nathan's suggestion. I confess I am doing this the hard way because I want to get a handle on how to pass across that boundary. My current angle of attack is to use the malloc.i functions in swig to handle those strings. I will keep you all posted. I know you care. :-) Eric I have a software library that parses strings into a C language structure. It is a utility for C programmers. It contains a utility function that takes the output structure and formats it as a string for display. The goal is to demonstrate the functionality by permitting users to enter strings into a text box and press a button. The string will be passed into my code, parsed, formatted as a different kind of string, and returned, where it will be displayed on the web site. The code is being shipped as a Windows DLL but for the web site I am working with Linux dynamic libraries (*.so). I am able to call functions within the binary from PHP now, but pointers within PHP are not working far less crossing the PHP/C Line Of Death without dying. please keep the responses on list for the benefit of others. well, if you have an .so, honestly i might spend the effort to wrap it up in a simple extension. but if you want to roll something out quickly, i would probly just invoke it over the shell via shell_exec() or similar. i cant imagine what sort of noticeable impact you would see in performance going over the shell in this case. honestly, i think the question is how much work do you want to do. also, do you intend to share this functionality w/ other php programers, that might be an argument for an extension. do you already have a C based program that loads up the library from the cli and uses STDIN / STDOUT, if so i think going over the shell is a no-brainer.. On Tue, Jan 5, 2010 at 2:56 PM, Nathan Nobbe <quickshiftin@gmail.com> wrote: > On Tue, Jan 5, 2010 at 3:42 PM, Eric Fowler <eric.fowler@gmail.com> wrote: >> >> Hm, that could work, but it does produce overhead. > > you should consider your overall communication paradigm.  im very loosely > familiar w/ swig, basically ive heard of it ... > anyways, you have a few options for communication, > . shell (call php from C or the other way around) > . php extension, this may not make sense depending on what your C is doing > and is by far the most complex > . network protocol, socket, http or other.. > can you tell us a little bit more about what youre trying to accomplish and > specifically how C and php are communicating in general in your application? > -nathan

« previous php.general (#300836) next »