我正在尝试创建一个非常简单的程序,它包含两个.c文件 - main.c和foo.c.
目标是链接这两个文件,并将参数传递给main.c方法,然后调用foo.c文件中的方法foo().
main.c的代码是:
#include <stdio.h>
#include "foo.h"
int main(int argc, char *argv[]) {
foo(argv[1]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
和foo.c是:
#include <stdio.h>
#include "foo.h"
void foo(char *input[]) {
printf("Welcome, %s\n", input);
}
Run Code Online (Sandbox Code Playgroud)
我还有一个头文件,foo.h,它只有一行:void foo(char*input []);
当我尝试使用构建和运行文件时
gcc -o main main.c foo.c foo.h
Run Code Online (Sandbox Code Playgroud)
我收到了错误
main.c: In function ‘main’:
main.c:6:2: warning: passing argument 1 of ‘foo’ from incompatible pointer type [enabled by default]
foo(argv[1]);
^
In file included from main.c:2:0:
foo.h:1:6: note: expected ‘char **’ but argument is of type ‘char *’ …Run Code Online (Sandbox Code Playgroud) 安装了Homebrew,ruby 2.0.0p648,nokogiri 1.6.7.2.当需要'nokogiri'时出现错误:
-bash: require: command not found
Run Code Online (Sandbox Code Playgroud)
怎么了?
我是脚本语言的新手,我有一个任务,说我需要从erl命令行中的给定参数中提取名称.
我这样调用Perl脚本
./perl.plx file.txt
Run Code Online (Sandbox Code Playgroud)
我只需得到那个file名字,而不是整个名字file.txt
#include<stdio.h>
int main(int argc,char *argv[]) {
printf("%c",++**++argv);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
假设传递的命令行参数是:
./a.out one two three
Run Code Online (Sandbox Code Playgroud)
输出是:
p
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下发生了什么吗?
当我输入perl任何命令提示符(当然在系统上安装了Perl)时,没有真正发生的事情.perl在命令提示符下使用有什么意义?与,和命令不同python,它似乎无能为力.luaruby
如果它确实做了什么,它是什么,你如何使用它?
不熟悉java编程和初学者,特别是看看命令
public static void main(String[] args)
什么public static void意思?什么术语args意味着什么?
我做了一个简单的测试程序来玩C++ 11线程.
#include <iostream>
#include <stdlib.h>
#include <thread>
using namespace std;
void tee(int civ)
{
for(int loop=0; loop<19; loop++, civ++)
{
civ = civ%19;
cout << loop << "\t" << civ << endl;
this_thread::sleep_for(chrono::milliseconds(300));
}
}
void koot()
{
while(true)
{
cout << ":) ";
this_thread::sleep_for(chrono::milliseconds(300));
}
}
int main(int argc, char *argv[])
{
thread saie(tee, atoi(argv[1])),
kamaa(koot);
saie.join();
kamaa.join();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
只要我提供命令行参数,它就可以正常工作,但如果我不提供,它会崩溃.怎么解决这个问题?我尝试检查参数计数,如果它们存在,则无济于事.
编辑:我不得不添加这一行:
if(argc < 2) return 1;
Run Code Online (Sandbox Code Playgroud)