From: "Jerry" <lanceboyle@qwest.net>
Subject: How to pass two dimensional arrays to C
Date: 28 Jul 2006 04:06:59 -0700
Date: 2006-07-28T04:06:59-07:00 [thread overview]
Message-ID: <1154084819.088112.325730@p79g2000cwp.googlegroups.com> (raw)
In my project to write a binding for a popular plotter written in C,
I've hit a brick wall and the problem might be associated with passing
two-dimensionaal arrays to C. I'm using GNAT on OS X and Xcode. I can
pass one-dimensional arrays OK. Here are the pertinent parts from an
example where the problem happens:
The C
typedef double PLFLT;
typedef int PLINT;
void c_plmesh(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT
opt);
The Ada
type Long_Float_Array_1D is array (Integer range <>) of Long_Float;
type Long_Float_Array_2D is array (Integer range <>, integer range <>)
of Long_Float;
subtype PLINT is Integer;
subtype PL_Float_Array is Long_Float_Array_1D;
subtype PL_Float_Array_2D is Long_Float_Array_2D;
procedure plmesh(
x : PL_Float_Array;
y : PL_Float_Array;
z : PL_Float_Array_2D;
nx : PLINT;
ny : PLINT;
opt : PLINT);
pragma Import(C, plmesh, "c_plmesh");
And the Ugly
AdaPLplotProject has exited due to signal 11 (SIGSEGV).
This appears during the call to plmesh. Any ideas?
Thanks,
Jerry
next reply other threads:[~2006-07-28 11:06 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-28 11:06 Jerry [this message]
2006-07-28 12:27 ` How to pass two dimensional arrays to C Jeffrey Creem
2006-07-28 12:27 ` Dmitry A. Kazakov
2006-07-28 16:53 ` Adam Beneschan
2006-07-28 20:15 ` Jeffrey R. Carter
2006-07-28 20:46 ` Jerry
2006-07-28 21:14 ` Jeffrey Creem
2006-07-28 22:54 ` Björn Persson
2006-07-29 1:14 ` Jeffrey R. Carter
2006-07-29 7:11 ` Simon Wright
2006-07-29 22:12 ` Jeffrey R. Carter
2006-07-30 11:18 ` Simon Wright
2006-07-30 11:20 ` Simon Wright
2006-07-29 4:19 ` REH
2006-07-29 4:28 ` REH
2006-07-29 4:30 ` REH
2006-08-14 6:59 ` Dave Thompson
2006-07-29 5:47 ` REH
2006-08-02 8:20 ` Jerry
2006-08-02 9:03 ` Dmitry A. Kazakov
2006-08-02 10:22 ` Jerry
2006-08-02 18:25 ` Björn Persson
2006-08-05 1:03 ` Jerry
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox