เปิดตัว CodePorting.Translator Cs2Cpp เจเนอเรชันใหม่

เราขอประกาศการอัปเดตสถาปัตยกรรมครั้งสำคัญของ CodePorting.Translator Cs2Cpp ตัวแปลภาษารุ่นใหม่ได้รับการเขียนขึ้นใหม่ทั้งหมดเพื่อใช้ Roslyn แทนที่ไลบรารี NRefactory แบบเดิมที่ใช้ในเวอร์ชันก่อนหน้า การเปลี่ยนแปลงนี้ช่วยแก้ไขข้อจำกัดด้านสถาปัตยกรรมที่สำคัญของเวอร์ชันเก่าซึ่งรองรับได้เพียง C# 5 ด้วยการนำ Roslyn มาใช้ ตัวแปลภาษาใหม่จึงรองรับฟีเจอร์ภาษาสมัยใหม่ได้โดยกำเนิด — ปัจจุบันรองรับถึง C# 13 — และพร้อมที่จะรองรับ C# เวอร์ชันต่อๆ ไปเมื่อภาษายังคงพัฒนาอย่างต่อเนื่อง

หากคุณเคยพบข้อจำกัดในการพอร์ตโค้ดเบส C# สมัยใหม่ไปยัง C++ การเปิดตัวในครั้งนี้จะทลายกำแพงเหล่านั้นและเปิดโอกาสใหม่ๆ ให้กับโปรเจกต์ของคุณ

การรองรับภาษาที่ขยายกว้างขึ้น

การเปลี่ยนมาใช้การวิเคราะห์เชิงความหมายของ Roslyn ได้ปลดล็อกการรองรับฟีเจอร์ภาษาที่ทรงพลังจำนวนมากซึ่งก่อนหน้านี้ไม่รองรับ ตัวแปลภาษาใหม่สามารถจัดการกับแพทเทิร์นสมัยใหม่ที่ซับซ้อนได้อย่างราบรื่น ได้แก่:

  • เวิร์กโฟลว์แบบอะซิงโครนัสและอิเทอเรเตอร์: รองรับ async/await อย่างเต็มรูปแบบ (แปลงเป็นสเตตแมชชีนที่ห่อหุ้มใน Task templates) และโอเปอเรเตอร์ yield
  • Records และ Primary Constructors: แปลง reference และ struct records, คีย์เวิร์ด with และ primary constructors ได้อย่างสมบูรณ์
  • Pattern Matching ขั้นสูง: รองรับ switch expressions, property และ positional patterns รวมถึง list patterns ของ C# 11
  • โครงสร้างข้อมูลสมัยใหม่: แปลง Value Tuples, Span<T>, Memory<T> และ stackalloc
  • Syntactic Sugar: ไวยากรณ์คิวรี LINQ, expression-bodied members, string interpolation, null-propagation (?. และ ?[]) และการเริ่มต้น auto-property
  • ฟีเจอร์ล่าสุด: รองรับส่วนเสริมของภาษาล่าสุด เช่น file-scoped namespaces, function pointers และ collection expressions ของ C# 12

สำหรับรายละเอียดทางเทคนิคเกี่ยวกับการแมปโครงสร้างสมัยใหม่เหล่านี้ไปยัง C++ โปรดดูที่ เอกสารฟีเจอร์ใหม่

การผสานรวม

การอัปเกรดไปป์ไลน์การแปลภาษาของคุณถูกออกแบบมาให้เรียบง่าย ตัวแปลภาษารุ่นใหม่ทำหน้าที่เป็นตัวแทนแบบ drop-in สำหรับเวิร์กโฟลว์ที่มีอยู่ของคุณ โดยรับอาร์กิวเมนต์บรรทัดคำสั่งเดียวกัน อ่านไฟล์คอนฟิกูเรชันเดียวกัน และเคารพแอตทริบิวต์โค้ดเดียวกันที่คุณคุ้นเคย

เนื่องจากเอ็นจินใหม่ต้องการให้โปรเจกต์ C# มีความถูกต้องเชิงความหมาย คุณจึงสามารถใช้ประโยชน์จากพลังเต็มที่ของคอมไพเลอร์ Roslyn เพื่อให้มั่นใจว่าโค้ดของคุณจะถูกแปลด้วยความแม่นยำสูง ไม่ว่าคุณจะผสานรวมเข้ากับ CI/CD pipeline ที่มีอยู่หรือทดสอบในเครื่อง เส้นทางการย้ายระบบจะเป็นไปอย่างราบรื่นและมีเอกสารประกอบอย่างดี

หากโปรเจกต์ C# ของคุณทันสมัยเกินไปสำหรับตัวแปลภาษาของเราในอดีต ตอนนี้เป็นเวลาที่เหมาะสมที่สุดที่จะลองอีกครั้ง

สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการย้ายโปรเจกต์และสภาพแวดล้อมบิลด์ของคุณ โปรดดูที่ คู่มือการย้ายระบบ

เอกสารประกอบและการดาวน์โหลด

เราได้เผยแพร่พอร์ทัลเอกสารประกอบที่ครอบคลุมเพื่อช่วยให้คุณตั้งค่าตัวแปลภาษาใหม่ ทำความเข้าใจความสามารถ และผสานรวมเข้ากับสคริปต์บิลด์ของคุณ

ข่าวที่เกี่ยวข้อง

วิดีโอที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง