CBMC
cprover_main.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: CPROVER Main Module
4 
5 Author: Daniel Kroening, dkr@amazon.com
6 
7 \*******************************************************************/
8 
11 
12 #include "cprover_parse_options.h"
13 
14 #ifdef _MSC_VER
15 # include <util/unicode.h>
16 
17 # include <windows.h>
18 #endif
19 
20 #ifdef _MSC_VER
21 int wmain(int argc, const wchar_t **argv_wide)
22 {
23  auto vec = narrow_argv(argc, argv_wide);
24  auto narrow = to_c_str_array(std::begin(vec), std::end(vec));
25  auto argv = narrow.data();
26 #else
27 int main(int argc, const char **argv)
28 {
29 #endif
30  cprover_parse_optionst parse_options(argc, argv);
31  return parse_options.main();
32 }
int main(int argc, const char **argv)
Command Line Parsing.
output_type narrow(input_type input)
Run-time checked narrowing cast.
Definition: narrow.h:34
std::vector< std::string > narrow_argv(int argc, const wchar_t **argv_wide)
Definition: unicode.cpp:149
std::vector< const char * > to_c_str_array(It b, It e)
Definition: unicode.h:66