C code
======
// returns a pointer to an array of long values in the string, "input"
// MY_DIGIT is a typedef such as, typedef unsigned long MY_DIGIT;
MY_DIGIT *Split(char *input) { ... }
...I build a DLL named, _MyApp.dll
SWIG interface
==============
%module MyApp
extern MY_DIGIT *Split(char *input, char *delimiters);
%include cpointer.i
%pointer_functions(MY_DIGIT, md_ptr);
Python
=============
from MyApp import *
msg = "5,7,1,0,4,6,9"
delims = ","
results = Split(msg, delims)
str(results) '_401ba700_p_MY_DIGIT' repr(results) '<Swig Object at _401ba700_p_MY_DIGIT>' print results
....when I print "results" python.exe crashes
....any idea why it crashes? Why can't I print it? FYI, if it matters,
I do the same steps in the main method of my C code and there is no
problem.
thanks.