executable相关内容
这可能是一个微不足道的问题,但我很难向我的弟弟解释,即使两个操作系统都在同一台机器上运行,Windows 二进制文件也不会在另一个不同的操作系统(如 Linux)中运行.如果二进制文件(操作码)必须相同才能在相同的底层架构(比如 Intel 32 位)中执行,那么 Windows 和 Linux(甚至 Ubuntu 和 RadHat Linux)的二进制文件有什么区别?在处理器执行之前,是否在指令
..
像 exe 这样的可执行问题在 Linux 上不起作用(没有 wine).编译源代码时,编译器会生成特定于特定 cpu 架构的目标代码.但是相同的应用程序不适用于具有相同 CPU 的另一个操作系统.我知道代码可能包含特定于操作系统的指令,这些指令会阻止可执行文件运行.但是一个简单的程序 2+2 呢?令人困惑的部分是机器代码阻止工作的地狱.特定于cpu的机器代码对吗?如果我们剥离可执行文件格式,我们
..
在解释词法分析器和解析器之后,所有关于如何创建编译器的文本都停止了.他们没有解释如何创建机器代码.我想了解端到端的流程. 目前我的理解是,Windows exe 文件格式被称为 Portable Executable.我阅读了它的标题,但尚未找到可以轻松解释这一点的资源. 我的下一个问题是,我没有看到任何解释机器代码如何存储在文件中的资源.是不是像 .text 段中一个接一个的存储 3
..
我想生成一个可以加载到内存中的文件(例如使用 mmap),然后跳转到该内存的开头运行代码. 理想情况下,我希望选择使代码可重定位(这可能效率低下)或指定代码期望加载的显式地址(这很痛苦),但任何一个都可能工作正常靠自己. 解决方案 你可以这样做,但你需要通过目标文件格式.特别是,objcopy 命令可以将可执行文件转换为“平面"二进制文件(取决于您的目标平台).也许是这样的: gc
..
我正在尝试编译不使用动态加载程序的可执行文件(ELF 文件).我构建了一个交叉编译器,它从 linux 编译 mips,以在我制作的模拟器上使用.我在编译我的 hello.cpp 文件(hello world 程序)时声明了标志 -static-libgcc.显然这还不够.因为我的可执行文件中还有一个包含动态加载器的名称/路径的段.我使用哪些标志来生成包含需要运行的所有内容的可执行文件?我需要重建
..
我想禁止运行可执行文件的函数产生的所有终端输出. 我试图通过使用上下文管理器来抑制 Python 函数的输出,该上下文管理器在每次调用函数时都会临时重新定义 stdout 和 stderr.这会抑制函数中 print 调用产生的终端输出,但当函数调用产生终端输出的可执行文件时,它似乎不起作用. 那么,如何抑制 Python 函数调用的可执行文件的输出呢? 我的代码如下.我已经包含
..
MacOs 10.6,如果我有一个文件“unwanted.c",其中包含: class secret_thing {上市:秘密事物(){}无效揭示方法名称(){}};主要的(){秘密事物对象;obj.revealing_method_name();} 现在我做: $ g++ 不需要的.c -o 不需要的$剥离不需要的$纳米不需要|grep 秘密0000000100000eb8 T __Z
..
假设我在编译过程中将一个二进制文件包含到我的程序中,所以我将它保存在一个变量中,例如var myExec =[]byte{'s','o','m','e','','b','y','t','e','s'}所以我的问题是,是否有一种方法可以在我的程序中执行这个二进制文件,而无需将其写回磁盘并在其上调用 exec 或 fork?我正在用 Golang 编写我的应用程序,所以我正在寻找的方法是使用 Go 或
..
我的应用程序可以在我的 iPhone 上运行,很好,但是要在 iTunes 商店中列出我需要“通用二进制"的东西. 我已经尝试寻找答案,但我似乎无法在 xcode 中找到一个简洁的可用解释.当我尝试构建二进制文件时,我总是会出错.谁能指出我可以遵循的基本分步过程来创建可以上传到 iTunes 商店的通用可执行二进制文件? 还有一件事,是否有某种类型的应用程序,例如重命名项目应用程序或
..
如果朋友想要运行我的 Haskell 二进制文件,他必须先安装 Haskell,还是可以立即自行运行二进制文件? 在 Mac、Windows 和 Linux 上答案是否相同? 解决方案 GHC 确实会生成不需要安装 GHC 本身的独立二进制文件,但是它们确实链接到一些动态库,尤其是 libgmp.其余的库通常在大多数 Linux 系统上都是开箱即用的.我相信 Windows 上的情况
..
我正在寻找一个免费的开源工具集,它可以编译各种“经典"脚本语言,例如Korn Shell、ksh、csh、bash 等作为可执行文件——如果脚本调用其他程序或可执行文件,则将它们包含在单个可执行文件中. 原因: 混淆交付给客户的代码,以免泄露我们的知识产权 - 交付给客户自己的机器/系统,我无法控制我的权限可以设置访问权限,因此程序文件必须是二进制文件,因此无法通过文本编辑器或 hex
..
所以我有 main.cpp 和 main2.cpp,每个都有 int main.我想从中获取 2 个 exe.是否有可能创建这样的项目?有什么说明? 解决方案 不,Visual Studio 的项目模型严格建立在“一个项目生成一个输出"的假设之上. 如果需要两个可执行文件,则必须创建两个项目.您可以将它们保留在同一个解决方案中,让您自己更轻松,但它们必须是单独的项目. 编辑
..
我正在编写一个 Linux 内核模块,我想分配一个可执行页面.普通的 kmalloc() 在不可执行的页面中返回一个指针,在那里执行代码时我会遇到内核恐慌.它必须在 Ubuntu Karmic x86、2.6.31-20-generic-pae 上运行. 解决方案 #include #include ...char *p = __vmalloc(byte_size, GFP_KERNEL,
..
当我们编译 C 程序时,输出存储在 a.out 中.我们如何将编译后的输出重定向到另一个文件? 解决方案 大多数 C 编译器为此提供了 -o 选项,例如: gcc -o gentext gentext.ccc -o mainprog -Llib -lmymath firstbit.c secondbit.oxlc -o coredump coredump.c
..
人们也经常问“我如何编译 Perl?"而他们真正想要的是创建一个可执行文件,即使他们没有安装 Perl,也可以在机器上运行. 我知道有几种解决方案: IndigoStar 的 perl2exe它是商业的.我从来没有尝试过.它的网站说它可以交叉编译 Win32、Linux 和 Solaris. Perl Dev Kit 来自 ActiveState.它是商业的.几年前我在 Window
..
我开始摆弄 PyQt,并从 pyqt 白皮书示例应用程序 (pastebin) 它在 Windows 和 Linux 上都能完美运行(两者都已经安装了 qt 环境). 现在我的问题是:由于我尝试使用 Qt,因为它是经过编译的(至少是纯旧的基于 C++ 的 Qt),我如何编译一些 .exe 文件以在 Windows 上运行它,或者在 Linux 上运行一个独立的可执行文件. 关键是
..
我需要将 Python 脚本转换为 Windows 可执行文件. 我已将 Python 2.6 安装到 python26. 我创建了一个脚本并将其保存在 C:\pythonscript 中.这个文件夹里面有两个文件 Setup.py 和 oldlogs.py(此文件需要覆盖) setup.py 代码是 from distutils.core 导入设置导入py2exe设置(
..
我想运行我在命令行(linux 和 mac)上创建的 Java 程序.我不想一直输入“java"和参数,所以我正在考虑创建包装器脚本.这样做的最佳方法是什么,以便他们在任何地方工作?我也希望能够传递参数.我正在考虑使用“shift"来做到这一点(删除第一个参数). 有没有更好的方法来做到这一点而不使用脚本?也许制作一个不需要通过“java"命令调用的可执行文件? 解决方案 假设您使用
..
我正在寻找一个免费的开源工具集,它可以编译各种“经典"脚本语言,例如Korn Shell、ksh、csh、bash 等作为可执行文件 -- 如果脚本调用其他程序或可执行文件,则将它们包含在单个可执行文件中. 原因: 混淆交付给客户的代码,以免泄露我们的知识产权 - 交付到客户自己的机器/系统上,我无法控制我的权限可以设置有关访问权限,因此程序文件必须是二进制文件,因此无法通过在文本编辑
..
我们可以检查正在运行的应用程序或程序是否使用 .Net 框架来执行自身吗? 解决方案 我曾经从 Scott Hanselman 的 面试问题列表.您可以使用以下命令轻松列出所有运行 .NET 的程序: tasklist/m "mscor*" 它将列出所有在其加载的模块中具有 mscor* 的进程. 我们可以在代码中应用相同的方法: public static bool
..