Waitrud Weber’s blog

things and reminders for memories

3d: WindowsAPI: Windows-make: Free memories, we can't and don't: Reuse them:

(20200218) Reuse memories if we don't make them free. https://github.com/WaitrudWeber/source_zip/blob/master/analyzer_20200215-001.zip https://github.com/WaitrudWeber/source_zip/blob/master/analyzer_20200216-001.zip

---
// Recreated: 20200218
//
//
//
//
vPoint* memorizevPoint( float a, float b, float c ) {

	if ( dummy_vPoint_index < dummy_vPoint_max ) {
		if ( dummy_vPoint[dummy_vPoint_index] != nullptr ) {
			dummy_vPoint_index++;
			if ( dummy_vPoint_index >= dummy_vPoint_max - 1 ) {
				dummy_vPoint_max = dummy_vPoint_max * 2;
				dummy_vPoint = (vPoint**) realloc ( dummy_vPoint, sizeof(vPoint*) * dummy_vPoint_max );
			}
			printf("aReuse: %d/%d\r\n", dummy_vPoint_index, dummy_vPoint_max);
			exit(-1);
			return dummy_vPoint[dummy_vPoint_index - 1];
		}
	}

	dummy_p = new vPoint ( a, b, c );
	put_memories( dummy_p ) ;
	return dummy_p;
}
---
void wButtonController::drawButtons ( HDC hdc ): Starts
AryButton 0 = 0
AryButton 1 = 0
AryButton 2 = 1
AryButton 3 = 0
AryButton 4 = 0
AryButton 5 = 0
AryButton 6 = 0
AryButton 7 = 0
AryButton 8 = 0
void wButtonController::drawButtons ( HDC hdc ): Ends
wmpaint_display_threeD_proc_002:
memorized_CurveLines=0
memorized_CurveLines=0
WM_MESSG 004: 15 *(p_evt->uMsg):2000657448 uMsg:15 p_evt->uMsg: 2685472 &uMsg: 2686020
WM_PAINT 005: 15 *(p_evt->uMsg):2000657448 uMsg: 15
WM_PAINT 006: 15 *(p_evt->uMsg):2000657448 uMsg: 15
WM_MESSG 000: hWnd 394130: uMsg 257: wParam 13: lParam -1071906815: canvas 4366736: btc 4366752: *(p_evt->uMsg) 257:
WM_MESSG 003: 257 *(p_evt->uMsg):257
wButtonController::Process: 257 / 15<-WM_PAINT wParam 13 lParam -1071906815 this->event->uMsg:2686208 *(this->event->uMs
g)=257
wButtonController::ProcessWmKeyup: Starts:wButtonController::initialize 2
display_threeD_screen_initialize_002 starts
this->eye= p( 500.000000, 500.000000, -500.000000)
lookat= p( 0.000000, 0.000000, 0.000000)
n_howfar= p( -0.577350, -0.577350, 0.577350)
howfar= p( -184.752075, -184.752075, 184.752075)
up= p( 0.000000, 1.000000, 0.000000)
u= p( 0.707107, -0.000000, 0.707107)
U= p( 452.548340, -0.000000, 452.548340)
V= p( -195.959167, 391.918335, 195.959167)
this->C= p( 186.953339, 119.288757, -639.501709)
starts curve_initialization()
STARTS CurveLines->FirstCreation()
ac: 1: p( 140.000000, 100.000000, 300.000000)
ac normal 1.0: 1: p( 0.404820, 0.289157, 0.867472)
ac scale absolute 0.0f: 1 p( 16.192818, 11.566299, 34.698898)
1 C1 p( 3.807182, 38.433701, 165.301102)
1 C2 p( 36.192818, 61.566299, 234.698898)
ac: 2: p( 20.000000, 100.000000, 400.000000)
ac normal 1.0: 2: p( 0.048450, 0.242251, 0.969003)
ac scale absolute 0.0f: 2 p( 1.938006, 9.690031, 38.760124)
aReuse: 35/64
---
// Recreated: 20200218
//
//
//
//
vPoint* memorizevPoint( float a, float b, float c ) {

	if ( dummy_vPoint_index < dummy_vPoint_max ) {
		if ( dummy_vPoint[dummy_vPoint_index] != nullptr ) {
			dummy_vPoint_index++;
			if ( dummy_vPoint_index >= dummy_vPoint_max - 1 ) {
				dummy_vPoint_max = dummy_vPoint_max * 2;
				dummy_vPoint = (vPoint**) realloc ( dummy_vPoint, sizeof(vPoint*) * dummy_vPoint_max );
			}
			printf("Reuse: %d/%d\r\n", dummy_vPoint_index, dummy_vPoint_max);
			exit(-1);
			return dummy_vPoint[dummy_vPoint_index - 1];
		}
	}

	dummy_p = new vPoint ( a, b, c );
	put_memories( dummy_p ) ;
	return dummy_p;
}
---
void wButtonController::drawButtons ( HDC hdc ): Starts
AryButton 0 = 0
AryButton 1 = 0
AryButton 2 = 1
AryButton 3 = 0
AryButton 4 = 0
AryButton 5 = 0
AryButton 6 = 0
AryButton 7 = 0
AryButton 8 = 0
void wButtonController::drawButtons ( HDC hdc ): Ends
wmpaint_display_threeD_proc_002:
memorized_CurveLines=0
memorized_CurveLines=0
WM_MESSG 004: 15 *(p_evt->uMsg):2000657448 uMsg:15 p_evt->uMsg: 2685472 &uMsg: 2686020
WM_PAINT 005: 15 *(p_evt->uMsg):2000657448 uMsg: 15
WM_PAINT 006: 15 *(p_evt->uMsg):2000657448 uMsg: 15
WM_MESSG 000: hWnd 590876: uMsg 257: wParam 13: lParam -1071906815: canvas 4366736: btc 4366752: *(p_evt->uMsg) 257:
WM_MESSG 003: 257 *(p_evt->uMsg):257
wButtonController::Process: 257 / 15<-WM_PAINT wParam 13 lParam -1071906815 this->event->uMsg:2686208 *(this->event->uMs
g)=257
wButtonController::ProcessWmKeyup: Starts:wButtonController::initialize 2
display_threeD_screen_initialize_002 starts
this->eye= p( 500.000000, 500.000000, -500.000000)
lookat= p( 0.000000, 0.000000, 0.000000)
n_howfar= p( -0.577350, -0.577350, 0.577350)
howfar= p( -184.752075, -184.752075, 184.752075)
up= p( 0.000000, 1.000000, 0.000000)
u= p( 0.707107, -0.000000, 0.707107)
U= p( 452.548340, -0.000000, 452.548340)
V= p( -195.959167, 391.918335, 195.959167)
this->C= p( 186.953339, 119.288757, -639.501709)
Reuse: 7/16
---

--- memorization: we don't free, however, there was possibilities of that if we free them anywhere. ---

(20200224)
Memorization problem: We put print: obviously, we could understand.
---
Put print:
wButtonController::Process: 257 / 15<-WM_PAINT wParam 13 lParam -1071906815 this->event->uMsg:2686208 *(this->event->uMs
g)=257
wButtonController::ProcessWmKeyup: Starts:wButtonController::initialize 2
display_threeD_screen_initialize_002 starts
this->eye= p( 500.000000, 500.000000, -500.000000)
lookat= p( 0.000000, 0.000000, 0.000000)
n_howfar= p( -0.577350, -0.577350, 0.577350)
howfar= p( -184.752075, -184.752075, 184.752075)
vPoint vCalculation::add: starts. |0028FAB0| |0028FABC|
vPoint vCalculation::add: returns |037B3420|.
up= p( 0.000000, 1.000000, 0.000000)
u= p( 0.707107, -0.000000, 0.707107)
U= p( 452.548340, -0.000000, 452.548340)
V= p( -195.959167, 391.918335, 195.959167)
vPoint vCalculation::add: starts. |0028FAB0| |0028FABC|
aReuse: 3/8
vPoint vCalculation::add: returns |037B36D8|.
vPoint vCalculation::add: starts. |0028FAB0| |0028FABC|
vPoint vCalculation::add: returns |037B33C0|.
this->C= p( 186.953339, 119.288757, -639.501709)
vPoint vCalculation::add: starts. |0028FAB0| |0028FABC|
vPoint vCalculation::add: returns |037B3588|.
vPoint vCalculation::add: starts. |0028FAB0| |0028FABC|
vPoint vCalculation::add: returns |037B3558|.
calculation_up_UV: starts
aReuse: 7/16
---
//
//
//
//
//
vPoint* vCalculation::scale ( vPoint* p1, float w_scale, vPoint* result ) {
	printf("vPoint* vCalculation::scale |%p| |%f| |%p|\r\n",  p1, w_scale, result);

	scale ( p1->x, p1->y, p1->z, w_scale, &(result->x), &(result->y), &(result->z) );

	put_memories ( result );

	printf("vPoint* vCalculation::scale |%p|", result);
	return result;
}
---
//
//
//
//
//
void vCalculation::add ( vPoint p1, vPoint p2, vPoint* p3 ) {
	printf("vPoint vCalculation::add: starts. |%p| |%p| |%p|\r\n", &p1, &p2, p3);

	add( p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, &(p3->x), &(p3->y), &(p3->z) );

	printf("vPoint vCalculation::add: sets |%p|.\r\n", p3);
}
---
//
//
//
//
//
vPoint vCalculation::add ( vPoint p1, vPoint p2) {
	printf("vPoint vCalculation::add: starts. |%p| |%p|\r\n", &p1, &p2);

	vPoint* result = memorizevPoint( 0.0f, 0.0f, 0.0f);

	add( p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, &(result->x), &(result->y), &(result->z) );

	printf("vPoint vCalculation::add: returns |%p|.\r\n", result);
	return *result;
}
---