我的工作场所使用MATLAB和子产品Simulink,Realtime workshop(RTW),RTW Embedded Coder.我们有一个大型的simulink模型,它被编译成C然后到一个目标文件,以便加载到嵌入式目标上.整个编译过程需要大约3小时,这很长,主要是从simulink模型生成的C文件的编译和链接.
删除一个特定子系统会将编译时间缩短到30分钟,并且由于此子系统不会经常更改,我计划在C中编码,然后在MEX中编码,并在主模型中使用MEX文件.
该技术会缩短编译时间吗?我应该研究另一种技术吗?
编辑:我认为解决方案将是粗略的:从违规子系统生成C将此编译为某种对象,库将其包含在模型中(但我对模拟不感兴趣,它只有输入)在构建中包含此内容进程,可能是在编译其余代码后进行链接
我有一个冗长的詹金斯工作,失败的后期构建操作.
如何在不重新运行整个作业的情况下重复运行构建后操作?
我有一个调用 Windows GUI 应用程序的批处理文件。GUI应用程序将其输出(无论如何有趣的位)写入它自己的GUI显示而不是标准输出,但是我希望它显示在运行批处理文件的cmd窗口中。
值得庆幸的是,该应用程序可以选择将输出写入文件,因此我需要将其重定向到标准输出。在 *nix 中,我会给出/dev/stdout要写入的文件,但是在 Windows/cmd 中呢?
我有一个调用各种命令的批处理文件,其中一些命令偶尔会由于网络问题而失败。重试该命令通常会成功。
如何自动重试命令,直至达到设定的尝试次数?
这是一些旨在进一步解释的伪代码
call:try numTries "command and arguments"
exit
:try
REM execute %2, trying upto %1 times if it fails
%1 = %1 -1
eval %2
if %errorlevel%==0 exit \B
if %1 > 0 goto try
exit \B
Run Code Online (Sandbox Code Playgroud) 以下perl代码在PerlCritic中生成警告(由Activestate生成):
sub natural_sort {
my @sorted;
@sorted = grep {s/(^|\D)0+(\d)/$1$2/g,1} sort grep {s/(\d+)/sprintf"%06.6d",$1/ge,1} @_;
}
Run Code Online (Sandbox Code Playgroud)
生成的警告是:
不要在列表函数中修改$ _
我不明白警告,因为我不认为我正在修改$ _,虽然我想我一定是.有人可以向我解释一下吗?
我正在尝试编写一个findstr使用subversion查找本地和远程修改文件的正则表达式.鉴于下面的示例输出,我想匹配那些以'M'作为第一个或第二个字符的行.还会有其他人,但这是我的出发点.
C:\Documents and Settings\user\Desktop\code>svn status --show-updates .
X Core
* 4069 D3_Version.m
Status against revision: 4184
Performing status on external item at 'Core'
M 4184 Core\IE_Unexport_Signals.m
X Core\2010
M 4184 Core\images
M 4184 Core
Status against revision: 4184
Performing status on external item at 'Core\2010'
Status against revision: 4184
Run Code Online (Sandbox Code Playgroud)
我的正则表达式如下:svn status --show-updates . |findstr "^[M]"它给出:M 4184 IECore\IE_Unexport_Signals.m
这只会在第一列中选择M. 修改为拾取第二列导致无输出:svn status --show-updates . |findstr "^[ M][ M]"
这似乎是由于字符类中的空格.阅读我应该/C:用来将空间解释为文字的文档,但这会将所有字符作为文字,因此正则表达式将不起作用.用"\"转义空间也行不通.
如何匹配那些以'M'作为第一个或第二个字符的行?
我有一个庞大的Perl脚本(超过1500行)需要大约8个小时才能运行.
它从HTML生成SQL,然后导入到网站中.基本上它将整个论坛逆向工程化为一个新的论坛(我已获得许可).
该脚本在每次解析未经过多年改变的HTML时从头开始运行,然后将其作为哈希数组存储在内存中,直到所有HTML都被解析,生成SQL.
我希望将上次结果预先加载到内存中然后只处理更改,但是如何才能完成?
以下perl sub用于存储哈希数组.首先使用给定密钥检查要存储的每个哈希的唯一性,如果阵列上存在具有相同键值的哈希则不存储它.
这个perl sub如何针对速度进行优化?
使用示例:
my @members;
...
$member= {};
$hash->{'name'}='James';
hpush('name', \@members,$member);
Run Code Online (Sandbox Code Playgroud)
子:
sub hpush {
# push a set of key value pairs onto an array as a hash, if the key doesn't already exist
if (@_ != 3) {
print STDERR "hpush requires 3 args, ".@_." given\n";
return;
}
my $uniq = shift;
my $rarray = shift;
my $rhash = shift;
my $hash = ();
#print "\nHash:\n";
for my $key ( keys %{$rhash} ) {
my $valuea …Run Code Online (Sandbox Code Playgroud) 我有一个fortran程序,我想从php调用一些从php通过网站传递的参数.
我已经设置了php表单,但我不知道如何将信息发送给fortran.目前,信息通过提示输入到fortran程序:
write(\*,'("give input image name:",$)')
read(\*,\*) iminput
Run Code Online (Sandbox Code Playgroud)
所以我想发送一个数组,或类似的东西,所以我可以
CHARACTER(LEN=*) :: iminput
iminput = post(1)
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
batch-file ×3
perl ×3
performance ×2
c ×1
cmd ×1
fortran ×1
ipc ×1
jenkins ×1
matlab ×1
mex ×1
natural-sort ×1
perl-critic ×1
php ×1
send ×1
simulink ×1
svn ×1