ต้องใช้ extern "C" ใน C++ เมื่อประกาศฟังก์ชันที่ถูกเขียนและคอมไพล์เป็นภาษา C
การใช้ extern "C" บอกคอมไพเลอร์ว่าเราต้องการใช้ข้อตกลงการตั้งชื่อและการเรียกฟังก์ชันแบบ C ทำให้คอมไพเลอร์เข้าสู่ "โหมด C" ภายในโค้ด C++ จำเป็นเพราะ C++ คอมไพเลอร์ทำ name mangling (เปลี่ยนชื่อในตารางสัญลักษณ์) แตกต่างจาก C คอมไพเลอร์ ทำให้ลิงก์ไม่ได้หากไม่ระบุ