在我的Ubuntu18.04机器上,我使用qemu为ARM平台执行32位ELF文件,如下所示:
$ file bin
bin: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=5018caf41114f911f0a0fd09c4f9a0bb1191c87a, not stripped
$ qemu-arm bin
bin: error while loading shared li
我在和玩。在我的Mac上运行它没有任何问题,我可以通过在终端中输入fsl来启动它。
但是,我不知道如何在我们学校的HPC服务器上启动软件。通过SSH登录到学校服务器后,我像往常一样键入fsl,然后再输入
If 'fsl' is not a typo you can run the following command to lookup the package that contains the binary:
command-not-found fsl
-bash: fsl: command not found
然后,我导航到FSL安装目录(/data/apps/arc
我有一个非常简单的c代码,它可以将一个字符串打印到我的linux命令行。当我在编译这个程序的主机上运行这个程序时,它会打印到我的CLI。当我将它移到另一个linux主机时,它会抛出一个错误“浮点异常”。
#include <stdio.h>
int main(void){
printf("My first C program\n");
return 0;
}
编译它的主机是
Linux Kali Debian 4.17.8 GCC版本8.2.0
主持我试图执行的
Debian Linux 4.0
我想自动化expect for passwd,但我没有安装的权限。但是如果我可以复制并粘贴expect源代码并执行.c files usingcc/gcc and generate the executable expect.
或
我是否可以从linux复制expect可执行文件,然后在其他地方使用它,比如在solaris、aix等?
这是/usr/bin/expect in my linux box中的expect:
[root@test]# file /usr/bin/expect
/usr/bin/expect: ELF 64-bit LSB executable, AMD x86-64
我尝试调试此
并得到错误
not in executable format: file format not recognized
'file‘命令输出
canary: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked,
interpreter /lib/ld-linux.so.2, BuildID[sha1]=377711637c79e57303ff92f946500aed1b42c73a, for
GNU/Linux 3.2.0, not stripped`
另一个答案似乎对
我用gcc编写了一个小型C程序(2行代码),试图理解ELF文件格式。在对象文件上执行readelf -h,我在头文件中有:
OS/ABI: UNIX - System V
我正在使用Fedora,那么为什么它不是Linux呢?
编辑:我编译了
int main(){
int x = 0;
x++;
}
用gcc -o main.o -c main.c。我的gcc版本是
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
我只是从C开始,我试图编译下面的代码并执行它,但我得到了一个错误。
运行size也没有显示BS或数据堆栈中的任何内容吗?
#include<stdio.h>
/* test.c: My first C program on a Linux */
int main(void)
{
printf("Hello! This is a test prgoram.\n");
return 0;
}
编译作品:
gcc -c test.c -o test
正在执行:
bash: ./test: cannot execute binary file: Exec format