标签: program-entry-point

WPF中没有Main()?

在编程时我是初学者,但我确信其中一个通用规则是程序以Main()开头.我在创建WPF项目时没有看到一个.Main()只是在WPF中以不同的方式命名?

c# wpf program-entry-point c#-4.0

117
推荐指数
5
解决办法
6万
查看次数

为什么main不会在这里返回0?

我只是在读书

ISO/IEC 9899:201x委员会草案 - 2011年4月12日

我在5.1.2.2.3程序终止下找到了

..reaching the } that terminates the main function returns a value of 0. 
Run Code Online (Sandbox Code Playgroud)

这意味着如果你没有指定任何return语句main(),并且如果程序成功运行,那么在main的右括号中将返回0.

但是在下面的代码中我没有指定任何return语句,但它不返回0

#include<stdio.h>
int sum(int a,int b)
{
return (a + b);
}

int main()
{
    int a=10;
    int b=5;
    int ans;    
    ans=sum(a,b);
    printf("sum is %d",ans);
}
Run Code Online (Sandbox Code Playgroud)

gcc test.c  
./a.out
sum is 15
echo $?
9          // here it should be 0 but it shows 9 why?
Run Code Online (Sandbox Code Playgroud)

c linux program-entry-point return

116
推荐指数
3
解决办法
4446
查看次数

为什么我们需要argc而argv结尾总是空?

似乎argv[argc]总是NULL如此,所以我认为我们可以不用遍历参数列表argc.单个while循环将执行此操作.

如果总有一个NULL结束argv,为什么我们需要一个argc

c c++ program-entry-point

114
推荐指数
4
解决办法
6249
查看次数

是'int main;' 一个有效的C/C++程序?

我问,因为我的编译器似乎这么认为,即使我没有.

echo 'int main;' | cc -x c - -Wall
echo 'int main;' | c++ -x c++ - -Wall

Clang没有发出任何警告或错误,gcc只发出温和的警告:'main' is usually a function [-Wmain]但是只有在编译为C时才指定.指定a -std=似乎并不重要.

否则,它编译和链接很好.但在执行时,它立即终止SIGBUS(对我来说).

阅读(C)和C++中main()返回的(优秀)答案和快速的grep通过语言规范,这肯定会似乎对我来说,一个主要的功能是必需的.但是gcc -Wmain('main' 通常是一个函数)的冗语(以及这里的错误缺失)似乎可能暗示其他情况.

但为什么?是否有一些奇怪的边缘案例或"历史"用途?谁知道什么给了?

我想,我的观点是,我认为这应该是托管环境中的错误,是吗?

c c++ program-entry-point function entry-point

111
推荐指数
6
解决办法
9669
查看次数

我应该从main()返回EXIT_SUCCESS还是0?

这是一个简单的问题,但我一直看到相互矛盾的答案:C++程序的主程序应该返回0还是EXIT_SUCCESS

#include <cstdlib>
int main(){return EXIT_SUCCESS;}
Run Code Online (Sandbox Code Playgroud)

要么

int main(){return 0;}
Run Code Online (Sandbox Code Playgroud)

它们是完全相同的吗?应该EXIT_SUCCESS只与exit()?一起使用?

我认为EXIT_SUCCESS这是一个更好的选择,因为其他软件可能想要将零视为失败,但我也听说如果你返回0,编译器无论如何都能够将它改为不同的值.

c c++ program-entry-point return-value

107
推荐指数
4
解决办法
10万
查看次数

为什么argc不是常数?

int main( const int argc , const char[] const argv)
Run Code Online (Sandbox Code Playgroud)

正如有效的C++第3项规定"尽可能使用const",我开始思考"为什么不制作这些'常数'参数const"?

是否存在argc在程序中修改值的任何情况?

c++ program-entry-point const effective-c++ argc

102
推荐指数
4
解决办法
6538
查看次数

`if __name__ =='__ main __'`相当于Ruby

我是Ruby的新手.我想从包含我想要继续单独使用的工具的模块导入函数.在Python中我会这样做:

def a():
    ...
def b():
    ...
if __name__ == '__main__':
    a()
    b()
Run Code Online (Sandbox Code Playgroud)

这允许我运行程序或将其作为模块导入以使用a()和/或b()单独使用.Ruby中的等效范例是什么?

ruby python program-entry-point

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

具有名为main的全局变量而不是main函数的程序如何工作?

考虑以下计划:

#include <iostream>
int main = ( std::cout << "C++ is excellent!\n", 195 ); 
Run Code Online (Sandbox Code Playgroud)

在Windows 7操作系统上使用g ++ 4.8.1(mingw64),程序编译并运行正常,打印:

C++非常棒!

到控制台.main似乎是一个全局变量而不是一个函数; 如果没有该功能,该程序如何执行main()?这段代码是否符合C++标准?程序的行为是否定义明确?我也使用了该-pedantic-errors选项,但该程序仍然编译并运行.

c++ program-entry-point language-lawyer

97
推荐指数
5
解决办法
9849
查看次数

"public static void main(String args [])"的Eclipse快捷方式是什么?

我知道一个很酷的快捷方式System.out.println():sysout Ctrl+ Space.

有类似的东西public static void main(String args[])吗?

java eclipse program-entry-point keyboard-shortcuts

89
推荐指数
4
解决办法
10万
查看次数

在main函数中重命名argc和argv是否安全?

许多程序对许多参数和字符串数组使用标准名称.主要功能的原型如下:int main(int argc, char *argv[]);.但如果我为这些变量选择自定义名称,我会破坏一些东西吗?

例如 int main(int n_of_args, char *args[]);

在编译器的上下文中,一切都很好.这些变量对于main函数是本地的,因此它们可以具有任何名称.简单的代码构建和运行完美.但这些名称可能由预处理器使用.那么重命名这些论点是否安全?

PS我个人觉得这些名字很糟糕,因为它们看起来很相似,只有一个字母不同.但是每个人都出于某种原因使用它们.

c c++ program-entry-point

82
推荐指数
6
解决办法
4836
查看次数