Untuk membenamkan data binari luaran dengan mudah dalam aplikasi C/C yang disusun oleh GCC, pertimbangkan kaedah berikut:
Menggunakan Penciptaan Objek ld Ciri:
ld, penyambung, menawarkan keupayaan untuk menukar mana-mana fail kepada objek. Untuk membenamkan fail, jalankan arahan:
ld -r -b binary -o binary.o foo.bar # then link in binary.o
Ini mencipta fail objek ("binary.o") dengan simbol seperti sebagai:
Contohnya, untuk mengakses kandungan fail mudah ini kaedah:
#include <stdio.h> extern char _binary_foo_bar_start[]; extern char _binary_foo_bar_end[]; int main(void) { // Print the contents of the embedded resource for (char* p = _binary_foo_bar_start; p != _binary_foo_bar_end; ++p) { putchar( *p); } return 0; }
Menggunakan Utiliti Bin2c/Bin2h:
Utiliti ini menukar fail kepada tatasusunan bait. Integrasikan tatasusunan yang terhasil ke dalam kod anda.
Contoh dengan Penciptaan Objek ld:
Berikut ialah cara untuk memasukkan sumber ke dalam fail objek:
ld -r -b binary -o foo.bar.o foo.bar
Fail objek yang terhasil mengandungi ini simbol:
Untuk mengakses kod:
sumber terbenam andaunsigned int iSize = (unsigned int)(&_binary_foo_bar_end - &_binary_foo_bar_start);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membenamkan Sumber dengan Lancar ke dalam Boleh Laku Menggunakan GCC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!