是的,可怕的'M'字.
你有一个工作站,源代码控制和你没写过的50万行源代码.文档在批准和发布时已经过时了.最初的开发人员是LTAO,在下一个项目/启动/疯狂垃圾箱,而不是回复电子邮件.
你会怎样做?
{最喜欢的编辑器}和Grep将通过代码库的粗糙内容开始你的洞察,但维护工程师工具箱中应该有哪些其他工具?
开始滚球; 我认为没有C/C++洞穴探险的源头洞察力我就无法生存.(免责声明:我不为他们工作).
我负责的应用程序的部分安装,编译一些C代码库.这是在使用GNU Make的控制台中完成的.
因此,作为安装的一部分,控制台窗口弹出打开,您在编译和链接时看到make文件输出,完成后控制台窗口关闭并且安装程序继续.
一切都很好,除非有编译错误.然后,在您有机会弄清楚发生了什么之前,make文件会出错并且控制台窗口关闭.
所以,我想要发生的是让控制台窗口暂停,按下"按键继续"类型功能,如果makefile出错,那么控制台保持打开状态.否则,只需正常退出并关闭控制台.
我无法弄清楚如何在GNU Makefile中或从可以运行Make的批处理文件中执行此操作.
给定范围 A..B 和值 K,返回范围内可被 K 整除的值的数量。
给出的例子是 A = 6, B = 11 和 K = 2。在 6 到 11 的范围内,能被 2 整除的数是 6、8 和 10,所以答案是 3。所需的解决方案必须是 O(1) - 所以需要一个简单的计算。
您可以假设 A 和 B 的范围是 0..2,000,000,000,K 是 1..2,000,000,000 并且 0 <= A <= B。
得分为 100% 的公认解决方案如下:
int solution(int A, int B, int K)
{
int inclusive = ((A%K)==0) ? 1 : 0;
return (B/K) - (A/K) + inclusive;
}
Run Code Online (Sandbox Code Playgroud)
我感到困惑的是,当我使用输入 A=0、B=0 和 K=1 测试此解决方案时,结果是 1?我原以为在 …
我试图用来plink在COM9上打开串行端口连接。
使用PuTTYI可以在COM9上打开串行连接,并且我已经为该串行连接保存了会话。
COM PORT设置为:
当我尝试使用plink而不是时PuTTY,出现以下错误:
$ plink -serial COM9 -sercfg 115200,8,1,N,N
Unable to open connection:
Unable to open serial port
Run Code Online (Sandbox Code Playgroud)
但是,如果我将保存的PuTTY会话用于COM9,那么它将起作用!
!plink -load COM9
help
help connect Create connection
help disconnect Close existing connection
.
.
Run Code Online (Sandbox Code Playgroud)
但是,我不能使用保存的会话,因为我的目的是plink与Expect一起使用,以通过串行连接的设备自动进行测试,并且将在不同的计算机和不同的COM端口上。
我想(需要)从检查某些环境变量的perl脚本启动一个子进程.在一个实例中,环境变量需要存在但是为空.
$ENV{"GREETING"} = "Hello World"; # Valid
$ENV{"GREETING"} = ""; # also valid
Run Code Online (Sandbox Code Playgroud)
我可以设置$ ENV {"GREETING"} =""; 在那个perl脚本中,$ ENV {"GREETING"}是空的,但在任何子流程中,环境变量都不存在.
这是一些示例代码来演示.这个脚本env_in.pl设置了一些环境变量,ZZZ_3为空.然后它调用env_out.pl来输出环境变量,输出中缺少ZZZ_3.
#!/usr/bin/perl
# env_in.pl
use strict;`enter code here`
use warnings;
$ENV{ZZZ_1} = "One";
$ENV{ZZZ_2} = "Two";
$ENV{ZZZ_3} = "";
$ENV{ZZZ_4} = "Four";
my (@cmd) = ("perl", "env_out.pl");
system(@cmd) == 0 or die "system @cmd failed: $?";
Run Code Online (Sandbox Code Playgroud)
这是env_out.pl脚本.
#!/usr/bin/perl
use strict;
use warnings;
print ($_," = ", $ENV{$_}, "\n") for (sort keys %ENV);
Run Code Online (Sandbox Code Playgroud)
我在WinXP盒子上使用ActiveState perl版本v5.8.8.
我知道这可以在python中工作,但我没有选择实现语言,它必须是Perl.
配置
问题
该插件映射了几个 cscope 查找函数,以使用 'CTRL-spacebar' 或 以水平或垂直拆分打开<CTRL-@>,因为这是 VIM 根据插件文档识别它的方式。这是插件的一个片段:
" Using 'CTRL-spacebar' (intepreted as CTRL-@ by vim) then a search type
" makes the vim window split horizontally, with search result displayed in
" the new window.
"
" (Note: earlier versions of vim may not have the :scs command, but it
" can be …Run Code Online (Sandbox Code Playgroud) 不要问为什么,但......
我有一个正则表达式,如果在Windows上运行需要不区分大小写但在*nix上运行时区分大小写.
这是我目前正在做的事情的一个示例片段.
sub relative_path
{
my ($root, $path) = @_;
if ($os eq "windows")
{
# case insensitive with regex option 'i'
if ($path !~ /^\Q$root\E[\\\/](.*)$/i)
{
print "\tFAIL:$root not in $path\n";
}
else
{
return $1;
}
}
else
{
# case sensitive
if ($path !~ /^\Q$root\E[\\\/](.*)$/)
{
print "\tFAIL:$root not in $path\n";
}
else
{
return $1;
}
}
return "";
}
Run Code Online (Sandbox Code Playgroud)
哎呀!重复会伤害我的强迫症,但我的perl-fu很弱.不知何故,我想使用正则表达式选项'我'的条件不敏感条件,但我现在不怎么样?