标签: program-entry-point

为什么main()不能在C中声明为静态?

为什么main必须被声明为具有外部链接?

为什么它不应该是静态的?

什么是外部联系?

c static program-entry-point function

9
推荐指数
2
解决办法
2027
查看次数

什么是背景,前景和主线?

背景,前景和主线程之间有什么区别?.NET中的diff类型有哪些?

.net multithreading program-entry-point background foreground

9
推荐指数
2
解决办法
2636
查看次数

为什么我可以从main方法访问私有变量?

package com.valami;

 public class Ferrari
 {
  private int v = 0;


  private void alam()
  {
   System.out.println("alam");
  }

  public Ferrari()
  {
   System.out.println(v);
  }



  public static void main(String[] args)
  {
   Ferrari f = new Ferrari();
   f.v = 5;
   System.out.println(f.v);
  }

 }
Run Code Online (Sandbox Code Playgroud)

大家好!我有一个简单的问题....为什么我可以从main方法到达私有变量?我知道,我在收容班,但这是主要的.我相信主要不是包含它的类的一部分...然后我不会找到私人成员,但我可以....为什么?请帮忙... thx

java variables program-entry-point private

9
推荐指数
2
解决办法
8663
查看次数

Python的if __name __ =="__ main__"用于GNU Smalltalk的习惯用法?

这样的事情存在吗?

红宝石:

if __FILE__ == $0
    main
end
Run Code Online (Sandbox Code Playgroud)

Perl的:

unless(caller) {
    main;
}
Run Code Online (Sandbox Code Playgroud)

LUA:

if type(package.loaded[(...)]) ~= "userdata" then
    main(arg)
else
    module(..., package.seeall)
end
Run Code Online (Sandbox Code Playgroud)

program-entry-point smalltalk gnu-smalltalk

9
推荐指数
1
解决办法
505
查看次数

如何将主方法移动到Scala中的另一个类?

IntelliJ IDEA 10.5(可能这很重要).

我是Scala的新手,所以我以一种尴尬的方式开始.我用两个类创建了一个文件 - 空的MainApp和另一个类,HelloWorld和方法main.

我编译并执行 - IntelliJ自动检测到HelloWorld为主类.还可以.

然后,我将main方法移动到MainApp,并删除(然后清空)HelloWorld类.当我试图运行它时,IntelliJ仍然坚持使用HelloWorld.所以我重新配置了项目并选择了MainApp作为主类.

我尝试用这样的结果运行它:

MainApp主要方法应该是静态的

我完全不解.首先,Scala没有静态方法.第二,为什么它现在不编译,之前编译(使用HelloWorld类).我虽然只要求有一个主要方法.

预先感谢您的帮助.

请注意:我知道我可以从头开始一个新项目以完全避免这个问题,但我想学习一些东西,即了解发生了什么,并修复这个项目.

program-entry-point scala compilation intellij-idea

9
推荐指数
1
解决办法
3083
查看次数

如何在图书馆内为我的班级的朋友制作主?

请看我第一次尝试回答这个问题 .为了简化事情,我忽略了讲述整个故事.结果我的例子工作!抱歉.

整个故事是,这是一个库,在一个文件中包含一个类,另一个文件中包含一个主,所有这些都链接到我的库中.该库提供了流程框架的基础,这就是为什么主要是在库中而不是流程.

下面是我所拥有的精简版.

pf.hpp

using namespace std;

namespace MyNamespace
{
  class ProcessManager
  {
  public:
    friend int main(int argc, char** argv);
  private:
    void test();
  };
};
Run Code Online (Sandbox Code Playgroud)

pf.cpp

#include "pf.h"

namespace MyNamespace
{
  ProcessManager::test()
  {
    cout << "My friend has accessed my member" << endl;
  }
};
Run Code Online (Sandbox Code Playgroud)

pfmain.cpp

#include "pf.hpp"

int main(int argc, char** argv)
{
   ProcessManager pm;

   pm.test();
}
Run Code Online (Sandbox Code Playgroud)

请注意,这在编译库时失败

我试过的是:

  • 将朋友移到各处
  • 让朋友引用主要使用全局范围(例如:: main)
  • 使朋友和主要声明使用全局范围

我错过了什么?

谢谢!

c++ program-entry-point friend

9
推荐指数
1
解决办法
1390
查看次数

我们可以在接口中使用main(),在实现此接口的类中使用main()的不同实现吗?

我知道main()可以在一个类中重载,编译器总是将一个String[] argsas作为参数作为执行开始的main方法.但是有可能宣布相同

main(String args[]) in an interface and implement it in different classes differently?
Run Code Online (Sandbox Code Playgroud)

例如,

package test;
interface test
{
    public void main(String args[]);
    public void display();
}



package test;
class Testclass1 implements test
{
   public void display()
   {
       System.out.println("hello");
    }
   public static void main(String[] args)
   {
       test t;
       t.display();
    }
}


package temp;
import test.*;
abstract class Testclass2 implements test
{
   public static void main(String args[])
   {
       System.out.println("TESTING");
    }
}
Run Code Online (Sandbox Code Playgroud)

java overriding program-entry-point

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

如果main方法在java文件的"非公开类"里面怎么办?

我有一个包含多个类的java文件,其中一个是公共的.如果main方法在非公共类中.我无法运行该java文件.这是为什么?并且没有编译错误.如果是这样,我该如何使用该主要方法?

java program-entry-point public

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

"不包含适用于入口点的静态'主'方法"

我无法想象下面我的代码有什么问题.

当我尝试编译时,我收到消息:

不包含适用于入口点的静态"主"方法.

这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace RandomNumberGenerator
{

public partial class Form1 : Form
{
    private const int rangeNumberMin = 1;
    private const int rangeNumberMax = 3;
    private int randomNumber;

public Form1()
{            
        randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax);
}

private int GenerateNumber(int min,int max)
    {
        Random random = new Random();
        return random.Next(min, max);
    }

private void Display(object sender, EventArgs e)
    {                       
        switch (randomNumber)
        {
            case 1: …
Run Code Online (Sandbox Code Playgroud)

c# program-entry-point entry-point

9
推荐指数
3
解决办法
6万
查看次数

为什么没有找到主方法时没有生成异常或错误?

好的只是为了清酒知识,我尝试了下面的案例(假设A类和B类在同一个包中)

ClassA的

public class ClassA {

  public static void main(String[] args) {
     System.out.println("A");
  }
}
Run Code Online (Sandbox Code Playgroud)

ClassB的

public class ClassB extends ClassA {

  public static void main(String[] args) {
    System.out.println("B");
  }
}
Run Code Online (Sandbox Code Playgroud)

ClassB它上面执行它将B在classB下面的变化之后产生现在的输出

ClassB的

public class ClassB extends ClassA {
   //blank body
}
Run Code Online (Sandbox Code Playgroud)

如果我编译并运行terminal它给我的输出A完全令人惊讶,因为它应该给出,NoSuchMethodError因为没有主要的方法是他们如此善意地解释奇怪的行为?

注意:许多答案包含Override单词请使用,hiding因为我们无法覆盖java中的静态方法.

java program-entry-point

9
推荐指数
1
解决办法
302
查看次数