C++ บน Maguyva: กราฟคลาสและการเรียกสำหรับโค้ดเบสขนาดใหญ่
C++ ซ่อนเป้าหมายจริงของการเรียกไว้หลัง namespace, โอเวอร์โหลด และการดิสแพตช์แบบเสมือน กราฟช่วยให้เอเจนต์หาเจอ
นามสกุลไฟล์
.c, .c++, .cc, .cpp, +อีก 6
Maguyva รองรับ C ด้วย AST สัญลักษณ์ และกราฟ เพื่อให้เอเจนต์ AI ติดตามฟังก์ชัน struct การ include และผู้เรียกในโค้ดระบบ เฟิร์มแวร์ และไลบรารี
C ไม่มีคลาสหรือโมดูลสำหรับจัดระเบียบโค้ด โครงสร้างอยู่ในการเรียกฟังก์ชัน เฮดเดอร์ และ struct และชื่อเดียวกันอาจปรากฏในคอมเมนต์ มาโคร และสตริงลิเทอรัล มาโคร export และแอนโนเทชันห่อการประกาศไว้ ซึ่งทำให้เครื่องมือที่แยกวิเคราะห์ได้แค่ C ล้วนสะดุด สำหรับเอเจนต์ ขั้นแรกที่ปลอดภัยคือกราฟการเรียก
Maguyva สร้างกราฟนี้ เพื่อให้เอเจนต์เห็นว่าฟังก์ชันไปถึงที่ใด และอะไรไปถึงฟังก์ชันนั้น ก่อนเสนอการเปลี่ยนแปลง
Maguyva ครอบคลุม .c และ .h นิยามฟังก์ชันถูกดึงออกมาเป็นสัญลักษณ์ และเลือก struct และ union เป็นนิยามชนิดข้อมูลในการค้นหาเชิงโครงสร้างได้ ไดเรกทีฟ #include กลายเป็นความสัมพันธ์การนำเข้า
มาโคร export และการมองเห็น (รูปแบบอย่าง FOO_API, DLLEXPORT หรือ LIBEXPORT) และมาโครแอนโนเทชันด้านความปลอดภัยของเธรด (เช่น GUARDED_BY และ REQUIRES) ถูกปิดบังก่อนแยกวิเคราะห์ การประกาศที่ถูกห่อไว้จึงแยกวิเคราะห์เป็นการประกาศปกติ ตัวมาโครแบบฟังก์ชันจะถูกแยกวิเคราะห์ ส่วนตัวมาโครแบบออบเจกต์จะไม่ถูกแยกวิเคราะห์
กราฟบันทึกการเรียก การ include การสร้างอินสแตนซ์ผ่านคอมพาวด์ลิเทอรัล การอ้างอิงชนิดข้อมูล การอ่านและการเขียน และโฟลว์การควบคุม การเรียกไลบรารีมาตรฐานของ C ราว 124 รายการ (printf, malloc, free, memcpy, strlen และอื่น ๆ ทำนองเดียวกัน) ถูกกรองออกจากความสัมพันธ์ เพื่อให้โค้ดของโปรเจกต์โดดเด่นขึ้นมา
uart_write ทั้งโดยตรงและผ่านฟังก์ชันอื่น” (dependency_search ทิศทางขาเข้า)config.h และใช้ struct ใดจากไฟล์นั้น” (dependency_search แล้วตามด้วย find_symbol)get_task_context).h อยู่ในรายการนามสกุลไฟล์ของ C, C++ และ Objective-C เฮดเดอร์ในโครงสร้างไฟล์ที่มีหลายภาษาจึงถูกแบ่งกันระหว่างโปรไฟล์เหล่านี้text_pattern_search เมื่อต้องการทุก malloc หรือ memcpyเชื่อมต่อรีโพซิทอรีด้วยคู่มือเริ่มต้นใช้งาน แล้วดูตารางการรองรับได้ที่หน้าความเข้ากันได้ สำหรับโค้ด C++ ในโครงสร้างเดียวกัน ให้อ่านคู่มือภาษา C++
เหมาะที่สุดสำหรับ
เวิร์กโฟลว์ของเอเจนต์
รายละเอียดเอนจิน
จุดเริ่มต้น MCP ที่มีประโยชน์
ใช้กับชื่อฟังก์ชันหรือ struct เมื่อต้องการนิยามและทุกการอ้างอิง
ใช้การท่องกราฟทิศทางขาเข้าบนฟังก์ชันที่ใช้ร่วมกัน ก่อนเปลี่ยนซิกเนเจอร์หรือการจัดการข้อผิดพลาด
ใช้กับพรอมต์อย่าง “อธิบายว่าแพ็กเก็ตเดินทางจากอินเทอร์รัปต์การรับข้อมูลไปยังตัวแยกวิเคราะห์โปรโตคอลอย่างไร”
คู่มือที่เกี่ยวข้อง
C++ ซ่อนเป้าหมายจริงของการเรียกไว้หลัง namespace, โอเวอร์โหลด และการดิสแพตช์แบบเสมือน กราฟช่วยให้เอเจนต์หาเจอ
นามสกุลไฟล์
.c, .c++, .cc, .cpp, +อีก 6
เกี่ยวข้องเมื่อคุณต้องการความช่วยเหลือจาก AI ใน Rust โดยไม่สูญเสียการ์ดเรลเชิงโครงสร้างที่ทำให้ Rust คุ้มค่าที่จะใช้
นามสกุลไฟล์
.rs