RicardasSim

test

Aug 10th, 2020 (edited)
1,453
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5.  
  6. #define TEST_A_MAX_SIZE 1000000
  7.  
  8. typedef struct thread_test_a
  9. {
  10.     uint32_t *variables;
  11.     uint32_t test_count;
  12. } s_test;
  13.  
  14. s_test *thread_test_1;
  15. s_test *thread_test_2;
  16. s_test *thread_test_3;
  17.  
  18.  
  19. int main()
  20. {
  21.  
  22.     thread_test_1 = malloc( sizeof *thread_test_1 );
  23.  
  24.     if ( !thread_test_1 )
  25.     {
  26.         printf("Error: cannot allocate memory (1).\n");
  27.         return 1;
  28.     }
  29.  
  30.     thread_test_2 = malloc( sizeof *thread_test_2 );
  31.  
  32.     if ( !thread_test_2 )
  33.     {
  34.         free(thread_test_1);
  35.         printf("Error: cannot allocate memory (2).\n");
  36.         return 1;
  37.     }
  38.  
  39.     thread_test_3 = malloc( sizeof *thread_test_3 );
  40.  
  41.     if ( !thread_test_3 )
  42.     {
  43.         free(thread_test_1);
  44.         free(thread_test_2);
  45.         printf("Error: cannot allocate memory (3).\n");
  46.         return 1;
  47.     }
  48.  
  49.     thread_test_1->variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) );
  50.  
  51.     if ( !thread_test_1->variables )
  52.     {
  53.         printf("Error: cannot allocate memory (4).\n");
  54.         free(thread_test_1);
  55.         free(thread_test_2);
  56.         free(thread_test_3);
  57.         return 1;
  58.     }
  59.  
  60.     thread_test_2->variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) );
  61.  
  62.     if ( !thread_test_2->variables )
  63.     {
  64.         printf("Error: cannot allocate memory (5).\n");
  65.         free(thread_test_1->variables);
  66.         free(thread_test_1);
  67.         free(thread_test_2);
  68.         free(thread_test_3);
  69.         return 1;
  70.     }
  71.  
  72.     thread_test_3->variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) );
  73.  
  74.     if ( !thread_test_3->variables )
  75.     {
  76.         printf("Error: cannot allocate memory (6).\n");
  77.         free(thread_test_1->variables);
  78.         free(thread_test_2->variables);
  79.         free(thread_test_1);
  80.         free(thread_test_2);
  81.         free(thread_test_3);
  82.         return 1;
  83.     }
  84.  
  85.     thread_test_1->test_count = TEST_A_MAX_SIZE;
  86.     thread_test_2->test_count = 10;
  87.     thread_test_3->test_count = 50;
  88.  
  89.     printf( "%d\n", thread_test_1->test_count );
  90.     printf( "%d\n", thread_test_2->test_count );
  91.     printf( "%d\n", thread_test_3->test_count );
  92.  
  93.     thread_test_1->variables[TEST_A_MAX_SIZE-1] = 1;
  94.     thread_test_2->variables[10] = 2;
  95.     thread_test_3->variables[50] = 3;
  96.  
  97.     printf( "%d\n", thread_test_1->variables[TEST_A_MAX_SIZE-1] );
  98.     printf( "%d\n", thread_test_2->variables[10] );
  99.     printf( "%d\n", thread_test_3->variables[50] );
  100.  
  101.     free(thread_test_1->variables);
  102.     free(thread_test_2->variables);
  103.     free(thread_test_3->variables);
  104.     free(thread_test_1);
  105.     free(thread_test_2);
  106.     free(thread_test_3);
  107.  
  108.     return 0;
  109. }
  110.  
Advertisement
Add Comment
Please, Sign In to add comment