二进制包(binary file)和源代码文件的区别

区别

  • binary文件:二进制包里面包括了已经经过编译,可以马上运行的程序。你只需要下载和解包(安装)它们以后,就马上可以使用;
  • 源代码文件:源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。

联系

  • source code 是程序员跑的码, binary code 是机器跑的代码。 source code 得经过compile 才能成为binary code ;
  • 源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。

参考

[1]https://blog.csdn.net/qq_29347295/article/details/81671479

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Keil中使用C语言编程解析和转换.gc文件中的G命令和M命令为二进制流,您可以按照以下步骤进行操作: 1. 打开Keil IDE,并创建一个新的C语言项目。 2. 将.gc文件复制到项目的源代码文件夹中。 3. 在项目中创建一个C源代码文件,例如`parse.c`,并在其中编写解析和转换函数。以下是一个示例代码,演示了如何解析.gc文件中的G命令和M命令,并将其转换为二进制流: ```c #include <stdio.h> #include <string.h> void parseGCFile(const char* gcFileName) { FILE* gcFile = fopen(gcFileName, "r"); if (gcFile == NULL) { printf("无法打开.gc文件\n"); return; } FILE* binaryFile = fopen("output.bin", "wb"); if (binaryFile == NULL) { printf("无法创建输出二进制文件\n"); fclose(gcFile); return; } char line[256]; while (fgets(line, sizeof(line), gcFile)) { // 检查是否为G命令或M命令 if (line[0] == 'G' || line[0] == 'M') { // 解析命令和参数 int command; int value; sscanf(line + 1, "%d", &command); sscanf(line + 2, "%d", &value); // 转换为二进制流 fwrite(&command, sizeof(int), 1, binaryFile); fwrite(&value, sizeof(int), 1, binaryFile); } } fclose(gcFile); fclose(binaryFile); } int main() { const char* gcFileName = "your_file.gc"; parseGCFile(gcFileName); return 0; } ``` 请将代码中的 "your_file.gc" 替换为您要处理的实际.gc文件的路径。 在示例代码中,我们使用 `fopen` 函数打开.gc文件和输出二进制文件。然后,我们使用 `fgets` 函数逐行读取.gc文件内容,并检查每行的第一个字符是否为'G'或'M',以确定是否为G命令或M命令。如果是G命令或M命令,我们使用 `sscanf` 函数解析指令和参数的值,并使用 `fwrite` 函数将其以二进制形式写入输出文件中。 请注意,示例代码仅演示了将G命令和M命令转换为二进制流的基本过程。具体的实现方法可能因您的需求和.gc文件的格式而有所不同。您可能需要根据实际情况进行调整和扩展代码,以处理其他指令和参数,并进行适当的错误处理和容错机制。 重要提示:在转换为二进制流之前,请确保您已经了解.gc文件中命令和参数的数据类型和字节顺序,并根据需要进行相应的转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值