Questions tagged «main»

在许多编程语言中,主要功能,子例程或方法标记程序的入口点。通常,它是程序启动时由第一位程序员编写的函数。

7
为什么argc不是常数?
int main( const int argc , const char[] const argv) 正如有效的C ++项目#3指出“尽可能使用const”一样,我开始思考“为什么不设置这些“常量”参数const”? 在程序中是否存在argc修改的值的情况?
104 c++  const  main  argc  effective-c++ 

3
相当于Ruby中的`if __name__ =='__main __'`
我是Ruby的新手。我正在从包含要继续单独使用的工具的模块中导入函数。在Python中,我只需执行以下操作: def a(): ... def b(): ... if __name__ == '__main__': a() b() 这使我可以运行程序或将其导入为模块使用a()和/或b()单独使用。Ruby中的等效范例是什么?
101 python  ruby  main 

7
具有名为main而不是main函数的全局变量的程序如何工作?
考虑以下程序: #include <iostream> int main = ( std::cout << "C++ is excellent!\n", 195 ); 使用Windows 7 OS上的g ++ 4.8.1(mingw64),程序可以编译并正常运行,并进行打印: C ++很棒! 到控制台。main似乎是全局变量而不是函数;没有功能,该程序如何执行main()?此代码是否符合C ++标准?程序的行为是否定义明确?我也使用了该-pedantic-errors选项,但是程序仍然可以编译并运行。


6
在Python中,我可以调用导入模块的main()吗?
在Python中,我有一个模块myModule.py,其中定义了一些函数和一个main(),它接受了一些命令行参数。 我通常从bash脚本中调用此main()。现在,我想将所有内容放入一个小包装中,因此我想也许可以将我简单的bash脚本转换为Python脚本并将其放入包装中。 因此,实际上如何从MyFormerBashScript.py的main()函数调用myModule.py的main()函数?我什至可以那样做吗?如何传递任何参数?

10
在主函数中重命名argc和argv是否安全?
许多程序使用标准名称来表示许多参数和字符串数组。主要功能外观的原型,如:int main(int argc, char *argv[]);。但是,如果我为这些变量选择自定义名称,我会破坏某些东西吗? 例如 int main(int n_of_args, char *args[]); 在编译器的上下文中,一切都很好。这些变量是main函数的局部变量,因此可以有任何名称。而且简单的代码可以完美地构建和运行。但是这些名称可以由预处理器使用。因此,重命名这些参数是否安全? PS我个人觉得这些名字不好,因为它们看起来很相似,只有一个字母不同。但是每个人出于某种原因使用它们。
82 c++  c  main 

2
在C中不使用main()编译并运行程序
我正在尝试编译和运行以下没有main()功能的程序C。我已经使用以下命令编译了程序。 gcc -nostartfiles nomain.c 编译器发出警告 /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400340 好,没问题 然后,我运行了可执行文件(a.out),两个printf语句都成功打印,然后出现分段错误。 因此,我的问题是,为什么成功执行打印语句后出现分段错误? 我的代码: #include <stdio.h> void nomain() { printf("Hello World...\n"); printf("Successfully run without main...\n"); } 输出: Hello World... Successfully run without main... Segmentation fault (core dumped) 注意: 在这里,-nostartfilesgcc标志可防止编译器在链接时使用标准启动文件


5
在独立的Java应用程序中使用Spring 3 autowire
这是我的代码: public class Main { public static void main(String[] args) { Main p = new Main(); p.start(args); } @Autowired private MyBean myBean; private void start(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("META-INF/config.xml"); System.out.println("my beans method: " + myBean.getStr()); } } @Service public class MyBean { public String getStr() { return …

6
main()在C ++中是否已重载?
中main()存在2个有效版本C++: int main() // version 1 int main(int argc, char **argv) // version 2 但是,两个过载不能同时存在。为什么不?(可能的用例:从终端运行程序时,如果未传递任何参数,则调用第一个版本,否则调用第二个版本。) 编译器是否执行特殊检查以允许每个二进制文件仅允许一个版本?
69 c++  overloading  main 


10
多种主要功能
我对此有些陌生,请耐心等待。我目前正在学习C#和Java,它们的相似之处之一是主要功能需要封装在一个类中。例如 public class HelloWorld { public static void main(String[] args) { // Some Code } } 现在我了解到主程序通常是运行程序时的“入口点”。因此,基本上,您的程序将在主要功能所在的地方开始执行。但是我相信在两种语言中,您都可以在多个类中具有多个主要功能。因此,当我编译具有多个主要功能的项目时,“入口点”在哪里?编译器如何知道从哪里开始?
69 c#  java  main 

1
C主要参数
我写了一个必须显示主要参数的代码,但是当我编译它并键入“ *”程序时,它显示了我的文件结构。cmd中的命令如下所示:program.exe 1 2 3 * #include <stdio.h> #include <stdlib.h> int main(int argc, char const* argv[]) { for (int i=0; i<argc; i++) printf("%s\n", argv[i]); return 0; } 结果是: program 1 2 3 program.c program.exe 10-03-20 11-02-20 我的问题是:是否可以强制程序打印“ *”而不是列出文件。谢谢建议
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.