标签: program-entry-point

为什么Java中的main方法总是需要参数?

为什么Java中的main方法总是需要参数?我们为什么要String[] args每次都写,而不是在我们使用任何参数时写它?

像这样的方法会产生Main method not found编译器错误.由于我们从不对main方法使用任何参数,因此应该允许这样做.

public static void main()
{
}
Run Code Online (Sandbox Code Playgroud)

这不是面试问题.编程时我才想到它.

java program-entry-point

24
推荐指数
2
解决办法
3万
查看次数

Java中main()方法和主线程之间的关系是什么?

我的导师告诉我主线程是每个线程的父线程,但他无法解释原因.

当我写一个简单的程序时:

Class A{}
Run Code Online (Sandbox Code Playgroud)

然后它在执行时抛出异常:

java.lang.NoSuchMethodError: main Exception in thread "main"
Run Code Online (Sandbox Code Playgroud)

main()方法和主线程之间有什么关系吗?

java multithreading program-entry-point

24
推荐指数
2
解决办法
1万
查看次数

为什么main的默认返回值是0而不是EXIT_SUCCESS?

ISO 1998 c ++标准规定,在main中没有显式使用return语句等同于使用return 0.但是,如果一个实现具有不同的标准"无错误"代码-1呢?

为什么不使用标准的宏EXIT_SUCCESS将要么被替换0或者-1还是取决于执行任何其他价值?

C++似乎强制程序的语义,这不是一种语言的角色,它应该只描述程序的行为方式.此外,"错误"返回值的情况不同:只有EXIT_FAILURE标准的"错误"终止标志,没有明确的值,例如"1".

这些选择的原因是什么?

c++ standards program-entry-point return

23
推荐指数
3
解决办法
2万
查看次数

为什么Java的主要不使用变长参数列表?

我有一个关于Java main声明的语法的问题:

public static void main (String[] args)
Run Code Online (Sandbox Code Playgroud)

由于在调用main函数时可以传递可变数量的字符串,这不应该是变量长度参数列表而不是数组吗?为什么使用字符串参数列表对此方法进行命令行调用甚至可以工作?(除非有幕后处理用字符串列表构建数组,然后将该数组传递给main方法......?)主要声明不应该更像这样......? -

public static void main(String... args) 
Run Code Online (Sandbox Code Playgroud)

java program-entry-point variadic-functions

23
推荐指数
4
解决办法
6849
查看次数

从java中的main方法调用另一个方法

我有

class foo{

   public static void main(String[] args){
      do();
   }

   public void do(){}


}
Run Code Online (Sandbox Code Playgroud)

但后来当我打电话do()main通过运行以下命令java foo在命令行上,JAVA抱怨说,你不能调用从静态功能的方法.

所以我的问题是:如何从main方法调用方法,如果不可能,在使用java命令从命令行运行程序之后调用方法的替代策略是什么.

java methods static-methods program-entry-point

23
推荐指数
4
解决办法
25万
查看次数

为什么C++中的main()没有重载使用std :: string?

我试图使用main()函数参数创建一个通过命令行获取参数的程序.作为一个(基本的)C++程序员(即使我非常熟悉C风格的指针和数组),我几乎没有使用过char*字符串和C数组.我花了一些时间来接受main()论证并将其转换为std::string......所以问自己:为什么在C++中main()函数不会超载std::vector<std::string> argv而不是旧的char* argv[]

对于"重载",我的意思是main()函数的共存,int main()int main(int argc, char *argv[])不是程序员对正常函数的重载.

c++ program-entry-point command-line-arguments

23
推荐指数
2
解决办法
3551
查看次数

为什么Rust在main函数中没有返回值,以及如何返回值呢?

在Rust中,main函数定义如下:

fn main() {

}
Run Code Online (Sandbox Code Playgroud)

但是,此函数不允许返回值.为什么一种语言不允许返回值,是否有办法返回一些东西?我是否能够安全地使用C exit(int)功能,否则会导致泄漏等等?

program-entry-point return rust

23
推荐指数
5
解决办法
8176
查看次数

Xcode 8 beta 6:main.swift无法编译

我们有一个自定义的UIApplication对象,所以我们的main.swift是

import Foundation
import UIKit

UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(MobileUIApplication), NSStringFromClass(AppDelegate))
Run Code Online (Sandbox Code Playgroud)

这在Xcode 8 beta 5中不起作用,所以我们使用了这个

//TODO Swift 3 workaround? https://forums.developer.apple.com/thread/46405
UIApplicationMain( Process.argc, UnsafeMutablePointer<UnsafeMutablePointer<CChar>>(Process.unsafeArgv), nil, NSStringFromClass(AppDelegate.self))
Run Code Online (Sandbox Code Playgroud)

在Xcode 8 beta 6上,我们使用未解析的标识符'Process'

我们需要在Xcode 8 beta 6/Swift 3中做些什么才能定义UIApplicationMain?

xcode program-entry-point swift swift3 xcode8-beta6

23
推荐指数
2
解决办法
6755
查看次数

运行python包

在OSX上运行Python 2.6.1,将部署到CentOS.想要从命令行调用包,如下所示:

python [-m] tst
Run Code Online (Sandbox Code Playgroud)

为此,这是目录结构:

$PYTHONPATH/
    tst/
        __init__.py     # empty
        __main__.py     # below
        dep.py          # below
Run Code Online (Sandbox Code Playgroud)

以下是文件:

$ cat tst/__main__.py
from .dep import DepClass

print "Hello there"

$ cat tst/dep.py
class DepClass(object):
    pass

$
Run Code Online (Sandbox Code Playgroud)

但是,python给了我相互矛盾的诊断:

$ python -m tst
/usr/bin/python: tst is a package and cannot be directly executed
Run Code Online (Sandbox Code Playgroud)

好的,所以它被认为是一个包.所以我应该能够将其作为脚本运行?它有__main__......

$ python tst
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/runpy.py", line 121, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/runpy.py", line 34, in _run_code
    exec code in …
Run Code Online (Sandbox Code Playgroud)

python program-entry-point module package python-2.6

22
推荐指数
1
解决办法
4万
查看次数

C++中main()的法律定义14

关于main()[3.6.1] ,我能够找到的C++ 14的最后一个草案说:

实现不应预定义主函数.此功能不应过载.它应该具有int类型的返回类型,否则其类型是实现定义的.所有实现都应允许两者

- 返回int和的函数()

- 返回int的函数(int,指向char的指针)

及(第5段)

如果控制到达main的末尾而没有遇到return语句,则效果就是执行

return 0;

这是否意味着以下所有内容都是合法的C++ 14最小程序?如果没有,为什么不呢?

  1. auto main() -> int {}
  2. auto main() { return 0; }
  3. auto main() {}

c++ program-entry-point language-lawyer c++14

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