Đây là mẹo hay mà tôi sử dụng với trình biên dịch chéo gcc-arm; bao gồm một tập tin thông qua một tập tin ngôn ngữ lắp ráp. Trong ví dụ này, nội dung của tệp là public_key.pem
Tôi đang đưa vào.
pubkey.s
.section ".rodata"
.globl pubkey
.type pubkey, STT_OBJECT
pubkey:
.incbin "public_key.pem"
.byte 0
.size pubkey, .-pubkey
tương ứng 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
Bây giờ các nguồn C có thể bao gồm pubkey.h
, biên dịch pubkey.s
với gcc và liên kết nó vào ứng dụng của bạn, và có bạn đi. sizeof(pubkey)
cũng hoạt động.
Trên nền tảng nào? –
@OliCharlesworth: Tôi đang chạy trên một RTOS nhúng độc quyền, sử dụng Eclipse 3.0.2 – theanine
Hy vọng rằng, bạn sẽ biết rằng câu trả lời cho vấn đề này phụ thuộc hoàn toàn ** vào các chi tiết cụ thể của chuỗi công cụ bạn đang sử dụng (trình biên dịch, trình liên kết, định dạng có thể thực thi, v.v.). Vì vậy, bạn sẽ làm tốt để thêm càng nhiều chi tiết càng tốt cho câu hỏi của bạn. –