RicardasSim icon

test

RicardasSim | PRO | 08/10/20 12:07:14 PM UTC (Edited) | 0 ⭐ | 1421 👁️ | Never ⏰ | []
C |

2.69 KB

|

None

|

0 👍

/

0 👎

#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;
}
 

Comments