zoukankan      html  css  js  c++  java
  • ARGV数组的作用

      今天在开发Perl脚本的时候遇到了一个问题:qualcomm给出的samples中的代码都用ARGV数组的元素个数来进行判断,代码如下:

    sub ParseArguments
    {
       # Assume failure
       my $RC = false;
       my $Txt = "";
       my $Help =
          "Syntax: Perl grep_isf.pl <Input_ISF_File.isf> <string_to_be_searched> 
    "
        . "Eg:     Perl grep_isf.pl s1.isf "MC_RESET|jammer in max bin" 
    ";
    
       if ($#ARGV < 0)
       {
          print "
    $Help
    ";
          return $RC;
       }
    
       my $ISFFileName = $ARGV[0];
       if ($ISFFileName eq "")
       {
          $Txt = "Invalid ISF file name
    
    " . $Help;
          print "
    $Txt";
    
          return $RC;
       }
    
       $ISFAbsolutePath = GetPathFromScript();
       if ($ISFAbsolutePath eq "")
       {
          $Txt = "Invalid ISF file name
    
    " . $Help;
          print "
    $Txt";
    
          return $RC;
       }
       else
       {
          $ISFAbsolutePath .= $ISFFileName;
       }
    
       $SearchString = $ARGV[1];
       if ($SearchString eq "")
       {
          $Txt = "Invalid Search String
    
    " . $Help;
          print "
    $Txt";
    
          return $RC;
       }
    
       # Success
       $RC = true;
       return $RC;
    }

    但是穷尽了一生也没有找到ARGV的声明,这时候郭宏跑过来和我抱怨这个东西运行不了,我就随手查了查,才发现别有洞天。

    ARGV其实是主函数默认的两个参数之一,数组中存储的是指令的详细内容。

    举个例子: 我们写好了hello.exe 一般都是直接运行,没有添加任何的参数。但是作为一个合格的EXE,它是可以通过命令行来添加参数的,比如我们可以执行:hello.exe a b c d e

    这样ARGV数组中的存储内容如下:

                   argv[0] = hello.exe;

        argv[1] = a;

        argv[2] = b;

        argv[3] = c;

        argv[4] = d;

        argv[5] = e;

     所以我觉得这个automation 脚本和QXDM之前的关系应该是通过命令行的参数和命令联系起来的。下午再想想,吃饭去

    大多数想法要么平庸,要么更糟糕,这很大程度上因为绝妙的想法难得一见,而且他们还要在我们身边这个充斥了各种恶俗的所谓常识的环境中孕育生长。
  • 相关阅读:
    SQL 基础题。
    C# 多维数组.
    C# 泛型相关.
    C# 委托数组.
    ActiveX的数字签名
    Asp.Net Html标记替换.感谢个热心人。弄了好久.
    关于TableLayoutPanel里放入控件无法将Dock设为Fill的解决办法
    服务器×××上的MSDTC不可用解决办法
    vista home下运行asp.net2.0 程序环境配置
    麦克风的调节
  • 原文地址:https://www.cnblogs.com/linux0537/p/7267734.html
Copyright © 2011-2022 走看看