ฉันมีปัญหากับรหัสต่อไปนี้ newrows เป็นพารามิเตอร์ที่กำหนดให้กับฟังก์ชันที่ฉันกำลังทำงานอยู่โดยตรง องค์ประกอบต่างๆ กำลังถูกคำนวณเร็วขึ้นเล็กน้อยโดยใช้พารามิเตอร์อื่น อย่างไรก็ตาม สำหรับการรวมค่าสำหรับแถวใหม่และองค์ประกอบต่างๆ เข้าด้วยกัน ฉันจะได้รับคอร์ดัมพ์ ในขณะที่ชุดค่าผสมอื่นๆ ทำงานได้ดี โดยปกติ เมื่อคอร์ดัมพ์เกิดขึ้น จะมีการวนซ้ำ 20,000 ถึง 25,000 ครั้ง อย่างไรก็ตาม เมื่อทุกอย่างทำงานได้ดี มีการวนซ้ำถึง 40,000 ครั้ง
int32_t newimage[newrows][elements][3];
int32_t pixelcounter[newrows][elements];
//int32_t norm, angle, rohmax;
//double r, alpha, beta, m, mu;
//initialize arrays
for(i=0; i<newrows; i++){
for(j=0; j<elements; j++){
pixelcounter[i][j] = 0;
newimage[i][j][0] = 0;
newimage[i][j][1] = 0;
newimage[i][j][2] = 0;
}
}
ชุดค่าผสมที่ทำงานได้ดี: 200 : 188
การรวมกันที่นำไปสู่การถ่ายโอนข้อมูลหลัก: 200 : 376
ฉันใช้ linux btw :-)