我想在运行时确定我的应用程序启动的类名,带有main()方法的类名,但我在另一个线程中,我的堆栈跟踪不会一直回到原始类.
我搜索了系统属性以及ClassLoader提供的所有内容,并且没有提供任何内容.这些信息不可用吗?
谢谢.
我main()在一些我遇到的JavaScript文件中看到了一个函数.它是否与您在其他语言中使用的主要功能相同,例如C#,C++?如果在JS文件中放置一个main函数,代码是否开始执行?或者它只是用于功能的另一个名称?
我在网上搜索过,但没有找到任何关于此事的有用信息.
我有一个main.cpp,它包含一个struct,一些全局常量和一个main函数.
我运行doxygen,我在输出index.html中获得的唯一文档是我的struct.
我想doxygen将index.html文件记录到我的main()中.我做错了什么?
/// Definition of Pi
const auto Pi = 3.141592653589793238462643383279502884197169399;
/// \struct myStruc
/// \brief myStruc description
///
struct myStruc
{
/// Comments inside myStruc
};
/// \file
/// \brief Main function
/// \param argc An integer argument count of the command line arguments
/// \param argv An argument vector of the command line arguments
/// \return an integer 0 upon exit success
int main(int argc, char** argv)
{
/// Comments I would like to be documented in …Run Code Online (Sandbox Code Playgroud) 在Java中,我做了类似下面的事情而没有考虑太多:
public class Main {
public void run() {
// ...
}
public static void main(String[] args) {
new Main().run();
}
}
Run Code Online (Sandbox Code Playgroud)
然而,最近我不确定这样做是否安全.毕竟,在Main创建对象之后没有对该对象的this引用(好吧,有引用,但这会计数吗?),所以看起来垃圾收集器可能会在执行过程中删除对象的危险一些东西.所以也许这个main方法应该是这样的:
public static void main(String[] args) {
Main m = new Main();
m.run();
}
Run Code Online (Sandbox Code Playgroud)
现在,我敢肯定的是,第一个版本的作品,我从来没有任何问题,但我想知道,如果它是安全的.所有的情况下做的(不仅是在一个特定的JVM,但最好根据语言规范对此类案例的说法).
我有一个简单的命令行Java应用程序的疑问.
所以我有这个命令行应用程序,它由Main类中定义的main()方法启动.
像往常一样,这个main()方法定义了这个签名:
public static void main(String[] args) {
Run Code Online (Sandbox Code Playgroud)
所以它的返回类型是无效的.所以它应该意味着它不会返回任何价值.
但是为什么当它的执行正确终止时我将这条消息发送到IntelliJ控制台?
Disconnected from the target VM, address: '127.0.0.1:54090', transport: 'socket'
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
究竟代表退出代码0的是什么?
我认为这意味着程序已正确完成其执行而不会产生任何错误.
所以现在我有以下两个疑问:
如果确实如果我的main()方法返回void会发生什么?
如果我的应用程序以错误结束,如何返回不同的退出代码?是否存在标准退出代码值以结束错误?
TNX
我正在寻找一个更技术性的解释然后OS调用该函数.任何人都可以帮助我或指向我的网站或书籍吗?
我想为我的应用程序设置主页面或索引页面.我尝试在settings.py中添加MAIN_PAGE然后创建一个main_page视图返回一个main_page对象,但它不起作用另外,我试图在urls.py中添加一个声明,如
(r'^$', index),
Run Code Online (Sandbox Code Playgroud)
其中index应该是根目录下index.html文件的名称(但显然不起作用)
在Django网站中设置主页的最佳方法是什么?
谢谢!
我正在浏览我的OOP类文档,我发现了这个例子:
class Student {
private String name;
public int averageGrade;
public Student(String n, int avg) {
name = n;
averageGrade = avg;
}
public static void main(String[] args) {
Student s = new Student("John", 9);
}
}
Run Code Online (Sandbox Code Playgroud)
我发现它们正在从同一个类的主要实例化一个对象时感到困惑.这被认为是不好的做法吗?新创建的对象s是否有主方法?
谢谢!
为什么void总是不鼓励在C++中设置入口点的返回类型,后来被标准删除并被现代编译器禁止?为什么它被认为是不好的做法?
现在,据我所知,C#和Java都允许入口点的返回类型为voidie
static void main(String[] args) /* Java */
static void Main(string[] args) /* C# */
Run Code Online (Sandbox Code Playgroud)
C#和Java程序员并不认为这是不好的做法,事实上他们经常使用它.
这是其他语言(只打算是,我怀疑C++会成功在这十年中,至少)C的可能接班人++像d编程语言或瓦拉也允许void main().正如您所看到的,我怀疑C++社区是否将其从标准中删除,因为它过于模糊或不受欢迎.
所以我的问题是,为什么C++社区删除了void main()?这有什么问题?
作为一个低级程序员,我经常使用可执行文件的模块启动代码,所以我很清楚像"crt0"这样的代码是如何工作的.当编写C++代码,我通常声明main为extern "C"以匹配C启动代码会做打电话main.因此我通常使用此声明main(wmain如果专门针对Windows):
extern "C" int main(int argv, const char *const *argv)
extern "C" int __cdecl wmain(int argv, const wchar_t *const *argv)
Run Code Online (Sandbox Code Playgroud)
它是合法使用extern "C"的main?此外,const char *const *argv的类型是合法的,而不是char *[]?
c++ ×4
java ×4
object ×2
c ×1
class ×1
classloader ×1
django ×1
doxygen ×1
entry-point ×1
exit-code ×1
extern ×1
indexing ×1
javascript ×1
linkage ×1
runtime ×1
set ×1
stack-trace ×1
standards ×1