No idea why mono_object_unbox () is failing on you. It might
be a side effect of a different issue.
Since PointF is a struct (a value type), arrays of this type
are looking like a C/C++ array: a contiguous block of memory
which can store n elements of sizeof(PointF).
You should declare an unmanaged version of PointF, something
like that:
/* double check the layout of PointF as I didn't. */
typedef struct {
float x, y;
} PointF;
Then manipulate array elements like this:
PointF *ptr = (PointF*) mono_array_addr_with_size (
arrayPtF, sizeof(PointF), /*index*/ 0);
ptr->x = 0;
ptr->y = 1;
Robert
On 10.03.2017 16:29, howard.rubin wrote:
Thanks, @Robert Jordan for the reply. I don't see how to do what you suggest:
"store unboxed PointF values into the array". I can't even get the unboxed
point because this line segfaults.
void* unboxedPoint = mono_object_unbox(ptF);
Thread 1 (Thread 0x7f667faf3780 (LWP 31655)):
#0 0x00007f667ed52fdb in waitpid () from /lib64/libpthread.so.0
#1 0x00007f667f441ad6 in mono_handle_native_sigsegv
(signal=signal@entry=11, ctx=ctx@entry=0x7f667fb01ac0,
info=info@entry=0x7f667fb01bf0) at mini-exceptions.c:2347
#2 0x00007f667f49d07e in mono_arch_handle_altstack_exception
(sigctx=sigctx@entry=0x7f667fb01ac0, siginfo=siginfo@entry=0x7f667fb01bf0,
fault_addr=<optimized out>, stack_ovf=stack_ovf@entry=0) at
exceptions-amd64.c:851
#3 0x00007f667f3af96c in mono_sigsegv_signal_handler (_dummy=11,
_info=0x7f667fb01bf0, context=0x7f667fb01ac0) at mini.c:6810
#4 <signal handler called>
#5 0x00007f667f5496a3 in mono_object_unbox (obj=0x7f667fa62f60) at
object.c:5318
#6 0x00000000004010a6 in main () at array.cpp:46
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
--
View this message in context:
http://mono.1490590.n4.nabble.com/Populate-array-of-PointF-tp4670214p4670220.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.dot.net/mailman/listinfo/mono-devel-list
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.dot.net/mailman/listinfo/mono-devel-list