腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
6
回答
为什么特定CPU的可执行程序不能在
Linux
和
Windows上运行?
operating-system
、
executable
像exe这样的可执行问题不能在
Linux
上工作(没有wine)。在编译源代码时,编译器生成特定于特定cpu架构的目标代码。但是,相同的应用程序不能在具有相同CPU的另一个操作系统上工作。我知道代码可能包含特定于操作系统的
指令
,这些
指令
将阻止
可执行文件
的运行。但是,一个简单的程序2+2呢?令人困惑的部分是机器代码阻止工作的地狱。特定于cpu的机器代码,对吗?如果我们剥离
可执行文件
格式,我们
是否
可以
在
两个操作系统上看到相同的机器代码(如2+ 2)? 还有一
浏览 7
提问于2010-01-14
得票数 19
回答已采纳
1
回答
在
64位
Linux
中
,
是否
可以
在
同一
可执行文件
中
同时
使用
64位
和
32位
指令
?
linux
、
assembly
、
x86
、
x86-64
、
32bit-64bit
64位
中
央处理器(amd64)
在
兼容模式下支持32位英特尔
指令
。此外,64位
Linux
安装允许运行包含32位
指令
的ELF,前提是ELF标头表明它是32位
可执行文件
。我想知道
是否
有可能在ELF中放一些汇编
指令
,它在程序中间将CPU切换到32位兼容模式(然后再回来)?如果内核不允许这些汇编
指令
,我们有没有办法让内核将已经在运行的进程切换到32位?
浏览 14
提问于2018-02-19
得票数 10
回答已采纳
1
回答
无int 0x80的面向返回编程
exploit
、
buffer-overflow
、
x86
它正在
使用
ASLR
和
DEP运行PIE,但是有一段可执行代码位于固定位置。 但是,此区域不包含int0x80;ret。我
可以
控制eax,ebx,ecx
和
edx。我如何执行任意的系统,例如,调用mprotect并在shellcode代码
中
读取?每个syscall似乎都需要一个int0x80,我不知道如何绕过它。相关代码中有一个int0x80小工具,但是后面跟着一个jmp
指令
。因此,我正在寻找一种不需要0x80就
可以
生成syscalls的方法,或者一种
同时
创
浏览 0
提问于2015-03-21
得票数 7
回答已采纳
1
回答
如何在没有Exe容器的情况下创建C#
可执行文件
c#
、
mono
、
portable-executable
、
coff
我
可以
使用
不
使用
文件格式的语言C#为
linux
生成
可执行文件
吗?我知道mono
可以
从windows
可执行文件
中
读取IL
指令
,但我很好奇
是否
也
可以
使用
unix精灵文件(例如gcc或其他编译器生成的标准
可执行文件
)。我仍然想
使用
mono (或类似的东西),但不希望PE头
在
我的文件
中
。
浏览 4
提问于2016-01-11
得票数 0
回答已采纳
2
回答
从Visual Studio 2015开始基于WSL bash的构建
bash
、
visual-studio
、
msbuild
、
windows-subsystem-for-linux
我最近开始
使用
Windows Subsystem for
Linux
(WSL),看看我的基于
Linux
Makefile & arm-none-eabi-gcc的微控制器项目
是否
可以
在
Windows
中
令我惊讶的是,工具链
和
基于
Linux
的开发工具
在
第一次运行时就安装得很好,而且不需要对Makefile进行任何修改。因此,这让我考虑尝试
在
Visual Studio中
使用
ID
浏览 3
提问于2016-07-07
得票数 5
8
回答
(C/C++)如何生成
可以
在
Windows
和
Linux
上运行的
可执行文件
?
c++
、
c
、
windows
、
linux
、
cross-platform
据我所知,
在
Linux
上编译的程序应该不能在Windows上运行。因此,如果我们想要在两个平台上运行相同的程序,我们需要在两个平台下编译源代码,并创建两个不同的
可执行文件
。我惊讶地发现,该图形用户界面应用程序的后端引擎是由C++代码生成的一个小的
可执行文件
。无论用户是
在
Windows
中
还是
在
Linux
中
使用
该应用程序,Java GUI都将调用bin文件夹
中
的
同一
可执行文件
。 我只想
浏览 2
提问于2011-09-15
得票数 12
回答已采纳
1
回答
为什么要将一些静态库移到/lib文件夹
中
?
cmake
、
build
、
static-libraries
、
static-linking
我正在观看一些连接到CMake的教程视频,在其中一个()
中
,作者安装了一个静态库(.a)到用户/本地/lib。我想知道把它放进去会有什么好处。据我所知,编译后,静态库被打包到最终的可执行二进制文件
中
。据我所知,只有共享库才应该移动到/lib文件夹
中
。 或者,它是关于
在
构建过程
中
避免
在
静态库的情况下重新编译。任何帮助都是非常感谢的。
浏览 1
提问于2020-09-02
得票数 0
回答已采纳
1
回答
像VirtualBox一样的虚拟化是如何工作的?(需要一些技术细节)
operating-system
现在我运行一些
可执行文件
。处理器从
可执行文件
中
读取
指令
并预先形成这些
指令
。尽管我
可以
将任何我想要的
指令
放入文件
中
,但我的程序不能读取HDD的任意区域(并且
可以
做许多其他可能“坏”的事情)。“不安全”处理器
指令
在这种状态下是不允许的,使处理器返回到“特权”状态的唯一方法是将控制权返回给内核。内核代码
可以
使用
所有处理器的
指令
,因此它
可以
执行我的程序“
浏览 2
提问于2018-07-26
得票数 3
回答已采纳
3
回答
linux
和
windows
中
的Mono
c#
、
linux
、
mono
在
linux
中
使用
mono运行两个
可执行文件
时,
在
以下情况下
是否
存在性能差异: 1)其中一个
可执行文件
是以前
在
windows (e.g.VS)
中
从c#源代码编译的。2)另一个
可执行文件
与
linux
中
的gmcs是从
同一
源代码编译的。
浏览 4
提问于2009-03-06
得票数 3
回答已采纳
1
回答
使用
可执行文件
在
同一
个目录中加载共享库
cmake
、
shared-libraries
在
Windows
中
,当exe
和
dll文件位于
同一
个目录
中
时,
可以
运行需要共享库(.dll)的
可执行文件
(.dll)。
在
Linux
中
,即使
可执行文件
和
共享库(.so)位于
同一
个目录
中
,但
Linux
总是
在
.so最初构建的绝对目录
中
查找它,然后无法运行
可执行文件
。在运行
可执
浏览 0
提问于2019-02-07
得票数 0
回答已采纳
1
回答
到ld-
linux
动态链接器/解释器的相对可执行路径
linux
、
installation
、
elf
、
dynamic-linking
、
relocation
我希望发布
和
存档二进制文件(带有库的
可执行文件
),这些二进制文件与尽可能多的
Linux
发行版
和
整个包可重定位兼容。
同时
,libc似乎与ld-
linux
耦合(例如,
在
Debian测试上编译的二进制文件已经无法
在
Ubuntu18.04LTS上工作),所以我也需要打包ld-
linux
。我的解决方案是将所有
可执行文件
和
库放在一个目录
中
,并将rpath设置为$ORIGIN (通过与-Wl,r
浏览 5
提问于2019-02-23
得票数 9
1
回答
调试用OpenWatcom编译的32位DOS
可执行文件
c
、
windows
、
debugging
、
dos
、
watcom
如果程序
在
错误的内存访问
中
崩溃,我会得到出错
指令
的CS:EIP。如何将其映射到汇编代码/源码行号?(注意:我
在
Wine下
使用
OpenWatcom的Windows版本(
在
Linux
中
运行),然后
在
DosBox
中
运行
可执行文件
。)有了-ggdb /binutils,我会用-DS编译,然后
在
可执行文件
上
使用
objdump binut
浏览 4
提问于2017-08-08
得票数 5
2
回答
在
linux
中
是否
可以
同时
使用
brace扩展
和
grep
linux
、
grep
、
curly-braces
我正在尝试计算每个ASCII可打印字符
在
一个文件中出现的次数。我认为这样做的一个好方法是
在
{}封闭列表
中
列出可打印的字符,并在大括号内的每一项上
使用
grep。下面是一个示例代码。我想不出如何让代码分别读取
和
使用
大括号之间的每个字符。我真的想输出一个"character\tcharacterCount“格式的文件。有什么建议吗? char={" ",!
浏览 1
提问于2014-07-03
得票数 0
1
回答
linux
上的PEiD替代方案
linux
、
reverse-engineering
、
elf
是否
有类似于PEiD的封隔器检测器
可以
在
Linux
上
使用
?
同时
适用于ELF
和
PE格式。 我试图找到一个类似的工具,但我发现的只是
在
可执行文件
中
搜索字符串的手动方法,这不是一种非常有效的方法。
浏览 1
提问于2018-02-28
得票数 3
回答已采纳
1
回答
使用
内联程序集更新内部系统寄存器
c
、
inline-assembly
我打算在我目前正在处理的一个项目中
使用
内联汇编。该项目是关于从头开始构建一个简单的操作系统。这就是我的代码中
使用
内联程序集的地方。我已经
在
一个单独的文件中将内联汇编部分从屏幕驱动程序中分离出来,以便正确测试它的功能。
浏览 3
提问于2013-04-23
得票数 1
回答已采纳
1
回答
与函数"UseLibs“一起
使用
OpenGL sdk时出现的错误
opengl
、
lua
、
premake
我正在
使用
premake来
使用
OpenGL 来创建新项目。我正在尝试整理我的第一个真正的项目,但是当我运行premake4 vs2010命令时出错了。我试图
使用
UseLibs函数来访问OpenGL sdk元素,但是Premake正抛出一个错误,该错误如下: solution "OpenGL" configurations {"windows", "
linux
", "D
浏览 1
提问于2011-11-26
得票数 0
回答已采纳
3
回答
有没有跨平台的编译器
可以
编译
可以
同时
在
linux
和
windows上运行的本地
可执行文件
?它可能存在吗?
windows
、
linux
、
compiler-construction
、
cross-platform
我记得几年前(2002)有一种
可以
在
linux
和
windows上本地运行的多部分病毒。我不知道编译器
是否
可以
专门制作一个
可执行文件
,以便它
可以
同时
读取为ELF
和
PE,这样操作系统就
可以
在
不同的入口点开始执行。或者是
可以
将两个程序合并为一个程序的程序,其中一个程序是
使用
mingw编译的,另一个是
在
本地
linux
<
浏览 2
提问于2010-02-05
得票数 3
回答已采纳
1
回答
(Mac/
Linux
/Win)
linux
、
windows
、
macos
、
ffmpeg
、
ffprobe
我正在尝试编译FFMPEG (实际上我只是
在
寻找FFProbe,它包含在FFMPEG工具
中
)作为适用于MacOS X、
Linux
和
可能的Windows的独立应用程序。我已经开始尝试
在
Linux
下这样做,但没有任何运气,但我计划在MacOS
和
MacOS X上也这样做。我遵循了几个指南(例如:、),无论
是否
使用
Brew,但这些指南都没有告诉我如何在
可执行文件
中
嵌入库。我假设这是一个为链接设置的选项。我不
浏览 1
提问于2013-11-13
得票数 1
1
回答
windows
和
linux
的单一
可执行文件
?
linux
、
windows
有可能有一个独立的
可执行文件
来
同时
在
linux
和
windows上运行吗?它不必来自一个二进制代码。我没有问题,编译
linux
版本与gcc,windows一个与mingw,然后“合并”他们。我想问题是,
是否
可以
将PE
和
ELF写到一个文件
中
。或者如果有一些基本的脚本,
linux
和
windows都能理解。
浏览 2
提问于2017-04-19
得票数 4
1
回答
C++
可执行文件
不能在基于
linux
的主机服务器上运行
c++
、
c
、
linux
、
apache
、
centos
我为64位CentOS
中
的CGI应用程序创建了一个静态
可执行文件
。程序
使用
的是cgicc lib。然后,我
在
同一
台计算机(我在其中创建了
可执行文件
)
和
另一台CentOS 64位计算机(其中不存在cgicc lib )上执行该
可执行文件
。在这两台机器上,它都成功执行了。但是我有一个虚拟主机服务器,同样的
可执行文件
不工作。虚拟主机服务器是
linux
(64位)机器,但不能确切地确定
linux
的风格。<e
浏览 0
提问于2014-01-08
得票数 0
点击加载更多
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
腾讯会议
活动推荐
运营活动
广告
关闭
领券