• 关于

    linux elf bin

    的搜索结果

问题

Linux上运行7za报bad elf interpreter

在linux上安装了7z命令行版。p7zip_15.09_x86_linux_bin.tar.bz2结果在bin目录下,执行7za 报了bad elf interpreter错。情各位指导。谢谢。...
杨冬芳 2019-12-01 20:24:52 1809 浏览量 回答数 1

回答

以下的一些说明,使用如下的测试用例: int main(int argc, char **argv) { printf("Just for test\n"); return 0; } printf属于gcc的内建函数,在不添加头文件的情况下也可以正常使用,编译器会帮你处理一些事情,只不过在编译的时候会发出警告: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 编译的时候不使用启动库和标准库: $ gcc noheader.c -nostdlib -t noheader.c: In function ‘main’: noheader.c:3:2: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] /usr/bin/ld: mode elf_i386 /tmp/ccJduOq0.o /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 00000000080480d8 /tmp/ccJduOq0.o: In function `main': noheader.c:(.text+0x11): undefined reference to `puts' /usr/bin/ld: link errors found, deleting executable `a.out' collect2: error: ld returned 1 exit status 正常情况下的编译: $ gcc noheader.c -t noheader.c: In function ‘main’: noheader.c:3:2: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] /usr/bin/ld: mode elf_i386 /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i686-linux-gnu/4.7/crtbegin.o /tmp/ccbxOiWb.o -lgcc_s (/usr/lib/gcc/i686-linux-gnu/4.7/libgcc_s.so) /lib/i386-linux-gnu/libc.so.6 (/usr/lib/i386-linux-gnu/libc_nonshared.a)elf-init.oS /lib/i386-linux-gnu/ld-linux.so.2 -lgcc_s (/usr/lib/gcc/i686-linux-gnu/4.7/libgcc_s.so) /usr/lib/gcc/i686-linux-gnu/4.7/crtend.o /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crtn.o 将测试中printf那句mark掉后编译: $ gcc noheader.c -nostdlib -t /usr/bin/ld: mode elf_i386 /tmp/ccmF4d1L.o /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 00000000080480d8 建议: 手动去链接那些启动库而不包括标准库,在编译的时候使用-nostdlib编译选项,看看会出现什么错误;在测试的时候,自己写一个printf函数,编译的时候添加-fno-builtin-printf编译选项。个人猜测是编译器在检测到有和内建函数同名的函数时作了一些处理。期待你的正确答案!
a123456678 2019-12-02 02:37:17 0 浏览量 回答数 0

问题

安装在oracle linux 5.5_64位上安装DM7,初始化库的时候报错

安装在oracle linux 5.5_64位上安装DM7,初始化库的时候报错: Extract install files.......... java.lang.UnsatisfiedLinkError: /...
茶什i 2019-12-01 22:01:24 2 浏览量 回答数 1

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

问题

如何在阿里云服务器上安装JDK

大家好,我申请的阿里云服务器系统是: redhat 5.4 64位 企业版 安装jdk-1_5_0_22-linux-i586-rpm.bin时报错了如下: ./install.sfx.1726...
ap3056w3r 2019-12-01 20:19:07 8669 浏览量 回答数 2

回答

今天将给大家详细讲解查看CentOS版本信息的命令 (一) 查看已经安装的CentOS版本信息 1.cat /etc/issue 查看版本 cat 缩写concatenate cat命令可以用来显示、合并文件。 CentOS release 6.6 (Final) CentOS 发行版6.6 etc 初期etc的英文名字缩写为etcetera ,后来大家更习惯称为 Editable Text Configuration。ETC为系统配置文件目录,该目录包含系统启动脚本、启动配置文件、用户登陆配置文件、网络配置文件、httpd 配置文件、IPSec 配置文件和其他文件等。 2. cat /etc/redhat-release 查看CentOS版本 3. cat /proc/version proc 为process的缩写,里面存放与内核相关的文件。 显示结果: Linux version 2.6.32-504.12.2.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Mar 11 22:03:14 UTC 2015 4.uname -a 显示如下 Linux 主机192-168-14-166 Linux 版本2.6.32-504.12.2.el6.x86_64 64位 5 uname -r 显示结果:2.6.32-504.12.2.el6.x86_64 分析结果:Linux 版本2.6.32-504.12.2.el6.x86_64 64位 (二)查看系统是32位或者64位的方法 1. getconf LONG_BIT or getconf WORD_BIT 输入:getconf LONG_BIT 返回结果:64 输入:getconf WORD_BIT 返回结果:32 分析:32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节inux系统中可用”getconf WORD_BIT”和”getconf LONG_BIT”获得word和long的位数。64位系统中应该分别得到32和64。 所以该系统为64为Linux系统。 file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped 可以看到 ELF 64-bit LSB 所以该系统为64位
问问小秘 2020-04-30 16:42:54 0 浏览量 回答数 0

问题

jsp服务器的搭建

tomcat  + jsp +mysql  怎么搭建,按照网上的搭建的过程中老是出现很多错误 比如  -bash: /usr/java/jdk1.8.0_25/bin/java: /lib/ld-linux.s...
allenliao 2019-12-01 21:10:21 6943 浏览量 回答数 1

问题

安装tomcat遇到badELFinterpreterNosuchfileordirectory问题

今天第一次使用阿里云部署服务,在安装tomcat的时候,发现了这个问题,日志如下 /home/yrfz/apache-tomcat-7.0.47/bin/catalina.sh: /home/yrf...
e如反掌 2019-12-01 21:48:13 6046 浏览量 回答数 0

问题

Linux下安装Android Studio出错,求大神解答!

JDK都配置好了,运行 zoegreen@zoegreen-Lenovo-IdeaPad-Y470:/opt/android-studio/bin$ java -version java version "1.7.0_51" Java(...
杨冬芳 2019-12-01 20:22:26 1672 浏览量 回答数 1

问题

ekho6.0加上--enable-festival报错请教??报错

@黄冠能 你好,想跟你请教个问题: 我在linux执行 ekho -o hello.wav '黄哥 你好 hello world' 中文能转换,...
爱吃鱼的程序员 2020-06-14 22:38:25 0 浏览量 回答数 1

回答

关于Alios-Things开源系统 AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源。 AliOS Things 支持多种CPU架构,包括:ARM,C-Sky,MIPS,rl78,rx600,xtensa等。同时AliOS Things也支持相当多的开发板。 以下简称 alios , 其支持接入阿里的飞燕平台,拥有从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。最重要的是,支持接入多种物联网平台,包括阿里智能天猫精灵、亚马逊云、Google Home音箱控制; 一、 前言。 为什么要学习Alios-Things系统 前面已经提到了,其支持的阿里飞燕平台,提供了从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。平台具有高稳定、高并发、高安全、强生态的特点。 综上所述,对于一些中小企业公司来说,可以免去搭建硬服务器这块硬伤,因为做好一个服务器,考虑到均衡负载、高并发的稳定性,考虑到大数据统计,以及全球部署,维护起来都是很大的一笔费用。 因此,接入阿里的飞燕平台是个不错的选择。其由我们的阿里云服务器支持,有我们的淘宝、支付宝等支持,对于国内确实是个不错的选择第三方平台。既然阿里飞燕平台这么强大,那么阿里也是提供了嵌入式开发系统Alios-Things,目前一直在增加支持更多的芯片,包括大家熟悉的 stm32、庆科的 3080,当然啦,还有乐鑫的 esp8266和esp32,都一直在适配中。后续我会教大家怎么移植底层外设的教程。 AliOS官网:http://www.alios.cn alios:https://github.com/alibaba/AliOS-Things 二 、搭建编译环境。 一、准备软件。 下载并且安装好VirtualBox虚拟机! 下载文章下方提供已集成alios系统环境镜像! ####二、步骤。 虚拟机导入镜像。 检查镜像是否成功集成了alios环境。 设置共享文件夹。 重启编译工程。 第一步:下载并且安装好VirtualBox虚拟机! 先从官网安装VirtualBox虚拟机,目前是5.2.18,记得安装后要以管理员身份运行,否则会报安装失败异常!安装之后,导入虚拟电脑,选择我 给大家集成好的镜像,注意是 .ova格式的。安装成功之后,会出现一个名字为 Ubuntu、 64 位的虚拟机! 注意此镜像的账号户名是 aliyun , 密码 123 ;每次开机或睡眠唤醒需要此密码哦! 这里写图片描述 第二步:上一步完成之后,我们来验证是否已经继承了 alios-Things的开发环境?! 首先我们打开文件,看到里面是有一个 alios的仓库的,我们可以打开命令符进去到这个文件夹(注意是 《Alios-Things》文件夹),之后我们敲写 aos 这个命令,发现出现一些信息了。如下图所示,恭喜,搭建环境成功!! 这里写图片描述 第三步:开始编译程序。 以我们现在的 Linux 系统为例,我们编译一个 helloworld 工程为例,输入: aos make helloworld@linuxhost ./out/helloworld@linuxhost/binary/helloworld@linuxhost.elf 1 2 输入编译指令等待数秒后,打印以下信息: 这里写图片描述 然后,输入运行工程指令,等待数秒后,时隔五秒打印打印以下信息,恭喜,运行成功: 1 这里写图片描述 同样地,我们要编译为 esp8266 芯片的工程,我们只需要这样命令: aos make helloworld@esp8266 1 但是,我们发现编译过程有点慢哦!为什么?串口打印发现,原来他要去下载 esp8266的编译工具链 gcc , 这取决于网速,一般不需要多久的! 大家耐心等待下哈! 这里写图片描述 三、alios-Things编译后的固件在哪里? alios-Things每次编译后都会生成固件,在其主目录下的 out 文件夹下面,比如我们刚刚编译的是 esp8266 ,就会多出了一个文件夹《helloworld@esp8266》哦!然后我们再往里面找,发现里面有个 .bin文件 ,如下: 奇怪,那么我们平常还有烧录的三个文件在哪呢?这其实容易找到,在 8266的SDK包里面,在主目录下面 --> platform --> mcu --> esp8266 -->bsp, 截图如下: 这里写图片描述 四、设置共享目录烧录固件。 为什么要设置共享目录,直接从 Ubuntu 虚拟机连接下载不就行了吗? 其实,这个做法是可以的。但是为了避免烧录报错,我选择的是在 Windows下烧录,而且我们的工程也是在 Windows下的话,可以用 vsCode 随意修改代码! 首先,点击 Ubuntu 上面的 设备 --> 安装增强功能… ,之后控制台出现如下,随意按键退出: 这里写图片描述 然后,设置共享文件夹,选择您喜欢的、任意一个非中文路径的文件夹 , 注意文件夹要设置为自动挂载,固定分配; 这里写图片描述 3. 之后,在 Ubuntu 设置共享文件夹,首先获取管理员身份,之后在 mnt 创建一个文件夹放我们共享文件夹的 《aliosThingsShare》; 4. 最后,在 Ubuntu 设置共享文件夹《aliosThingsShare》 和我们的 Windows下设置的文件夹进行挂载关联,命令(注意下面的VM是我在Windows设置文件夹,而《aliosThingsShare》是 Ubuntu的);注意一定要获取管理员身份操作! mount -t vboxsf VM /mnt/aliosThingsShare 1 这里写图片描述 四、 在共享文件夹编译。 我们不在 Ubuntu下安装编译器了,我们在 Windows下编辑就好了,因此我们先在 Windows 下克隆最新的 alios代码,命令符(截止2018.9.20已到了2.0版本,下面的拉取的前提必须要把我提供的镜像的aos-cube升级到最新的版本,怎么升级请见第五点!为了兼容旧版本的老朋友,我就不更新镜像了!): git clone https://github.com/alibaba/AliOS-Things.git 1 编译(编译时候退出管理员身份): aos make helloworld@esp8266 1 好了,终于可以下载固件了: 这里写图片描述 哎呀,设置波特率 921600 发现没有打印 helloworld 啊??? 这里写图片描述 莫急莫急,我们去找下 helloworld 工程源代码, 把 LOG() 修改为 printf() , 再编译一下,烧录下看看?? 这里写图片描述 看看?? 果然可以了啊哈!!原来当前的还没兼容起来而已,以后可能会适配好的!特此记下!
苍霞学子 2021-04-02 21:54:34 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT