Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdint.h>
- #include <stdbool.h>
- #define TEST_A_MAX_SIZE 1000000
- typedef struct thread_test_a
- {
- uint32_t *variables;
- uint32_t test_count;
- } s_test;
- s_test *thread_test_1;
- s_test *thread_test_2;
- s_test *thread_test_3;
- int main()
- {
- thread_test_1 = malloc( sizeof *thread_test_1 );
- if ( !thread_test_1 )
- {
- printf("Error: cannot allocate memory (1).\n");
- return 1;
- }
- thread_test_2 = malloc( sizeof *thread_test_2 );
- if ( !thread_test_2 )
- {
- free(thread_test_1);
- printf("Error: cannot allocate memory (2).\n");
- return 1;
- }
- thread_test_3 = malloc( sizeof *thread_test_3 );
- if ( !thread_test_3 )
- {
- free(thread_test_1);
- free(thread_test_2);
- printf("Error: cannot allocate memory (3).\n");
- return 1;
- }
- thread_test_1->variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) );
- if ( !thread_test_1->variables )
- {
- printf("Error: cannot allocate memory (4).\n");
- free(thread_test_1);
- free(thread_test_2);
- free(thread_test_3);
- return 1;
- }
- thread_test_2->variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) );
- if ( !thread_test_2->variables )
- {
- printf("Error: cannot allocate memory (5).\n");
- free(thread_test_1->variables);
- free(thread_test_1);
- free(thread_test_2);
- free(thread_test_3);
- return 1;
- }
- thread_test_3->variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) );
- if ( !thread_test_3->variables )
- {
- printf("Error: cannot allocate memory (6).\n");
- free(thread_test_1->variables);
- free(thread_test_2->variables);
- free(thread_test_1);
- free(thread_test_2);
- free(thread_test_3);
- return 1;
- }
- thread_test_1->test_count = TEST_A_MAX_SIZE;
- thread_test_2->test_count = 10;
- thread_test_3->test_count = 50;
- printf( "%d\n", thread_test_1->test_count );
- printf( "%d\n", thread_test_2->test_count );
- printf( "%d\n", thread_test_3->test_count );
- thread_test_1->variables[TEST_A_MAX_SIZE-1] = 1;
- thread_test_2->variables[10] = 2;
- thread_test_3->variables[50] = 3;
- printf( "%d\n", thread_test_1->variables[TEST_A_MAX_SIZE-1] );
- printf( "%d\n", thread_test_2->variables[10] );
- printf( "%d\n", thread_test_3->variables[50] );
- free(thread_test_1->variables);
- free(thread_test_2->variables);
- free(thread_test_3->variables);
- free(thread_test_1);
- free(thread_test_2);
- free(thread_test_3);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment