Code Comments
Programming Forum and web based access to our favorite programming groups.Hallo, I was able to integrate embedded perl into my c program. So I am able to call perl scripts from within my program. Now I want to call c routines from within the perl code. How can I do so ? I have to add an extra function to perl rds
Post Follow-up to this messageGuenther Sohler wrote: > Hallo, I was able to integrate embedded perl into my c program. > So I am able to call perl scripts from within my program. > Now I want to call c routines from within the perl code. > How can I do so ? I have to add an extra function to perl Read the documentation for xs. man perlxs Mark
Post Follow-up to this messageIn article <pan.2005.04.22.20.57.26.596993@newlogic.com>, Guenther Sohler <guenther.sohler@newlogic.com> wrote: > Hallo, I was able to integrate embedded perl into my c program. > So I am able to call perl scripts from within my program. > Now I want to call c routines from within the perl code. > How can I do so ? I have to add an extra function to perl Read 'perldoc perlxs' ----== Posted via mcse.ms - Unlimited-Uncensored-Secure Usenet News==- --- http://www.mcse.ms The #1 Newsgroup Service in the World! 120,000+ New sgroups ----= East and West-Coast Server Farms - Total Privacy via Encryption =----
Post Follow-up to this messageMark Clements wrote: > Guenther Sohler wrote: > > > Read the documentation for xs. > > man perlxs Also, "perldoc perlxstut" for an XS tutorial. And, "perldoc perl" has a section that lists a number of relevant docs, titled "Internals and C Language Interface". sherm-- -- Cocoa programming in Perl: http://camelbones.sourceforge.net Hire me! My resume: http://www.dot-app.org
Post Follow-up to this message"Guenther Sohler" <guenther.sohler@newlogic.com> wrote in message news:pan.2005.04.22.20.57.26.596993@newlogic.com... > Hallo, I was able to integrate embedded perl into my c program. > So I am able to call perl scripts from within my program. > Now I want to call c routines from within the perl code. > How can I do so ? I have to add an extra function to perl > As an alternative to the xs approach, take a look at the Inline::C module. See 'perldoc Inline::C-Cookbook' and 'perldoc Inline::C'. Cheers, Rob
Post Follow-up to this messageHallo Rob, ( and all the Others). Defintely I will have a look at the Inline::C Routine. At the wend I had a look at the XS Approch(without beeing able to read the newsgroup before. Unfortunately the XS Approach did not really fit into my concept. Using XS sounded like creating an extra, external Module for perl. My Intent is following: * I have a C program with an embedded perl interpreter * I want to use the perl interpreter to have a scripting language for my program * But I want to have special program-related perl commands that act on my programs database. If I did not want this I could use a normal perl interpreter from the beginning * Therefore I somehow want to register C- callback functions under a dedicated perl function name. I have written a c callback function, which draws a rectangle. It is called draw_rectangle. Then I instanciate a perl interpreter in my C program. Then I want instruct !!!! "C" !!!! to register the callback function as a new perl_command "draw_rectangle". Finally I instruct the perl interpreter to execute a script from a file. I dont mind, if the c callback functio has to evaluate the perl stack, but It would be fine, if my function was registered in the main namespace(no :: in function name) and if there were no measures in the perl program to load the draw_rectangle from an external module). There are to reasons why I dont want my "draw_rectangle" from an external perl module * I dont want to keep my program as simple as possible - No extra files if possible * I fear, that the extern module is not able anymore to access the program database as it is seperated from the main program Who has the perfect solution for me ? On Sat, 23 Apr 2005 11:33:47 +1000, Sisyphus wrote: > > "Guenther Sohler" <guenther.sohler@newlogic.com> wrote in message > news:pan.2005.04.22.20.57.26.596993@newlogic.com... > > As an alternative to the xs approach, take a look at the Inline::C module. > See 'perldoc Inline::C-Cookbook' and 'perldoc Inline::C'. > > Cheers, > Rob
Post Follow-up to this message[A complimentary Cc of this posting was sent to Guenther Sohler <guenther.sohler@newlogic.com>], who wrote in article <pan.2005.04.25.05.09.30.716067@newlo gic.com>: > Unfortunately the XS Approach did not really fit into my concept. > Using XS sounded like creating an extra, external Module for perl. Not necessarily. First, debug it as an external module. Then, when things work, compile the C part into your executable. Eval the Perl part (if needed) from your start-perl shim before doing perl_run() (sp?). But usually no Perl part is required at all; see how UNIVERSAL::* methods are implemented in Perl proper. Hope this helps, Ilya
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.