WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Strukturen mit Arrays an eine c Funktion übergeben

 

hans34567
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 20.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2015, 14:27     Titel: Strukturen mit Arrays an eine c Funktion übergeben
  Antworten mit Zitat      
Hallo,
ich will eine Struktur mit mehreren Array felder an einen eingebundenen c Funktion übergeben.
Ich habe die Struktur wie folgt in eine Header definiert:
Code:

typedef struct mystruct
{ int n;
int *i;
double *x;
}mystruct


Nun will ich in Simulink im Matlab block eine Struktur vom typ "mystruct" anlegen und an eine c Funktion als referrenz übergeben.
Hier mein Matlab Block code:
Code:

function y = fcn(u)%#codegen
n=int32(1);
i=zeros(1,10,'int32');
x=zeros(1,10,'double');


s.n=n;
s.i=i;
s.x=x;
coder.cstructname(s,'mystruct','extern');
coder.ceval('cs_compress',coder.ref(s));
y = u;
 


Leider kann der coder die Struktur mit den Arrays nicht übersetzten, ich bekomme da eine lange Fehlermeldung:

"c2_Test2.c
c2_Test2.c(57) : error C2143: syntax error : missing ')' before '*'
c2_Test2.c(57) : error C2081: 'cs_size' : name in formal parameter list illegal
c2_Test2.c(57) : error C2143: syntax error : missing '{' before '*'
....
....
"
Wenn ich die Pointer als normale variablen deklarier und entsprechend in meinen Matlab code die array als skalar defenier funktioniert es.

Nun meine Frage, was mache ich falsch, oder ist es einfach nicht möglich?
Danke schon mal für die Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.