Rumah >pembangunan bahagian belakang >C++ >Mengapa Menyusun `info.c` dengan GCC Memerlukan Bendera `-lstdc `?

Mengapa Menyusun `info.c` dengan GCC Memerlukan Bendera `-lstdc `?

Patricia Arquette
Patricia Arquetteasal
2024-11-29 19:25:21517semak imbas

Why Does Compiling `info.c` with GCC Require the `-lstdc  ` Flag?

Menyusun Program C dengan GCC

Walaupun GCC mampu menyusun kod C, ralat pengkompil ditemui semasa cuba menyusun "info.c " adalah disebabkan oleh ralat pemaut. Ralat ini berpunca daripada kekurangan pemautan ke perpustakaan C standard.

Untuk menyelesaikan isu ini, tambahkan bendera -lstdc pada arahan kompilasi:

gcc info.C -lstdc++

Sebagai alternatif, penyelesaian yang lebih mudah ialah untuk menggunakan g , yang melakukan perkara berikut:

  • Memilih pengkompil bahagian belakang yang sesuai berdasarkan sambungan fail, serupa dengan GCC.
  • Mengkompil semua fail sumber C sebagai C , berbeza dengan kompilasi GCC bagi fail .c sebagai C.
  • Secara lalai, termasuk libstdc dalam langkah pemautan, tanpa mengira bahasa input.

Petikan berikut daripada ulasan oleh Rup dengan ringkas menerangkan perbezaan:

"GCC akan memilih pengkompil bahagian belakang yang betul berdasarkan sambungan fail. Walau bagaimanapun, ia memautkan perduaan dengan hanya perpustakaan pembantu C dan GCC standard secara lalai. Sebaliknya, g menyertakan libstdc dalam langkah pemautannya secara lalai, tanpa mengira bahasa input."

Atas ialah kandungan terperinci Mengapa Menyusun `info.c` dengan GCC Memerlukan Bendera `-lstdc `?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn