# C語言題庫-045 在C++ 程序中調用被C 編譯器編譯後的函數, 爲什麼要加extern “C”? 【標準答案】C++ 語言支持函數重載,C 語言不支持函 數重載。函數被C++ 編譯後在庫中的名字與 C 語言的 不同。假設某個函數的原型爲:void foo(int x, int y); 該函數被C 編譯器編譯後在庫中的名字爲_foo ,而 C++ 編譯器則會產生像_foo_int_int之類的名字。 C++ 提供了C 連接交換指定符號extern“C”來解決名字匹配 問題。