标签: program-entry-point

C#自己命名Main()方法的方法?

快速问题,有什么方法可以随心所欲地调用主要方法吗?或者它必须被称为"Main()"?

c# program-entry-point

12
推荐指数
2
解决办法
1782
查看次数

java中的多个main()方法

我想知道创建额外的主要方法会对您的代码产生什么影响.

例如,

public class TestClass {
    public static void main (String[] args){
        TestClass foo = new TestClass();
    }
}
Run Code Online (Sandbox Code Playgroud)

程序最初启动后,将创建foo,并在其中包含另一个公共main方法.这会导致任何错误吗?

java methods program-entry-point

12
推荐指数
4
解决办法
6万
查看次数

Java类文件中main()方法的优先位置

说到java类中的order/sequence方法.你期望/更喜欢看main()哪种方法?

  • 在每个领域之前的顶部(强调用户的存在并迫使他使用它)
  • 在底部(让用户首先看到字段,然后发现主要字段)
  • 在c-tor之后
    ......

请分享你的想法,这是一种风格/哲学问题.请不要建议main()单独保存在单独的文件中.

java methods program-entry-point coding-style

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

从其他包访问主包

我想从另一个包访问主包,但这是不可能的,因为主文件不在目录中.我已经尝试将主文件放在一个目录中,但是当我尝试导入它时,我收到此错误:
import "../main" is a program, not an importable package

我想要这个的原因是因为我有一个tcp服务器和一个协同工作的网络服务器.Web服务器可以通过主程序包获取tcp服务器,tcp服务器可以通过主程序包获取Web服务器.

我已经让它与webserver和tcpserver相互阅读(中间没有主程序包),但是我想在一个地方保留应用程序的某些部分.

是我想要的东西(通过主包)?或者它只是愚蠢.

import program-entry-point package go

12
推荐指数
1
解决办法
5720
查看次数

为什么检查是否(*argv == NULL)?

在我目前正在进行的数据结构类中,我们的任务是使用C++编写Web爬虫.为了给我们一个良好的开端,教授为我们提供了一个程序,用于从给定的URL获取源代码,并使用简单的HTML解析器来剥离标记.该程序的主要功能接受参数,因此使用argc/argv.用于检查参数的代码如下:

// Process the arguments
if (!strcmp(option, "-h"))
{
    // do stuff...
}
else if (!strcmp(option, ""))
{
    // do stuff...
}
else if (!strcmp(option, "-t"))
{
    // do stuff...
}
else if (!strcmp(option, "-a"))
{
    // do stuff...
}

if ( *argv == NULL )
{
    exit(1);
}
Run Code Online (Sandbox Code Playgroud)

其中"选项"已用argv [1]中的开关填充,而argv [2]和更高版本具有剩余参数.我理解的第一个块就好了,如果开关等于字符串做什么基于开关.我想知道最后一个if块的目的是什么.

可能是我的C++有点生疏,但我似乎记得*argv等同于argv [0],基本上意味着它正在检查以确保参数存在.除了我的印象是argv [0]总是(至少在大多数实现中)包含正在运行的程序的名称.我发现如果argc等于0,argv [0]可能为null,但是在Google上搜索我找不到确定是否可能的单个帖子.

所以我转向你.如果块检查,那究竟是什么?

编辑:我已经使用了所选答案的注释中提供的推理,有可能故意导致argv [0]变为NULL,或者基于特定于平台的main实现变为NULL.

c c++ null program-entry-point argv

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

Ruby相当于Python __main__

如果在ruby文件中我定义了这样的函数:

def tell_the_truth()
    puts "truth"
end
Run Code Online (Sandbox Code Playgroud)

有没有相当于python的主要?

if __name__ == "__main__":
    tell_the_truth()
Run Code Online (Sandbox Code Playgroud)

是简单地调用文件中的函数吗?

tell_the_truth
Run Code Online (Sandbox Code Playgroud)

ruby python program-entry-point

11
推荐指数
1
解决办法
1513
查看次数

C++ - int main(int argc,char**argv)

可能重复:
主要的正确声明是什么?

这个main函数中的参数是什么意思?他们想告诉我们什么?

int main(int argc, char** argv)

更新:并且,前面的代码行是否类似于此int main(int argc, char* argv[])?如果是这样,我们怎么能说char** argv类似char* argv[],因为他们不看从类似阵列的观点?

如何与int main()没有任何论据进行比较?

谢谢.

c++ program-entry-point arguments

11
推荐指数
1
解决办法
6万
查看次数

在main之前退出程序是明确定义的行为吗?

main调用之前执行代码绝对是可能的,正如本问题中的许多示例所示.

但是,如果在该主要代码之前,程序被告知通过std::exit或退出std::abort?既然main被定义为程序的开始,那么在开始之前退出会产生什么后果?

在每个部分打印一些东西后,我得到以下结果:

格式:
部分:output

Main:main
Init(在main之前调用):init
Exit(std::atexit在Init内部设置):exiting



样品运行:

在不退出的情况下调用Init:

init
main
返回0

Init调用std :: exit(0):

init
返回0

Init调用std :: abort:

init
崩溃并在Windows上返回3,GCC 4.7.2
崩溃,并在LiveWorkSpace上显示VS11 返回0 的常用框

Init设置处理程序并调用std :: exit(0):

init
退出
返回0

Init设置处理程序并调用std :: abort:

如果没有处理程序,初始化
相同

在搜索时,我看到了这样一个问题:在main()之前,C/C++程序有什么方法可以崩溃吗?.但是,它没有回答我想知道的事情:这种行为是在调用之前std::exit还是std::abort以前main定义好的?这种未定义的行为是什么?

c++ program-entry-point exit undefined-behavior

11
推荐指数
1
解决办法
300
查看次数

VisualStudio中的多个主要CPP文件?

我有一些软件的示例目录,其中包含多个具有多个main功能的文件.我可以将所有这些文件组装成单个项目,编译它们然后运行特定的文件而不会main already defined出错吗?假设我不想为每个cpp文件创建单独的项目.

UPDATE

我需要简单的一键式解决方案(如果存在).我不想在文件夹或重构文件内容之间分发文件.例如,在Eclipse/Java中,您可以右键单击任何带有main的文件并运行它.并且在一个项目中可以有许多主文件.这可能是VisualStudio/CPP吗?

更新2

我知道C++不是Java,而Visual Studio不是Eclipse.我的问题是关于一些手动操作的自动化.

c++ program-entry-point visual-studio

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

为什么 Program.cs 不再是一个类?

当您使用最新的 .NET Framework 创建新应用程序时,Program.cs 如下所示:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();
Run Code Online (Sandbox Code Playgroud)

如果您想知道 - 这实际上是整个文件。不public class Program; 不包括;没有构造函数。回到“那天”,这一切都被包含在Main名为 的类的函数中Program,如下所示:

public class Program
{
    public async static Task Main(string[] args) …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net program-entry-point .net-core

11
推荐指数
1
解决办法
8882
查看次数