当您在 bash 默认模式下按Ctrl+ 时L,屏幕会被清除。但是当我运行set -o vi
并按Ctrl+L键时会打印 ( ^L
)。有什么办法可以保持这种行为吗?
我最近买了一个树莓派。我已经配置好了,我在我的桌面上安装了一个用于 arm 的交叉编译器(amd64)。我编译了一个简单的“hello world”程序,然后用scp ./hello david@192.168.1.33:~/hello
. 登录我的 Pi 后,我运行ls -l hello
并得到正常响应:
-rwxr-xr-x 1 david david 6774 Nov 16 18:08 hello
Run Code Online (Sandbox Code Playgroud)
但是当我尝试执行它时,我得到以下信息:
david@raspberry-pi:~$ ./hello
-bash: ./hello: No such file or directory
david@raspberry-pi:~$ file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x6a926b4968b3e1a2118eeb6e656db3d21c73cf10, not stripped
david@raspberry-pi:~$ ldd hello
not a dynamic executable
Run Code Online (Sandbox Code Playgroud) 当我运行时,arm-none-eabi-objcopy -O binary add.elf add.bin
一切似乎都没问题。但是,稍后当我运行时,ls -lh add.bin add.elf
这是我收到的输出:
-rw-r--r-- 1 david david 2,6G 11 月 23 日 22:49 add.bin -rwxr-xr-x 1 david david 65K 11 月 23 日 22:40 add.elf
这是一个巨大的文件。但是当我运行时du -h add.bin
,输出是:
8,0K add.bin
这里发生了什么事?
编辑:输出arm-none-eabi -A -t -x add.bin
:
警告:找不到“add.bin”。原因:对于定义的数据类型,值太大
的输出arm-none-eabi -A -t -x add.elf
:
节大小地址 .text 0x2c 0x0 .data 0xc 0xa0000000 .ARM.attributes 0x14 0x0 总计 0x4c
的输出du -bh add.bin
:
2,6G add.bin
这是我修复它的方式:
最初,当我将程序与命令链接时arm-none-eabi-ld -Tld_script.lds …
arm ×1
bash ×1
compiling ×1
disk-usage ×1
executable ×1
ls ×1
raspberry-pi ×1
readline ×1
vi-mode ×1