标签: command-line

如何打印 X86-64 程序集中命令行参数的数量?

我正在尝试打印 x86-64 中的汇编程序中存在的命令行参数的数量。

据我了解,参数信息存储在堆栈中。

我觉得我缺少一些关于如何检索堆栈中存储的项目的基本知识,但我不知道到底是什么。

在此输入图像描述

.file "args.s"

.globl main
.type main, @function

.section .data
format_string:
  .string "Argument: %s\n"

.section .text
main:
  pushq %rbp
  movq %rsp, %rbp

  popq %rsp                   ; get argc
  movq %rsp, %rdi             ; move argc to rdi, first parameter register
  movq $format_string, %rdi   ; pass in the string to be used and give the parameter
  call printf                 

  leave
  ret
.size main, .-main 
Run Code Online (Sandbox Code Playgroud)

assembly stack command-line x86-64

1
推荐指数
1
解决办法
200
查看次数

为什么在 C# 中向可执行文件传递参数时没有 argc?

例如,如果我们将命令行参数传递给 C 可执行文件,它将传递参数计数 ( argc) 和参数数组 ( argv[])。但在 C# 中,如果我们将参数传递给可执行文件,它将仅传递参数数组 ( args[]),而不传递参数计数 ( argc)。

信息是否以相同的方式发送到Main()函数,然后由编程语言解析?或者操作系统正在做这一切?

c c# command-line command-line-arguments

1
推荐指数
1
解决办法
99
查看次数

使用pip安装python模块

我在Python 3.4中安装igraph时遇到问题

在Python命令(c:\ Python34\python.exe)中我键入:

python -m pip install igraph
Run Code Online (Sandbox Code Playgroud)

我得到以下回报:

File "<stdin>", line 1

python -m pip install igraph
            /\
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python command-line pip

0
推荐指数
1
解决办法
2165
查看次数

websphere - CWWKE0054E错误无法打开文件

我正在尝试从命令行运行websphere liberty配置文件服务器.我按照这里告诉的步骤操作:https://developer.ibm.com/wasdev/downloads/liberty-profile-using-non-eclipse-environments/

我创建了名为server1的服务器.

但是当提取完成并且我尝试使用命令启动服务器时: server start server1

服务器抛出错误:CWWKE0054E: Unable to open file C:\wlp\wlp\usr\servers\server1\logs\C:\Users\Furquan\AppData\Local\Temp\\ihp_custom_batches.log..现在我知道这不是一条有效的道路,但我不知道在哪里以及如何改变它.请帮忙 !!

java websphere command-line websphere-liberty server

0
推荐指数
1
解决办法
900
查看次数

如何从C的命令行读取星号(*)作为参数

我已经编写了一个代码来执行简单的算术运算,并从命令行获取输入。因此,如果要进行乘法运算,可以在终端中键入“ prog_name 2 * 3”,该终端应输出“ Product:6”。

问题是,除乘法外,所有运算都有效。经过一些测试,我发现用于获取运算符的第三个参数(argc [2])实际上是在存储程序名称。那么我该如何做呢?

这是代码:

#include <stdio.h>
#include <stdlib.h>

void main(int argc, char *argv[])
{
    int a, b;
    if(argc != 4)
    {
        printf("Invalid arguments!");
        system("pause");
        exit(0);
    }
    a = atoi(argv[1]);
    b = atoi(argv[3]);
    switch(*argv[2])
    {
        case '+':
            printf("\n Sum : %d", a+b);
            break;
        case '-':
            printf("\n Difference : %d", a-b);
            break;
        case '*':
            printf("\n Product : %d", a*b);
            break;
        case '/':
            printf("\n Quotient : %d", a/b);
            break;
        case '%':
            printf("\n Remainder: %d", a%b);
            break;
        default:
            printf("\n …
Run Code Online (Sandbox Code Playgroud)

c command-line

0
推荐指数
1
解决办法
907
查看次数

理解Perl单线程

我正在研究一种检查AIX上进程内存使用情况的方法,并找到了这个页面,列出了这个命令:

# svmon -Pt15 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'
Run Code Online (Sandbox Code Playgroud)

它适用于我的目的,但我想了解Perl单线器部件的工作原理.

我知道它正在解析svmon命令的输出.我已经理解了$.==2输出第二行的部分.该部分$.=0重置行号,以便它可以对列出的每个进程执行相同的处理svmon.

但是我无法理解这部分内容||$&&&!$s++.有OR.$&是匹配的部分(什么?)和&&是AND运算符,但我不确定我是否正确分解它.

svmon返回(没有任何重定向)每个进程的类似行块.第一行类似于:

# svmon -Pt15 | head -n 20

-------------------------------------------------------------------------------
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB
12058652 java            579432     8261   397386   824106      Y     Y     N

     PageSize                Inuse        Pin       Pgsp    Virtual
     s    4 KB               67560        309       1610      40138
     m   64 KB               31992        497      24736      48998

    Vsid      Esid Type Description              PSize  Inuse …
Run Code Online (Sandbox Code Playgroud)

perl aix command-line process

0
推荐指数
1
解决办法
253
查看次数

通过命令行在MySQL(Windows 8.1)上安装"Employees Sample Database"

我试图MySQL通过命令提示符安装'Employees示例数据库' .我已下载了employees_db-full-1.0.6.tar.bz2.我提取了相同内容并希望通过命令行安装它.我正在使用一Windows8.1台机器.

请帮助我使用正确的命令或任何其他方式(如果有的话).MySQL网站上的命令适用于Linux机器.它不适用于Windows.请帮忙.提前致谢.

mysql windows command-line install sample

0
推荐指数
1
解决办法
1702
查看次数

PHP-CLI 5.4 - GOTO替代方案

我正在开发一个PHP-CLI(PHP 5.4+)应用程序,并且我需要分配邪恶的goto.

例:

<?PHP

// I use PHP  League CLImate and I load it here
/*
 *
 * Many lines of different code and output
 *
 */

MAIN_MENU:
// Some checks which will affect menu below
$climate->clear();
$climate->white("1. Eat sandwich");
$climate->white("2. Eat apple");
$input = $climate->white()->input('Lets go and:');
$input->accept([1, 2]);
$option = $input->prompt();
switch ($option) {
    case 1:
        // Eat sandwich and show output
        // Show some more output
        // Pause a bit
        GOTO MAIN_MENU;

    case 2:
        // …
Run Code Online (Sandbox Code Playgroud)

php command-line goto

0
推荐指数
1
解决办法
207
查看次数

robocopy无效参数“-”

我正在尝试完成我的批处理脚本,但是在某些情况下它会失败。

这是我正在运行的命令:

ROBOCOPY "C:\test\dash2\Hello - 4\" "C:\test\dash2\Hello - 4\..\" /MOV
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Mon May 11 01:28:46 2015

   Source - C:\test\dash2\Hello - 4" C:\test\dash2\Hello\
     Dest -

    Files :
  Options : /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

ERROR : Invalid Parameter #2 : "-"
Run Code Online (Sandbox Code Playgroud)

我确实用双引号括住了源和目标。但是根据ROBOCOPY日志,源和目标似乎是错误的

编辑

似乎认为空格是分隔符,因此将“-”视为第二个参数。

windows command-line cmd batch-file

0
推荐指数
1
解决办法
5254
查看次数

mkdir和mkdir -p之间的区别是什么

我尝试使用mkdir在我的本地git仓库中创建文件夹.它不起作用,但 mkdir -p有效.

为什么?

我顺便使用Mac OS.我检查了mkdir -p的定义.但我还是不太明白.

unix command-line

0
推荐指数
1
解决办法
1384
查看次数