8
ทำไม strlen ของ glibc จึงจำเป็นต้องมีความซับซ้อนในการทำงานอย่างรวดเร็ว
ฉันดูstrlenรหัสที่นี่และสงสัยว่าการเพิ่มประสิทธิภาพที่ใช้ในรหัสนั้นจำเป็นจริง ๆ หรือไม่ ตัวอย่างเช่นทำไมบางอย่างจะไม่เหมือนงานต่อไปนี้ดีหรือดีกว่า unsigned long strlen(char s[]) { unsigned long i; for (i = 0; s[i] != '\0'; i++) continue; return i; } รหัสเรียบง่ายกว่าและดีกว่าสำหรับการรวบรวมเพื่อเพิ่มประสิทธิภาพหรือไม่ โค้ดของstrlenหน้าหลังลิงค์มีลักษณะดังนี้: /* Copyright (C) 1991, 1993, 1997, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Torbjorn …