codegen: can I use a Matlab global structure in a mex function created with codegen?
Show older comments
I have a global structure S defined in my Matlab function and I use it in another function I want to compile with coder. Is it possible? How can I tell the coder that S is a Matlab structure? Example:
File function_1.m:
function_1
global S
S = struct ('a', 0);
File function_2.m:
function_2 %#codegen
global S
x = S.a + 2;
If I compile function_2.m the coder notify an error; how can I do?
Accepted Answer
More Answers (1)
Kaustubha Govind
on 19 Nov 2012
I wonder if you should do something like:
function_2 %#codegen
global S
if isempty(S)
S = struct ('a', 0);
end
x = S.a + 2;
2 Comments
Giuela
on 19 Nov 2012
Kaustubha Govind
on 19 Nov 2012
Is 'S' defined in the MATLAB workspace at this point? It looks like your original definition should have worked according to Generate C Code from Code Containing Global Data
Categories
Find more on Algorithm Design Basics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!