怎么if __name__ == "__main__":办?
# Threading example
import time, thread
def myfunction(string, sleeptime, lock, *args):
while True:
lock.acquire()
time.sleep(sleeptime)
lock.release()
time.sleep(sleeptime)
if __name__ == "__main__":
lock = thread.allocate_lock()
thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock))
thread.start_new_thread(myfunction, ("Thread #: 2", 2, lock))
Run Code Online (Sandbox Code Playgroud) 新Java开发人员遇到的一个常见问题是,他们的程序无法运行错误消息: Could not find or load main class ...
这是什么意思,是什么导致它,你应该如何解决它?
我已经安装了一个应用程序,当我尝试运行它时(它是一个可执行的jar)没有任何反应.当我从命令行运行它时:
java -jar"app.jar"
我收到以下消息:
"app.jar"中没有主要的清单属性
通常,如果我自己创建了程序,我会在清单文件中添加一个主类属性.但在这种情况下,由于文件来自应用程序,我不能这样做.我也尝试提取jar以查看是否可以找到主类,但是有许多类,并且它们中没有一个在其名称中包含"main"一词.必须有办法解决这个问题,因为程序在其他系统上运行正常.
main()在C和C++中定义函数的正确(最有效)方法是什么- int main()或void main()- 为什么?如果int main()那么return 1或return 0?
这个问题有很多重复,包括:
main()函数的有效签名是什么?main()函数void main()和int main()?main()在C++中的签名main()? - 对于C++,确实有一个非常好的答案.main()C语言中的函数样式main()C中的方法类型int main()vs void main()在C中有关:
Java main()方法的方法签名是:
public static void main(String[] args){
...
}
Run Code Online (Sandbox Code Playgroud)
这种方法是否有理由是静态的?
我刚刚开始用Java编写程序.以下Java代码是什么意思?
public static void main(String[] args)
Run Code Online (Sandbox Code Playgroud)
什么是String[] args?
你什么时候用这些args?
源代码和/或示例优于抽象解释
What is the proper signature of the main function in C++? What is the correct return type, and what does it mean to return a value from main? What are the allowed parameter types, and what are their meanings?
这是系统特定的吗?这些规则会随着时间而改变吗?如果我违反它们会发生什么?
我最近不得不输入一个小的C测试程序,在这个过程中,我在主函数中意外地使用vooid而不是使用拼写错误void.
然而它仍然有效.
将它减少到最小的完整版本,我最终得到:
int main (vooid) {
return 42;
}
Run Code Online (Sandbox Code Playgroud)
这确实是 compile(gcc -Wall -o myprog myprog.c),并且在运行时它返回42.
这个有效代码到底是怎么回事?
这是从我的bashshell 剪切并粘贴的成绩单,以显示我正在做的事情:
pax$ cat qq.c
int main (vooid) {
return 42;
}
pax$ rm qq ; gcc -Wall -o qq qq.c ; ./qq
pax$ echo $?
42
Run Code Online (Sandbox Code Playgroud) C++标准中的$ 3.6.1/1节,
程序应包含一个名为main的全局函数,它是程序的指定开始.
现在考虑这段代码,
int square(int i) { return i*i; }
int user_main()
{
for ( int i = 0 ; i < 10 ; ++i )
std::cout << square(i) << endl;
return 0;
}
int main_ret= user_main();
int main()
{
return main_ret;
}
Run Code Online (Sandbox Code Playgroud)
此示例代码执行我打算执行的操作,即在进入main()应该是程序"开始" 的函数之前打印从0到9的整数平方.
我还用-pedantic选项GCC 4.5.0 编译它.它没有错误,甚至没有警告!
所以我的问题是,
这段代码真的符合标准吗?
如果它符合标准,那么它是否会使标准所说的无效?main()不是这个计划的开始!user_main()在执行之前执行main().
我知道要初始化全局变量main_ret,use_main()首先执行,但这是完全不同的事情; 关键是,它确实使标准中的引用语句$ 3.6.1/1无效,因为main() …
java ×5
c++ ×3
c ×2
c++-faq ×1
class ×1
entry-point ×1
identifier ×1
idioms ×1
jar ×1
manifest ×1
namespaces ×1
parameters ×1
python ×1
return-type ×1
return-value ×1
static ×1
syntax ×1