problem including perl header files

S

shruti

hiii all

I'm tryin to call a perl script from a C program in following 2 ways-

1.By callin system function.
But there's some problem because the system function is not able to
executeany command...it just returns -1.

2.By using the code given in perldoc perlembed(perl documentation for
embedding perl in C)
the code looks like this-


#include <EXTERN.h> /* from the Perl distribution
*/
#include <perl.h> /* from the Perl distribution
*/

static PerlInterpreter *my_perl; /*** The Perl interpreter
***/

int main(int argc, char **argv, char **env)
{
my_perl = perl_alloc();
perl_construct(my_perl);
perl_parse(my_perl, NULL, argc, argv, (char **)NULL);
perl_run(my_perl);
perl_destruct(my_perl);
perl_free(my_perl);
}


now wat happens is that it gives error tht it does not recognise perl.h
and extern.h
copying them to Turbo C's include folder doesn help cos then it
compiles these files also n gives 26 errors!!it is also unable to
locate the header files tht these files use.
Is there any way for me to specify in Turbo C,two paths to look for wen
searching for header files.
in options>directories>include directories i gave a comma n gave path
for perl header files..but it doesn work!!!

Pleeeease help...m at the end of my ideas now!
Thanx in advance.
shruti
 
F

Flash Gordon

shruti said:
hiii all

I'm tryin to call a perl script from a C program in following 2 ways-

1.By callin system function.
But there's some problem because the system function is not able to
executeany command...it just returns -1.

Using the system command is the only method provided by the C standard.
However, you've not provided the code for that so we can't comment on
what you might have done wrong.
2.By using the code given in perldoc perlembed(perl documentation for
embedding perl in C)
the code looks like this-


#include <EXTERN.h> /* from the Perl distribution
*/
#include <perl.h> /* from the Perl distribution
*/

<snip>

This is nothing to do with standard C, if you want to know how to embed
Perl ask in a Perl group or mailing list.
now wat happens is that it gives error tht it does not recognise perl.h
and extern.h

That is almost always the wrong thing to do.
copying them to Turbo C's include folder doesn help cos then it
compiles these files also n gives 26 errors!!it is also unable to
locate the header files tht these files use.
Is there any way for me to specify in Turbo C,two paths to look for wen
searching for header files.
in options>directories>include directories i gave a comma n gave path
for perl header files..but it doesn work!!!

I'm sure there is a method, although whether you can call a modern build
of Perl with such an ancient compiler is another matter. For how to use
Turbo C either read the documentation or ask in a Boreland group.
 
K

Keith Thompson

shruti said:
I'm tryin to call a perl script from a C program in following 2 ways-

1.By callin system function.
But there's some problem because the system function is not able to
executeany command...it just returns -1.

Then you're doing it wrong. Without seeing what your call to system()
looks like, we can't possibly guess *what* you're doing wrong.
2.By using the code given in perldoc perlembed(perl documentation for
embedding perl in C)
the code looks like this- [snip]
now wat happens is that it gives error tht it does not recognise perl.h
and extern.h
copying them to Turbo C's include folder doesn help cos then it
compiles these files also n gives 26 errors!!it is also unable to
locate the header files tht these files use.

Copying header files is almost certainly not what you want to do.

You need to tell your compiler where to find the existing header
files. Once you figure out how to do that, you'll also need to tell
your compiler and/or linker where to find the libraries.
Is there any way for me to specify in Turbo C,two paths to look for wen
searching for header files.
in options>directories>include directories i gave a comma n gave path
for perl header files..but it doesn work!!!

There probably is a way to do that. I have no idea what it is. It's
a question about Turbo C, not about the C programming language. I
presume Turbo C includes documentation. If not, find a forum
(newsgroup, web site, mailing list, whatever) that discusses Turbo C.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top