您好,我正在尝试使用可执行文件的名称和用法字符串,我用于argv[0]此目的,但它不是可执行文件本身的名称,而是为我提供了它的完整路径。
有没有办法只获取可执行文件名称?
所以我有这样的代码
int main(int argc, char* argv[])
{
string outputUrl ;
string outputContainer ;
string outputUserName ;
for(int i = 0 i>=argc; i+2){
switch(argv[i]){ //C2450
case "-server" : {outputUrl += (argv[i+1]);} break; //C2051
case "-container" : {outputContainer = (argv[i+1]);} break; //C2051
case "-nickname" : {outputUserName += (argv[i+1]);} break; //C2051
}
}
Run Code Online (Sandbox Code Playgroud)
为什么它给我编译器错误 C2450 和下一行 C2051?如何解决这样的问题?
c++ command-line command-line-arguments visual-studio-2008 visual-studio
我正在尝试使用 databricks cli 并调用 databricks configure 这就是我从 cmd 中执行的操作
somepath>databricks configure --token
Databricks Host (should begin with https://): my_https_address
Token: my_token
Run Code Online (Sandbox Code Playgroud)
我想使用 R 调用相同的命令。所以我做了:
tool.control <- c('databricks configure --token'
,'my_https_address'
,'my_token')
shell(tool.control)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Error in system(command, as.integer(flag), f, stdout, stderr, timeout) :
character string expected as first argument
Run Code Online (Sandbox Code Playgroud)
我该如何纠正?
编辑:尝试评论中的建议后,我收到此错误:
Databricks Host (should begin with https://): Aborted!
'https:' is not recognized as an internal or external command,
operable program or batch file.
'my_token' is not recognized as an internal or …Run Code Online (Sandbox Code Playgroud) I am not familiar with perl. I am reading an installation guide atm and the following Linux command has come up:
perl -p -i -e "s/enforcing/disabled/" /etc/selinux/config
Run Code Online (Sandbox Code Playgroud)
Now, I am trying to understand this. Here is my understanding so far:
-e 只允许执行以下内容
-p 将我跟在 -e 之后的命令放入一个循环中。现在这对我来说很奇怪,对我来说这个命令似乎是想说:将“s/enforcing/disabled/”写入/etc/selinux/config。再说一次,“写入”命令在哪里?这个 -i(内联)有什么用?
我在尝试将单个类文件编译为可执行文件时遇到问题。这只是一个 .cs 文件,带有一个像这样简单的 hello world
using System;
using System.Diagnostics;
using System.Linq;
using System.Linq;
namespace Q3J1G0HFP7EXE58
{
class Program
{
static void Main(string[] args)
{
Console.Title = "First Attempt";
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我将如何从命令行将其编译为 .exe 文件?或者我需要执行什么过程才能将其放入 .exe 文件(全部来自命令,如 pref)。3rd 方程序是一个受欢迎的建议,我曾尝试使用 csc 方法,但它不能仅用于类文件。
它将是自动生成的代码,然后我想将其编译为与将代码写入文件的程序分开的程序。写入可执行文件被认为是一个完全自动化的过程,但编译正在成为一个问题。
我尝试遵循本指南:https : //xgboost.readthedocs.io/en/latest/build.html 但我收到了这些错误消息。任何见解?
(base) MacBook-Pro-2:~ Prajnajiang$ pip3 install xgboost 使用缓存的 xgboost-1.0.2.tar.gz (821 kB) 错误:命令出错,退出状态 1:命令:/Users/apple/opt /anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5y/6cyzpgbx7895mzf3wfvryvrr0000gn/T/pip-install-quq3h_3t/xgboost/setup.py'"'"'; file ='"'"'/private/var/folders/5y/6cyzpgbx7895mzf3wfvryvrr0000gn/T/pip-install-quq3h_3t/xgboost/setup.py'"'"';f=getattr(tokenize, '"'"'open' "'"', open)( file );code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"-DUSE_OPENMP=0 ./xgboost/build-python.sh: line 27: cmake: command not found 回溯(最近一次调用):文件“”,第 1 行,文件“/private/var/folders/5y/6cyzpgbx7895mzf3wfvryvrr0000gn /T/pip-install-quq3h_3t/xgboost/setup.py”,第 42 行,在 LIB_PATH = libpath'find_lib_path' 文件“/private/var/folders/5y/6cyzpgbx7895mzf3wfvryvrr0000gn/T/pip-install3_txgbost /libpath.py”,第 50 行,在 find_lib_path '候选列表:\n' + ('\n'.join(dll_path))) XGBoostLibraryNotFound:在候选路径中找不到 XGBoost 库,您是否安装了编译器并运行构建.sh 在根路径中?候选列表:/private/var/folders/5y/6cyzpgbx7895mzf3wfvryvrr0000gn/T/pip-install-quq3h_3t/xgboost/xgboost/libxgboost。
在编写一个小的 Python 脚本时,我注意到当字符串"????"作为命令行参数传递时,它会"data"在程序执行期间转换为。现在,我不确定这是字符串还是其他类型的数据类型。考虑到搜索词,查找这方面的信息很棘手。
为什么会发生这种情况,这意味着什么?
我在ansible中有以下测试代码:
- shell: who am i
register: w
- debug:
msg:
- "{{ w }}"
Run Code Online (Sandbox Code Playgroud)
它产生空标准输出,如下所示:
ok: [10.20.30.40] => {
"msg": [
{
"changed": true,
"cmd": "who am i",
"delta": "0:00:00.003400",
"end": "2021-02-02 21:19:50.454729",
"failed": false,
"rc": 0,
"start": "2021-02-02 21:19:50.451329",
"stderr": "",
"stderr_lines": [],
"stdout": "",
"stdout_lines": []
}
]
}
Run Code Online (Sandbox Code Playgroud)
该命令适用于某些服务器,但不适用于其他服务器。我无法弄清楚有什么区别。我只能猜测它与终端信息有关。当我以交互方式输入“我是谁”命令时,我得到了预期的结果。
我还注意到“who”命令中 ssh 的其他奇怪行为:
$ ssh myhost who # who outputs nothing
$ ssh myhost who am i # who am i outputs nothing
$ ssh myhost whoami …Run Code Online (Sandbox Code Playgroud) 我如何更改特定行的此文本
假设我想更改第 50 行,并且我想更改“user”之后的 8 个字母: 就像下面我加粗的例子
第 50 行“用户”:“ 9077c266 -8944-11eb-a9d1-fa163e4be1a2”
假设我有一个使用 make 安装的 python 项目。我希望无需先安装即可运行该项目。所以我创建了这个 make 规则:
run:
@echo "Running projectname"
@PYTHONPATH=${PYTHONPATH}:$(abs_srcdir)/..; ./projectname
Run Code Online (Sandbox Code Playgroud)
Where./projectname运行一个简单的 python 脚本来设置和运行项目,但这在这里并不重要。像这样,我可以简单地make run在项目的根文件夹中执行来执行和测试我的应用程序,它工作得很好。现在,我想将一些命令行参数传递给程序。我试过了make run --help,它只是打印了make帮助文本。运行make run -- --help打印
run:
@echo "Running projectname"
@PYTHONPATH=${PYTHONPATH}:$(abs_srcdir)/..; ./projectname
Run Code Online (Sandbox Code Playgroud)
应用程序运行,在我退出后,make尝试执行一个 target --help。
现在,我如何通过例如将--help参数传递给我的应用程序make?
command-line ×10
arguments ×2
shell ×2
ansible ×1
c ×1
c# ×1
c++ ×1
class ×1
cmd ×1
compilation ×1
databricks ×1
installation ×1
macos ×1
makefile ×1
perl ×1
python ×1
python-3.x ×1
r ×1
sentinel ×1
sh ×1
ssh ×1
unix ×1
xgboost ×1