gpt4 book ai didi

C包含十六进制常量的文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:09 24 4
gpt4 key购买 nike

我需要在我的 C 程序中包含一个文件,该文件具有以下形式的一堆十六进制常量:

0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x18, 0x00, 0xE8, 0x01,
0xFF, 0xF2, 0x00, 0x20, 0x01,
0x00, 0x00, 0x00, 0xE2, 0x01,

上述文件是从另一个编译器(特别是 1701 的 Sigma Studio)输出的,并且会不时更改,所以我不想在每次更改时手动修改文件。

您看到的是 1701 的代码片段,我正在从另一个 u Controller 对 1701 进行编程。这个ASCII数据文件要包含在u Controller C程序中。

常量从第 1 列开始,共有 1024 行,每行包含五个 8 位常量。

我试图用 include 语句制作一个 asm 程序,但收到一条错误消息,告诉我唯一的标签可能从第 1 列开始。

理想情况下,我想开始一个定义 block ,然后包含文件,然后结束该 block 。

有什么想法可以做到这一点吗?

最佳答案

假设您的文件名为 data 并且其格式如问题所示,您可以这样做:

#include <stdio.h>

char data[] = {
#include "data"
};

int main() {
printf("%zu\n", sizeof(data));
return 0;
}

上面的文件在花括号内包含了名为 "data" 的文件中的文本,在 char data[] 中生成了一个 char 数组 数组。

当上面的示例使用您问题中的数据进行编译时,它会在运行时打印 20

关于C包含十六进制常量的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com