我试图找出一个给定的可执行文件(或库)是否从Python编译为32位或64位.我运行Vista 64位,并想确定目录中的某个应用程序是否编译为32位或64位.
有没有一种简单的方法只使用标准的Python库(目前使用2.5.4)?
我有一个最初用Visual Studio 6.0编写的C++应用程序
该应用程序是标准的原始Win32 API,没有MFC(*编辑2),没有.NET,静态链接,多线程可执行文件.
我已经迁移到所有版本的Visual Studio到2010年(今天),直到现在才出现任何问题:
它可以与VS2010完美地编译和运行,但生成的可执行文件大小要大四(4)倍!
我已经尝试了所有我知道的选项(优化,删除调试信息等),没有结果.当然,我是VS2010的新手,但不是Visual Studio的新手.
有谁遇到过这个问题?再说一遍:我没有使用任何框架,它是一个原始的,静态链接的Win32应用程序,没有DLL,没有ODBC,没有网络,没有.NET
希望再次看到我的可执行文件小,我感谢你的任何输入.
编辑1:原始大小= 626KB(VS6.0,VS2008)膨胀大小= 2.013KB(VS2010)
编辑2:经过一些研究和转储,我发现了一个隐藏的MFC参考.最初我说它不使用MFC,但确实如此.
所以我正在尝试编写一个可执行的.sh文件,这就是我目前正在编写它的方式:
Writer output = null;
try {
output = new BufferedWriter(new FileWriter(file2));
output.write(shellScriptContent);
output.close();
} catch (IOException ex) {
Logger.getLogger(PunchGUI.class.getName()).log(Level.SEVERE, null, ex);
}
Run Code Online (Sandbox Code Playgroud)
所以写文件就好了,但它不可执行.有没有办法在我写它时改变可执行文件的状态?
编辑:为了进一步澄清,我试图使其默认执行,因此,例如,如果您双击生成的文件,它将自动执行.
我有一台双处理器机器,我想在两个处理器上通过批处理文件启动可执行文件.
例如:(1)在处理器1上启动Notepad.exe,以及(2)同时在处理器2上启动Notepad.exe
目前,我在我的批处理文件中使用以下内容,因为我的可执行文件"难以"启动并且需要返回才能在启动时运行:echo.| DoStuff.exe
因此,我想启动它并让它在每个处理器上运行.
感谢您提供的任何反馈.
PS我不认为"start"对我有用,因为我需要将返回字符发送到可执行文件,如上所示echo.
PSS这适用于Windows XP解决方案.谢谢.
我一直在注意许多应用程序的.exe文件大小.
我看到Visual Studio 2005的.exe大小为453KB,VS2008为1.04MB,因为它们将应用程序分成许多部分(.exe +许多.dll文件).
我还看到MS Outlook有一个非常大的.exe文件(11.8MB),而MS Word非常小(398KB)!
在思考了我所看到的事情后,我留下了这些问题:
使用Automator.app和Platypus.app,我已经能够捆绑一个我创建的简单shell脚本,以便在我的MacBook Pro上重启wi-fi.两个结果应用程序都运行正常,但有一个明显的问题我想纠正:应用程序引用程序外部的shell脚本.如何嵌入shell脚本并从应用程序的资源中引用它,以便即使原始源文件被移动,应用程序也可以运行?
我试图找出Linux上是否存在程序,我发现了这篇文章.我尝试从我的go程序中执行此操作并且它一直给我一个错误,说它在我的$ PATH中找不到"命令",这是预期的,因为它是linux中的内置命令而不是二进制文件.所以我的问题是如何从go程序中执行linux的内置命令?
exec.Command("command", "-v", "foo")
Run Code Online (Sandbox Code Playgroud)
错误:exec:"command":在$ PATH中找不到可执行文件
我在Windows 10上下载了Microsoft SDK和Visual Studio 2015,并且在我的桌面上显示了文件WPCups.exe的快捷方式.它位于C:\ Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\TShell\TShell中.
有人发现它可能与IP电话有关:
这是一个CMD线路实用程序,用于测试和发送ip over usb连接.它包含在WDK中.它将连接到IPoverUSB.exe并将使用RPC与Windows手机通信.它将删除我的文档文件夹中的日志文件,您也可以看到它.
但它对我来说仍然很奇怪,部分原因是它会在我的桌面上安装一个快捷方式.VirusTotal表示它很干净,IDA的反汇编看起来就像我上面引用的响应者所说的应该这样做,但我找不到任何Windows文档,更不用说哈希值了.
在另一个论坛中,有人提到WPCups.exe通常安装了Microsoft SDK,但我找不到任何证明这一点的文档.
它叫:
ADVAPI32.dll,KERNEL32.dll,WSOCK32.dll,WS2_32.dll,msvcrt.dll,IPHLPAPI.DLL,RPCRT4.dll.
这看似合理.
我在malwr.com上运行它但是分析失败了,那个包"modules.packages.exe"启动函数引发了一个错误......我想因为未满足的依赖性?但该程序看起来即使没有IPoverUSB.exe也应该优雅地结束.
有人熟悉这个文件吗?
更新:因为找到Windows文档显然是最直接的疯狂之路:来自Brian Ward的Linux如何工作
Linux中的标准打印系统是CUPS(Linux CUPS),它与Mac OS X上使用的系统相同.CUPS服务器守护程序称为cupsd,您可以使用lpr命令作为简单客户端将文件发送到守护程序.CUPS的一个重要特性是它实现了Internet打印协议(IPP),这是一个允许TCP端口631上的客户端和服务器之类的类似HTTP的事务的系统.事实上,如果你的系统上运行了CUPS,你就可以连接到http:// localhost:631 /查看当前配置并检查任何打印机作业.大多数网络打印机和打印服务器都支持IPP,Windows也是如此,这使得设置远程打印机成为一项相对简单的任务.
您可能无法从Web界面管理系统,因为默认设置不是很安全.相反,您的发行版可能有一个图形设置界面来添加和修改打印机.这些工具操纵配置文件,通常位于/ etc/cups中.通常最好让这些工具为您完成工作,因为配置可能很复杂.即使您遇到问题并需要手动配置,通常最好使用图形工具创建一台打印机,以便您可以从哪里开始.
许多打印机,包括几乎所有低端型号,都不了解PostScript或PDF.为了使Linux能够支持其中一台打印机,它必须将文档转换为特定于打印机的格式.CUPS将文档发送到光栅图像处理器(RIP)以生成位图.RIP几乎总是使用Ghostscript(gs)程序来完成大部分实际工作,但它有点复杂,因为位图必须符合打印机的格式.因此,CUPS使用的打印机驱动程序请参阅特定打印机的PostScript打印机定义(PPD)文件,以确定分辨率和纸张尺寸等设置.
那么,点Linux?
我使用 jupyter notebook 在 python 中编写了一个代码,我想生成该程序的可执行文件。