标签: program-entry-point

"sub main ...&main();"有什么好处?Perl中的方法(子主模式)?

几年前,除了最简单的Perl脚本之外,我采用了以下"模式":(我甚至不记得我先看到它的位置,这当然不是我真正的想法.)

use strict;
...
sub main {
  ...
}
... possibly more subs ...

... at the end of the file:
#############
# Call main #
&main();
#############
Run Code Online (Sandbox Code Playgroud)

这有什么好处吗?我发现代码有点干净,但除此之外我不确定这有什么目的让我的C程序员开心:-)

来自Perl专家和高级用户的任何见解表示赞赏.(我当然不是)

perl program-entry-point

17
推荐指数
3
解决办法
9739
查看次数

为什么在C++中不允许调用main()

C++03 3.6.1.3:函数main不得在程序中使用(3.2)....

我想知道为什么这个规则存在...是否有人知道任何系统/实现,如果使用main,它将是一个问题?

PS 1.我知道该术语的定义used.2.我知道有一些简单的解决方法,比如从main()调用单个MyMain()并使用MyMain()代替.3.问题是关于现实世界的实施,如果不存在限制则会产生问题.谢谢!

c++ program-entry-point

16
推荐指数
3
解决办法
803
查看次数

为什么C和c ++中的main函数的类型留给用户定义?

为什么main()用户定义了功能?

我什么时候会使用void main()int main()

c c++ program-entry-point

16
推荐指数
4
解决办法
7921
查看次数

如何在Java可执行文件中启动多个主程序.jar?

我正在编写一个包含多个包的程序.每个包都有自己的主程序,我希望在解释器执行.jar时同时启动它们.这似乎是一个相当简单的问题,但当我环顾四周时,似乎人们正在使用蚂蚁(我之前从未使用过)和其他方法.在Eclipse中是否有一种更简单的方法来编译具有多个启动配置的.jar,更好的是,有没有办法对其进行硬编码?

如果推出这个的最好方法是通过蚂蚁.如果我想要发布,我会写什么样的蚂蚁脚本...说com.myapp.package1.main,com.myapp.package2.main和com.myapp.package3.main包中的主要程序.提前致谢!

java program-entry-point launch

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

有没有理由修改iOS应用程序中的main.m文件?

我试图更好地理解基本iOS应用程序中包含的每个文件的用途.

有没有理由修改main.m文件?我想知道是否需要触及该文件.如果你修改它,为什么?

cocoa-touch program-entry-point objective-c ios

16
推荐指数
2
解决办法
5076
查看次数

函数try catch语法和main

一个鲜为人知但几乎从未使用过的C++特性的声明是:

void foo();
Run Code Online (Sandbox Code Playgroud)

一种可能的法律定义可能是:

void foo() try {
  throw 42;
}
catch(...) {
}
Run Code Online (Sandbox Code Playgroud)

这里包含的整个函数实现在try/ catchpair中,这似乎与允许相似.

那是合法的int main()吗?例如:

int main() try {
  throw 42;
}
catch(...) {
}
Run Code Online (Sandbox Code Playgroud)

main,n3290§3.6.1 的规则主要讨论它应该采取什么样的论据以及它返回什么 - 它们似乎并没有明确地禁止它,因为它们与你可能想要尝试的各种其他奇怪事物(例如联系)一样.

这是合法的,定义明确吗?

c++ program-entry-point exception-handling language-lawyer

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

为什么将main定义为函数指针的程序失败了?

以下程序完美编译,没有错误或警告(即使有-Wall)在g ++中,但立即崩溃.

#include <cstdio>

int stuff(void)
{
    puts("hello there.");
    return 0;
}


int (*main)(void) = stuff;
Run Code Online (Sandbox Code Playgroud)

这是一个(显然可怕的误导)尝试运行C++程序而没有明确声明main作为函数.我打算通过将程序stuff绑定到符号来执行程序main.我很惊讶这个编译,但为什么它失败了,编译?我看过生成的程序集,但我完全不了解它.

我完全清楚对如何定义/使用有很多限制main,但我不清楚我的程序如何打破它们中的任何一个.我没有重载main或者在我的程序中调用它...所以我通过main这种方式确定了什么规则?

注意:这不是我在实际代码中尝试做的事情.它实际上是尝试用C++编写Haskell的开始.

c++ program-entry-point

16
推荐指数
2
解决办法
758
查看次数

为什么void main()如此受欢迎?

在C89/C99/C11中,在独立环境中,入口点功能是实现定义的.在托管环境中,它必须int main符合严格的程序.大多数现代编译器都会void main出错.但是,我看到很多用户使用void main.即使在不合格的编译器中允许它,为什么要使用它?我认为没有任何实际理由void main可以优先考虑int main.即使在C89中,它也是未定义的行为return.

是否有人气的历史原因void main

我不相信我的问题主要是基于意见的.一些有效的想法已经在这个帖子中提出过,例如微软的void main扩展,以及Window的受欢迎程度,以及它是C书重印不正确信息的结果.这些是客观和历史原因.

c standards program-entry-point

16
推荐指数
2
解决办法
687
查看次数

大型OOP项目中的C++ main()

这可能是一个简短而简单的问题,但我从来没有找到一个令人满意的答案:

main()函数通常在大型C++项目中包含哪些代码?认为它通常只是初始化一个(包装)类对象并在其中调用一个函数来设置它是不正确的假设?

为什么main()不是第一个方法?它是否保持与C的向后兼容性?

c++ oop program-entry-point

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

是否有一个GCC编译器/链接器选项来更改main的名称?

我的软件有一个主要用于正常使用,另一个用于单元测试.如果gcc有一个选项来指定使用哪个"主要"功能,我会喜欢它.

c gcc program-entry-point entry-point

15
推荐指数
6
解决办法
8772
查看次数