Waitrud Weber’s blog

things and reminders for memories

3d: make-windows: memorization error happened in the part of global allocation itself.

1

display_threeD.h

display_threeD.cpp

static vLine** lines = nullptr; // axes in the 3-D.static

   
2

display_threeD.h

display_threeD.cpp

static vLine** lines_2D = nullptr; // axes on the screen.

   
3

Compilation Error: 20210228

https://github.com/WaitrudWeber/source_zip/blob/master/display-20210228-001.zip

   
4

We changed static value name in the display_threeD.cpp like the successful compilation but failed to do it(20210228).

   
We undefined int the file of display_threeD.cpp so that we could avoid to redefine the static value like the only of line-1.    
6

Qualified: 20210228

https://github.com/WaitrudWeber/source_zip/blob/master/display-20210228.zip

   
.\v3dCalculation.cpp  Tue Feb 23 15:11:05 2021

189 ://
190 ://
191 ://
192 ://
193 ://
194 :int v3dCalculation::calculation_thread_012() {
195 :	printf("v3dCalculation:: calculation_thread_012 () starts.\r\n");
196 :
197 :
198 :	// ID: 001001012
199 :	if ( lines == nullptr ) {
200 :		lines = (vLine**) malloc ( sizeof ( vLine* ) * 3 );
201 :	}
202 :
203 :	lines[0] = (vLine*) new vLine ( memorizevPoint( 0.0f, 0.0f, 0.0f ), memorizevPoint( 500.0f, 0.0f, 0.0f ) );
204 :	lines[1] = (vLine*) new vLine ( memorizevPoint( 0.0f, 0.0f, 0.0f ), memorizevPoint( 0.0f, 500.0f, 0.0f ) );
205 :	lines[2] = (vLine*) new vLine ( memorizevPoint( 0.0f, 0.0f, 0.0f ), memorizevPoint( 0.0f, 0.0f, 500.0f ) );
206 :
207 :	for ( int i = 0; i<3; i++ ) {
208 :		lines_2D[i] = (vLine*) to_screen_line ( lines[i] ) ;
209 :	}
210 :	// ID: 001001012
211 :
212 :	int a = print_screen ();
213 :
214 :	printf("v3dCalculation:: calculation_thread_012 () ends.\r\n");
215 :	return 1;
216 :}
217 :



Memorization Error:

https://github.com/WaitrudWeber/source_zip/blob/master/display-20210223-001.zip

 

static allocaton doesn't recognise the below compilation:

https://github.com/WaitrudWeber/source_zip/blob/master/display-20210224-001.zip

 

 

 We still rememeber static inclusion is able.

Now, we can not that incluston.

Even vLine is class, this pointer is type of type. 

display_threeD.h

extern static vLine** lines; // axes in the 3-D.

extern static vLine** lines; // axes in the 3-D.extern static vLine** lines_2D;  // axes on the screen. 

2/24 

 display_threeD.cpp

static vLine** lines = nullptr; // axes in the 3-D.static vLine** lines = nullptr; // axes in the 3-D.

static vLine** lines_2D = nullptr;  // axes on the screen.

 2/24
vLine** is pointer of pointer.    
     

 main.h

main.cpp

extern int** controls;

 v 2/24 
 https://github.com/WaitrudWeber/source_zip/blob/master/static_declare-001.zip    

 

 

main.h

extern int** controls;

main.cpp

 static int** controls;

*1

exterrn means code block of local memoriese to other code blocks.

so, in static memeber we might not extern but  it is also in the code block local if we do not include the static.

 

*2 in local code block.

main.h ( not included)

main.cpp

 static int** controls;

 

 

 

   
 Abuut static inclusion:

https://waitrudweber.hatenablog.com/entry/2021/02/24/235442

   

 

*

"v" is qualified.

We'd rather love to use the letter "o".