草庐IT

libc_start_main

全部标签

c - 释放已分配给 char 指针(字符串)数组的内存。我必须释放每个字符串还是只释放 "main"指针?

我有一个函数,它接受一个指向char**的指针并用字符串填充它(我猜是一个字符串数组)。*list_of_strings*在函数内部分配内存。char**list_of_strings=NULL;/*list_of_stringsmalloc'dinsidefunction*/fill_strings_with_stuff(&list_ofstrings);use_list_for_something(list_of_strings);/*NowhowdoIfreeitall?*/在我使用了字符串之后,我将如何释放内存?如果我打电话free(list_of_strings);这不是释放

c - 释放已分配给 char 指针(字符串)数组的内存。我必须释放每个字符串还是只释放 "main"指针?

我有一个函数,它接受一个指向char**的指针并用字符串填充它(我猜是一个字符串数组)。*list_of_strings*在函数内部分配内存。char**list_of_strings=NULL;/*list_of_stringsmalloc'dinsidefunction*/fill_strings_with_stuff(&list_ofstrings);use_list_for_something(list_of_strings);/*NowhowdoIfreeitall?*/在我使用了字符串之后,我将如何释放内存?如果我打电话free(list_of_strings);这不是释放

c++ - 在 main(...) 中捕获异常是否有意义?

我在一个项目中发现了一些看起来像这样的代码:intmain(intargc,char*argv[]){//somestufftry{theApp.Run();}catch(std::exception&exc){cerr我不明白为什么要捕获异常。如果不是,应用程序将简单地退出并打印异常。您认为有什么好的理由在这里捕获异常吗?编辑:我同意打印异常错误是件好事。但是,重新抛出异常不是更好吗?我觉得我们在这里吞下了它…… 最佳答案 如果一个异常未被捕获,那么标准没有定义堆栈是否被展开。所以在某些平台上会调用析构函数,而在其他平台上程序会立

c++ - 在 main(...) 中捕获异常是否有意义?

我在一个项目中发现了一些看起来像这样的代码:intmain(intargc,char*argv[]){//somestufftry{theApp.Run();}catch(std::exception&exc){cerr我不明白为什么要捕获异常。如果不是,应用程序将简单地退出并打印异常。您认为有什么好的理由在这里捕获异常吗?编辑:我同意打印异常错误是件好事。但是,重新抛出异常不是更好吗?我觉得我们在这里吞下了它…… 最佳答案 如果一个异常未被捕获,那么标准没有定义堆栈是否被展开。所以在某些平台上会调用析构函数,而在其他平台上程序会立

c++ - main() 之前运行的是什么?

在msvc8上测试后发现:将GetCommandLine()解析为argc和argv标准C库初始化全局变量的C++构造函数这三个东西是在进入main()之前调用的。我的问题是:当我将程序移植到不同的编译器(gcc或armcc)或不同的平台时,这个执行顺序会有所不同吗?标准C库初始化有什么作用?到目前为止,我知道setlocale()是必须的。在全局变量的C++构造函数中调用标准C函数是否安全? 最佳答案 1:WillthisexecutionorderbedifferentwhenIportingmyprogramtodiffere

c++ - main() 之前运行的是什么?

在msvc8上测试后发现:将GetCommandLine()解析为argc和argv标准C库初始化全局变量的C++构造函数这三个东西是在进入main()之前调用的。我的问题是:当我将程序移植到不同的编译器(gcc或armcc)或不同的平台时,这个执行顺序会有所不同吗?标准C库初始化有什么作用?到目前为止,我知道setlocale()是必须的。在全局变量的C++构造函数中调用标准C函数是否安全? 最佳答案 1:WillthisexecutionorderbedifferentwhenIportingmyprogramtodiffere

c++ - 如何在预处理器中检测 -stdlib=libc++?

我认为这是Notypenamed'unique_ptr'innamespace'std'whencompilingunderLLVM/Clang问题的一部分.AccordingtoMarshallClow,我可以通过_LIBCPP_VERSION检测到-stdlib=libc++:Ifyou'rewritingcross-platformcode,sometimesyouneedtoknowwhatstandardlibraryyouareusing.Intheory,theyshouldallofferequivalentfunctionality,butthat'sjusttheo

c++ - 如何在预处理器中检测 -stdlib=libc++?

我认为这是Notypenamed'unique_ptr'innamespace'std'whencompilingunderLLVM/Clang问题的一部分.AccordingtoMarshallClow,我可以通过_LIBCPP_VERSION检测到-stdlib=libc++:Ifyou'rewritingcross-platformcode,sometimesyouneedtoknowwhatstandardlibraryyouareusing.Intheory,theyshouldallofferequivalentfunctionality,butthat'sjusttheo

C++没有main()函数?

我是一名研究生程序员,谈到C++,我希望每次都有一个main()函数。但是,我收到了一个使用VisualStudio6.0用C++编写的项目,但它没有main()函数。我真的不知道这个程序是如何执行的或从哪里开始的。我已经看到了可用于更改main()函数名称的宏示例,但是这段代码没有显示出这种做法的迹象。谁能建议我应该寻找什么? 最佳答案 也许主函数在一个库中,并且程序以对静态对象的虚函数调用开始。这就是MFC应用程序中发生的情况。程序从CWinApp派生一个类,并将其作为静态变量实例化一次。然后MFC知道一个指针(由CWinApp

C++没有main()函数?

我是一名研究生程序员,谈到C++,我希望每次都有一个main()函数。但是,我收到了一个使用VisualStudio6.0用C++编写的项目,但它没有main()函数。我真的不知道这个程序是如何执行的或从哪里开始的。我已经看到了可用于更改main()函数名称的宏示例,但是这段代码没有显示出这种做法的迹象。谁能建议我应该寻找什么? 最佳答案 也许主函数在一个库中,并且程序以对静态对象的虚函数调用开始。这就是MFC应用程序中发生的情况。程序从CWinApp派生一个类,并将其作为静态变量实例化一次。然后MFC知道一个指针(由CWinApp