Dalam pembangunan projek, kadangkala kita perlu memanggil beberapa fail perpustakaan atau fail dll yang ditulis dalam bahasa C Pada masa ini, kita boleh menggunakan nodej untuk memanggil kaedah C untuk mencapai ini.
Untuk menggunakan nodej untuk memanggil fail perpustakaan c, kita perlu terlebih dahulu memahami cara menulis fail perpustakaan c. Di sini kami mengambil menulis fail perpustakaan tambahan yang mudah sebagai contoh.
Pertama, kita perlu mencipta fail c add.c
Kandungan fail adalah seperti berikut:
#include <stdio.h> int add(int a, int b) { printf("c add function has been called "); return a + b; }
Hanya satu fungsi ditakrifkan. dalam fail c iniadd
, mengambil dua parameter integer dan mengembalikan jumlahnya.
Seterusnya, kita perlu menggunakan pengkompil untuk menyusun fail c ke dalam perpustakaan pautan dinamik atau perpustakaan pautan statik. Di sini kita mengambil pengkompil gcc di bawah sistem Linux sebagai contoh.
Perintah kompilasi perpustakaan pautan dinamik adalah seperti berikut:
$ gcc -fPIC -shared -o libadd.so add.c
Perintah kompilasi perpustakaan pautan statik adalah seperti berikut:
$ gcc -c add.c $ ar rcs libadd.a add.o
Parameter -fPIC
di sini adalah untuk membiarkan pengkompil menjana kod bebas kedudukan, supaya Keupayaan untuk berkongsi segmen kod dengan betul merentas ruang alamat proses yang berbeza. Pustaka pautan dinamik yang dijana atau fail perpustakaan pautan statik ialah libadd.so
dan libadd.a
masing-masing.
Dengan fail perpustakaan c, kita boleh memanggil fungsi dalam fail perpustakaan ini dalam nodejs. Di sini kita mengambil nodej di bawah sistem Linux sebagai contoh.
Modul ffi Node.js boleh menggunakan perpustakaan dinamik luaran, perpustakaan statik dan fungsi perpustakaan C. Tetapi dalam versi Node.js baharu, modul ini mungkin menghadapi masalah. Jika kita perlu menggunakan modul ffi yang lebih stabil, kita boleh memilih untuk menggunakan modul ffi-napi untuk memanggil perpustakaan C dalam proses.
Kita boleh menggunakan arahan berikut untuk memasang modul ffi-napi dalam projek:
$ npm install ffi-napi
Seterusnya, kita perlu mencipta fail nodejs. app.js
, kandungan fail adalah seperti berikut:
const ffi = require('ffi-napi'); const libadd = ffi.Library('./libadd', { 'add': ['int', ['int', 'int']] }); console.log(libadd.add(1, 2));
Perlu diperhatikan di sini bahawa parameter pertama fungsi Library()
ialah laluan ke fail perpustakaan c, dan akhiran nama fail mungkin berbeza pada platform yang berbeza. Parameter kedua ialah objek yang mengandungi nama dan jenis parameter bagi fungsi yang akan diimport, di sini kami mengimport fungsi add
dan menentukan jenis parameter dan jenis nilai pulangannya.
Akhirnya kami memanggil fungsi add
dan mencetak hasil pulangan.
Kita boleh memasukkan arahan berikut dalam baris arahan untuk menjalankan program nodejs:
$ node app.js
Hasil output adalah seperti berikut:
c add function has been called 3
Menggunakan nodejs untuk memanggil fail perpustakaan c boleh meningkatkan kecekapan pembangunan projek dengan sangat baik, dan juga menyediakan pembangun nodejs dengan lebih banyak kemungkinan pembangunan. Langkah asas boleh diringkaskan sebagai:
Menggunakan nodej untuk memanggil fail perpustakaan c boleh meningkatkan prestasi dan kestabilan aplikasi dan membantu kami menyelesaikan pembangunan projek dengan lebih baik.
Atas ialah kandungan terperinci Cara mudah untuk memanggil c menggunakan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!