cancel
Showing results for 
Search instead for 
Did you mean: 

What is this C syntax?

xiewenliang
Associate II

The following is the code generated by X-CUBE-AI of STM32CubeIDE ,but I can't understand it.

 

/**  Array declarations section  **********************************************/
/* Array#0 */
AI_ARRAY_OBJ_DECLARE(
  input_1_output_array, AI_ARRAY_FORMAT_FLOAT|AI_FMT_FLAG_IS_IO,
  NULL, NULL, 4096, AI_STATIC)

/**  Tensor declarations section  *********************************************/
/* Tensor #0 */
AI_TENSOR_OBJ_DECLARE(
  input_1_output, AI_STATIC,
  0, 0x0,
  AI_SHAPE_INIT(4, 1, 1, 64, 64), AI_STRIDE_INIT(4, 4, 4, 4, 256),
  1, &input_1_output_array, NULL)

 

 

 

 

DER 

3 REPLIES 3

Look up the definition of the Macro or Function. Use a static analysis tool or find-in-files.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
TDK
Guru

Right-click -> Open Declaration to see the macro definition of AI_ARRAY_OBJ_DECLARE. Or hit F3 when your cursor is on it.

If you feel a post has answered your question, please click "Accept as Solution".
Andrew Neil
Chief III

@xiewenliang wrote:

 I can't understand it.

 

 

 

DER 


What, exactly, don't you understand?

The syntax is simply using  Macros (#defines) with parameters.

See the section on the Preprocessor in any C reference.

Your IDE should be able to take you to the definitions of the Macros - then you can work out what it expands to.