有没有办法计算可执行文件的准确执行时间?
具体来说,我正在寻找一种可用于对使用 Matlab 编译的可执行文件进行计时的方法。我指的不是tic,toc。
我想制作一个Android应用程序,第一个将下载 androidtcpdump二进制文件,第二个将执行它。文件已成功下载,但无法设置可执行文件:
try
{
File file = new File( "/sdcard/tcpdump" );
if ( file.exists() )
{
Runtime.getRuntime().exec( new String[]{ "su", "-c", "chmod 777 /sdcard/tcpdump" } );
}
}
catch ( Exception e )
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我有一个正在调用外部可执行文件的 PowerShell 脚本,并且我想抑制由此产生的任何错误。如何才能实现这一点。使用 PowerShell cmdlet,我可以使用 的标准-ErrorAction参数SilentlyContinue,但这是一个外部可执行文件:
someExe --argument
Run Code Online (Sandbox Code Playgroud) 目标:
研究:
代码片段:
#!/bin/bash
#SBATCH --job-name LEBT
#SBATCH --partition=angel
#SBATCH --nodelist=node38
#SBATCH --sockets-per-node=1
#SBATCH --cores-per-socket=1
#SBATCH --time 00:10:00
#SBATCH --output LEBT.out
# the slurm module provides the srun command
module load openmpi
srun -n 1 ./LU.exe -i 100 -s 100 &
srun -n 1 ./BT.exe &
wait
Run Code Online (Sandbox Code Playgroud)
手册页:
[srun]-->[https://computing.llnl.gov/tutorials/linux_clusters/man/srun.txt]
[mpirun]-->[https://www.open-mpi.org/doc/v1.8/man1/mpirun.1.php]
Run Code Online (Sandbox Code Playgroud) 我正在研究 PE(可移植可执行文件)格式,但我发现用 MinGW 和 MSVC 编译的 C++ 程序之间存在差异:
这是“此程序无法在 DOS 模式下运行”之后和“PE”魔术签名之前的一些额外字节。有人知道这是什么以及为什么有“Rich”这个词吗?
我用 cabal 在 haskell 中构建了一个应用程序。我可以通过在命令提示符中输入“cabal run [cabal file]”来运行可执行文件。现在我想与我的朋友分享这个应用程序,并且最好不必在他们的计算机上安装 cabal。我可以在构建目录中找到该项目的 .exe 文件,但它不会加载程序附带的 .txt 文件。.exe 文件还会在运行时打开终端,当我使用 cabal 运行它时,它不会这样做(就像它应该做的那样)。这告诉我缺少了一些东西,因此我无法单独共享 .exe。在没有安装 cabal 或 ghc 的情况下运行应用程序的解决方案是什么?
结论是:
为了真正了解导入某些软件包的额外重量,还必须查看该 pkg 的所有子依赖项。
这是完全可以理解的。我的问题是,
无论如何,我是否可以知道每个组件在我编译的二进制文件、Go 运行时、依赖项和子依赖项包以及我自己的代码中占用了多少空间。
我隐约记得以前读过类似的东西(当 go 增强它的链接器时)。
如果以前从未有过这样的讨论,那么 go 甚至 c 链接器有什么方法可以查看我编译的二进制文件,并揭示一些我可以进一步解析的内容?
一直试图将这个IronPython程序编译成一个工作的.exe,过去3-4个小时没有运气.
我正在使用"IronPython 2.6 for .NET 4.0"附带的pyc.py
D:\IronTestCompile>ipy pyc.py file1.py file2.py /out:Program /main:program.py /target:exe
该程序编译为Program.dll和Program.exe但Program.exe无法运行.
我用它作为指南:
我开始工作的非常简单的'HelloWorld'程序,但是我的更复杂的程序失败了.我认为我的复杂程序无法按编译运行,因为它缺少DLL?
从IronPython目录中,我复制了编译所需的所有必需的DLL(Microsoft*.dll,IronPython*.dll)以及运行编译的HelloWorld.exe的运行时先决条件.
我怎么能弄清楚为什么我的.exe不能运行?或者,如何确定需要将哪些.NET DLL文件包含在目录中?(假设我必须将所有.NET DLL放在.exe目录示例中C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll -> D:\IronTestCompile?)
我在程序目录中唯一的DLL是:
Microsoft.Scripting.dll
IronPython.dll
IronPython.Modules.dll
Microsoft.Dynamic.dll
Run Code Online (Sandbox Code Playgroud)
我没有Microsoft.Scripting.Core.dll或Microsoft.Scripting.ExtensionAttribute.dll 导致我运行IronPython 2.6 for .NET 4.0
我应该有更多.dll吗?我的IronPython程序使用System.Windows.Forms以及其他一些...
谢谢你的帮助.
目标是编译这个程序并获取zip文件中的所有.DLL,以便我的兄弟可以解压缩并在他的comp上运行它,但截至目前我甚至无法在我自己的comp中运行它!有任何想法吗?
编辑:所以我弄清楚出了什么问题(请参阅下面的答案)但是现在我尝试在另一台计算机上运行应用程序时会得到这个可爱的弹出窗口:
Dang,现在我在尝试在另一台机器上运行app时遇到此错误.
要运行此应用程序,首先必须安装以下版本的.NET Framework之一:
v4.0.30319
不知道有没有办法解决这个问题.
编辑:我的修复是,我的兄弟有.NET 3.5所以我在另一台运行.NET 3.5的IronPython机器上重新编译它
我听说如果我们在EXE文件的末尾附加一些字节,它仍然可以正常工作.在所有情况下都是如此吗?这是一种安全的方式吗?
我打算使用程序执行文件中的数据编写演示,因此它可以是安全的(至少对于普通用户而言)并且我不必在其他任何地方存储数据.
我有一个简单的程序,argv逐个字符打印,我想传递回车('\r' 或ASCII#0x0D)作为程序参数.如何在linux OS(Ubuntu)中实现这一目标?我正在使用bash.
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]) {
int i;
for(i = 1; i < argc; i++) {
char* curr = argv[i];
while(*curr != '\0') {
printf("[%c %x] ", *curr, *curr);
curr++;
}
printf("\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
假设我们的可执行程序被调用test,如果输入是:
./test hi
Run Code Online (Sandbox Code Playgroud)
然后我们得到
[h 68] [i 69]
Run Code Online (Sandbox Code Playgroud)
或者如果我想打印换行符,我用命令执行程序:
./test '[Enter Pressed]'
Run Code Online (Sandbox Code Playgroud)
然后我们得到
[
0a]
Run Code Online (Sandbox Code Playgroud)
我应该为程序参数键入什么,以便打印出回车符?或者更常见的是键盘不支持的任何ASCII字符?
executable ×10
.net ×1
android ×1
ascii ×1
binary ×1
byte ×1
cabal ×1
chmod ×1
compilation ×1
dependencies ×1
dll ×1
exe ×1
file ×1
go ×1
haskell ×1
ironpython ×1
linker ×1
matlab ×1
mpi ×1
powershell ×1
runtime ×1
sbatch ×1
share ×1
slurm ×1