Articles of 二进制

通过串口读写二进制数据

所以我search了一下,也找不到我需要的东西。 我需要帮助通过串口读取和写入二进制数据,并希望您可能有任何build议。 请注意,当我处于这个项目的另一个阶段时,我问了一个类似于这个问题的问题。 以下是程序。 第一个程序打开一个文件“test.jpg”,以二进制模式读取并将结果存储在缓冲区中。 然后closures文件,并且应该通过串口发送该文件。 第二个程序创build一个名为“testout.jpg”的文件,并且应该读取从前一个程序发送的数据。 我有一个预感,我的代码中的问题在于第二个程序。 也许我也需要用fread呢? 我尝试了,但我不知道如何实现一个串口,因为我是相对较新的编程。 非常感谢您的时间。 串行写入: #include <stdio.h> /* Standard input/output definitions */ #include <string.h> /* String function definitions */ #include <unistd.h> /* UNIX standard function definitions */ #include <fcntl.h> /* File control definitions */ #include <errno.h> /* Error number definitions */ #include <termios.h> /* POSIX terminal control definitions […]

如何从Linux中的文本文件中识别二进制文件

linux file命令在识别文件types方面做得非常好,并给出了非常细致的结果。 diff工具能够从文本文件中分辨出二进制文件,产生不同的输出。 有没有办法来告诉二进制文件forms的文本文件? 所有我想要的是一个是/否的答案是否给定的文件是二进制的。 因为很难定义二进制文件,所以我想知道diff是否会尝试基于文本的比较。 澄清这个问题:只要是文本,我不在乎它是ASCII文本还是XML。 另外,我不想区分MP3和JPEG文件,因为它们都是二进制文件。

如何在Linux中将PE(Portable Executable)格式转换为ELF格式

将PE二进制文件转换为ELF二进制文件的最佳工具是什么? 以下是这个问题的一个简短的动机: 假设我有一个简单的C程序。 我编译它使用gcc的Linux(这给ELF),并使用'i586-mingw32msvc-gcc'的Windows(这给了一个PE二进制文件)。 我想分析这两个二进制文件的相似之处,使用Bitblaze的静态分析工具 – 藤( http://bitblaze.cs.berkeley.edu/vine.html ) 现在葡萄藤没有很好的支持PE二进制文件,所以我想转换PE-> ELF,然后进行比较/分析。 由于所有的分析都必须在Linux上运行,所以我更喜欢在Linux上运行的实用程序/工具。 谢谢

gcc编译的二进制文件给“不能执行二进制文件”

我编译这个程序: #include <stdio.h> int main() { printf("Hello World!"); return 0; } 有了这个命令: gcc -c "hello.c" -o hello 当我试图执行你好,我得到 bash: ./hello: Permission denied 因为权限是 -rw-r–r– 1 nathan nathan 856 2010-09-17 23:49 hello 因为某些原因?? 但无论…更改权限,并尝试再次执行后,我得到 bash: ./hello: cannot execute binary file 我使用的是gcc(Ubuntu 4.4.3-4ubuntu5)4.4.3 我在这里做错了什么? 这是显而易见的…现在为时已晚,我一直用我疲惫的眼睛试图找出这个简单的问题…. PS我做(有时)在比Hello World更复杂的程序上工作,但gcc正在做这个全面的…

在Mac OS X下仿真Linux二进制文件

如何在Mac OS X下运行Linux二进制文件? 谷歌search我发现了几个模拟器,但没有一个在Mac上运行Linux二进制文件。 在Linux上运行Mac OS X有很多相关的东西,但这与我想要做的是相反的。 更新: 感谢所有的答案! 我完全了解MacPorts和Fink或任何其他的东西; 不,我不想要这些工具中的任何一个,而且我也不想要任何包pipe理者,所以我更愿意自己编写一些东西。 我也有Parallels,可以设置虚拟机和爵士乐… 我唯一想做的就是find一种方法来运行一个二进制文件,我没有源代码并且已经为Linux编译,但是我不想在Linux下运行它,但是在Mac OS X下。关于模拟器的问题。

二进制数据通过串行terminal

我的embedded式设备的唯一通信方式是串行端口。 默认情况下,embedded式Linux使用此端口作为terminal。 如何禁用此terminal并使用串行链接传输二进制数据? 我听说像RX和TX的命令,但我找不到它们。 我想我可以只读()和写入()的东西到/ dev / tty,但我想确保没有错误信息或任何与我的数据stream混乱。

Linux上的二进制grep?

说我已经生成了以下二进制文件: # generate file: python -c 'import sys;[sys.stdout.write(chr(i)) for i in (0,0,0,0,2,4,6,8,0,1,3,0,5,20)]' > mydata.bin # get file size in bytes stat -c '%s' mydata.bin # 14 并说,我想要find所有零( 0x00 )的位置,使用类似grep的语法。 我能做到的最好的是: $ hexdump -v -e "1/1 \" %02x\n\"" mydata.bin | grep -n '00' 1: 00 2: 00 3: 00 4: 00 9: 00 12: 00 但是,这将隐式地将原始二进制文件中的每个字节转换为grep操作的多字节ASCII表示forms; […]

为Linux分发二进制应用程序的最佳方式是什么?

我刚刚完成将一个应用程序从Windows移植到Linux。 我必须创build应用程序的安装程序。 应用程序不是开源=>我应该分发应用程序的二进制文件(可执行文件,夫妇.so文件,帮助文件和图像)。 我发现了几种方法来做到这一点: – RPM和DEB包 ; – 安装程序在.sh文件中 ; – 自动包装 我不喜欢第一种方法(RPM和DEB包),因为我不想为不同的Linux发行版提供不同的包。 为Linux分发二进制应用程序的最佳方式是什么?

有没有人能够创造PE COFF和ELF的混合体?

我的意思是一个二进制文件可以在Win32和Linux i386上运行吗?

有没有一个工具来知道一个值是否有一个精确的二进制表示forms作为浮点variables?

我的C API有一个函数,input一个double 。 只有3或4个值是有效input,其他所有值都是非有效input并被拒绝。 我想检查是否所有我的有效input值可以完全表示,以便我可以避免epsilon检查,以减轻可读性。 有没有一个工具(最好在命令行),可以告诉我一个十进制值是否具有精确的二进制表示forms作为浮点值?