On 17/12/12 03:12, Marefe Serentas wrote:
I want to create a python script that will store the value of the
structure /MainStruct/ from the c file.
You will need to be a lot more specific about your requirements.
A structure is a data definition, it does not have a value.
It is like saying you want to store the value of char.
Secondly what do you mean by "from the C file"? Do you
mean you want extract the value from the C source file?
Or do you mean the data is stored elsewhere and you want
to use the definition in the C file to interpret the data?
In which case where/how is the data stored?
Suppose my c file looks like this:
----------------------------------------------------------
snip
typedef struct MainStruct
{
}Main;
void generate()
{
MainStruct myMain = {0};
Is this valid C?
I'd have expected either
struct MainStruct myMain
or
Main myMain
But my C is a bit rusty...
But if I'm right please post runnable code otherwise we are all guessing.
myMain.var1.a = 1
myMain.var1.b = 'a'
myMain.var2 = 3
myMain.var3[0] = -3
myMain.var3[1] = 6
myMain.var3[2] = 18
}
My python script accepts a c file as input.
How can I get the values of the structure?
I assume you really mean the values of the myMain variable?
But taking the C file as input makes no sense since C files are
normally compiled and the resulting binary file executed.
So taking the C file as input would imply you want to
parse the C source, which you can do more easily by just
reading it!
Can I call the function generate() in python script, but it doesn't have
a return statement, how can I get the values by calling the function?
You can't call generate() because its not compiled into executable form.
All you have is a text file full of C source code. If you have access to
the executable there are ways of calling the function
but since it always stores the same values there seems little point.
Help me, I'm really new in python.
Are you also new in C?
Why are you doing this, there is presumably a bigger problem behind this
because as it stands it makes no sense.
All I could think is just parse the c file. But it seems that it's not a
good idea.
The best parser in this case is your brain.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor