Rumah > pembangunan bahagian belakang > C++ > Bilakah Saya Harus Menggunakan `luar 'C'` dalam C ?

Bilakah Saya Harus Menggunakan `luar 'C'` dalam C ?

DDD
Lepaskan: 2024-11-29 17:45:11
asal
1102 orang telah melayarinya

When Should I Use `extern

Memahami Keperluan untuk "C" luaran dalam C

C dan C berkongsi persamaan dalam sintaks, tetapi proses kompilasinya berbeza dengan ketara. Menyusun fail pengepala dengan pengkompil C mengharapkan kod C. Walau bagaimanapun, apabila menyertakan pengepala yang mematuhi piawaian C, adalah perlu untuk mentakrifkannya secara eksplisit menggunakan arahan "C" luaran.

Arahan ini mengarahkan pengkompil untuk menganggap bahawa pengepala itu mengikut Binari Aplikasi C Antara Muka (ABI). Tanpanya, penyambung mungkin mengalami ketidakserasian, kerana ABI C biasanya mengubah suai nama fungsi dengan nama yang dipecahkan.

Untuk menyelesaikan isu ini, ikut langkah berikut:

  1. Apabila untuk Menggunakan "C" luaran: Gunakan "C" luaran apabila memasukkan mana-mana fail pengepala C dalam C atur cara.
  2. Kelakuan Penyusun/Penyambung: Menggunakan isyarat "C" luaran kepada pengkompil bahawa pengepala yang disertakan mengikut ABI C. Ini menghalang nama rosak dan memastikan keserasian dengan fungsi yang menjangkakan struktur data C.
  3. Penyelesaian Penyusunan/Pemautan: Dengan menentukan "C" luar, pengkompil memproses pengepala sebagai kod C, menghapuskan ketidakpadanan antara C ABI yang dijangka dan C ABI yang diubah suai. Ini membolehkan pemautan lancar fungsi C dalam program C.

Ingat, untuk kebanyakan pengepala sistem, arahan "C" luaran sudah ada, kerana ia direka bentuk untuk menyokong kemasukan dalam kedua-dua C dan kod C. Oleh itu, adalah penting untuk menggunakan arahan ini apabila memasukkan pengepala C secara manual untuk mengelakkan kemungkinan ralat pemaut.

Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan `luar 'C'` dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan