Oto dobra sztuczka, której używam z kompilatorem krzyżowym gcc-arm; w tym plik poprzez plik języka asemblerowego. W tym przykładzie jest to zawartość pliku public_key.pem
.
pubkey.s
.section ".rodata"
.globl pubkey
.type pubkey, STT_OBJECT
pubkey:
.incbin "public_key.pem"
.byte 0
.size pubkey, .-pubkey
odpowiadające pubkey.h
#ifndef PUBKEY_H
#define PUBKEY_H
/*
* This is a binary blob, the public key in PEM format,
* brought in by pubkey.s
*/
extern const char pubkey[];
#endif // PUBKEY_H
Teraz źródła C mogą zawierać pubkey.h
, skompilować pubkey.s
z gcc i połączyć je w swojej aplikacji, a proszę bardzo. sizeof(pubkey)
również działa.
Na jakiej platformie? –
@OliCharlesworth: Używam zastrzeżonego wbudowanego systemu plików RTOS, używając Eclipse 3.0.2 – theanine
Mamy nadzieję, że odpowiedź na ten problem zależy ** od specyfiki używanego toolchaina (kompilator, linker, format pliku wykonywalnego itp.). Więc dobrze byłoby, aby dodać jak najwięcej szczegółów do swojego pytania. –