#include #include #include #include #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.variables = malloc( TEST_A_MAX_SIZE * sizeof (uint32_t) ); if ( !thread_test_1.variables ) { printf("Error: cannot allocate memory (4).\n"); 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); 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); 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); return 0; }