本文整理汇总了C++中Generator::run方法的典型用法代码示例。如果您正苦于以下问题:C++ Generator::run方法的具体用法?C++ Generator::run怎么用?C++ Generator::run使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Generator
的用法示例。
在下文中一共展示了Generator::run方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
Generator generator;
int index;
std::string input = "";
std::string plate = "xy";
while ((index = getopt(argc, argv, "yze:o:f:Z:O:r:a:n")) != -1) {
switch (index) {
case 'n':
generator.circleDetection = false;
break;
case 'r': {
auto parts = split(std::string(optarg), ':');
if (parts.size() == 3) {
generator.setRepeat(parts[0], atoi(parts[1].c_str()), atof(parts[2].c_str()));
}
}
break;
case 'a':
generator.setAreaTreshold(atof(optarg));
break;
case 'O':
generator.setPOffset(atof(optarg));
break;
case 'f':
generator.setOutputFormat(std::string(optarg));
break;
case 'z':
plate = "xz";
break;
case 'y':
plate = "yz";
break;
case 'e': {
auto parts = split(std::string(optarg), ':');
if (parts.size() != 2) usage();
generator.addEngravure(atof(parts[0].c_str()), parts[1]);
}
break;
case 'o':
generator.setOutput(std::string(optarg));
break;
case 'Z':
generator.setZExtra(atof(optarg));
break;
}
}
if (optind != argc) {
generator.openSTL(std::string(argv[optind]), plate);
} else {
usage();
}
generator.run();
}
示例2: main
int main(int argc, char** argv) {
signal(SIGTTOU,SIG_IGN);
signal(SIGTTIN,SIG_IGN);
signal(SIGINT, do_shutdown);
// Log to stderr
Arc::LogStream logcerr(std::cerr);
Arc::Logger::getRootLogger().addDestination(logcerr);
Arc::Logger::getRootLogger().setThreshold(Arc::INFO);
Generator generator;
int num = 10;
if (argc == 1 || argc == 2) { // run mock a number of times
if (argc == 2 && (std::string(argv[1]) == "-h" || !Arc::stringto(argv[1], num))) {
usage();
return 1;
}
generator.start();
for (int i = 0; i < num; ++i) {
std::string source = "mock://mocksrc/mock." + Arc::tostring(i);
std::string destination = "mock://mockdest/mock." + Arc::tostring(i);
generator.run(source, destination);
}
}
else if (argc == 3) { // run with given source and destination
generator.start();
generator.run(argv[1], argv[2]);
}
else {
usage();
return 1;
}
while (generator.counter.get() > 0 && run) {
sleep(1);
}
return 0;
}
示例3: srand
int
main(int argc, char **argv)
{
srand(time(NULL) + getpid());
progname = argv[0];
int opt;
char optc;
std::vector<const char*> input_files;
std::vector<const char*> input_link_files;
std::vector<const char*> compile_libs;
std::vector<const char*> run_libs;
std::vector<const char*> include_paths;
std::vector<const char*> run_paths;
std::vector<const char*> bitcode_paths;
std::vector<const char*> static_modules;
std::vector<const char*> module_paths;
std::string output_path;
const char *output_path_arg = NULL;
const char *module_name = NULL;
int produce = ASM;
int optlevel = 0;
int produce_set = 0;
int no_linking = 0;
int debug = 0;
int no_dale_stdlib = 0;
int no_stdlib = 0;
int remove_macros = 0;
int no_common = 0;
int static_mods_all = 0;
int found_sm = 0;
int enable_cto = 0;
int version = 0;
int print_expansions = 0;
int option_index = 0;
int forced_remove_macros = 0;
static struct option long_options[] = {
{ "no-dale-stdlib", no_argument, &no_dale_stdlib, 1 },
{ "no-common", no_argument, &no_common, 1 },
{ "no-stdlib", no_argument, &no_stdlib, 1 },
{ "static-modules", no_argument, &static_mods_all, 1 },
{ "static-module", required_argument, &found_sm, 1 },
{ "enable-cto", no_argument, &enable_cto, 1 },
{ "version", no_argument, &version, 1 },
{ "print-expansions", no_argument, &print_expansions, 1 },
{ 0, 0, 0, 0 }
};
if (argc < 2) {
error("no input files");
}
while ((opt = getopt_long(argc, argv, options,
long_options, &option_index)) != -1) {
optc = (char) opt;
switch (optc) {
case 'o': {
if (output_path_arg) {
error("an output path has already been specified");
}
output_path_arg = optarg;
break;
}
case 'O': {
optlevel = (optarg[0] - '0');
if ((optlevel < 0) || (optlevel > 4)) {
error("invalid optimisation level");
}
break;
}
case 's': {
const char *type = optarg;
if (!strcmp(type, "as")) {
produce = ASM;
} else if (!strcmp(type, "ir")) {
produce = IR;
} else if (!strcmp(type, "bc")) {
produce = BitCode;
} else {
error("unrecognised output option");
}
produce_set = true;
break;
}
case 'd': debug = 1; break;
case 'c': no_linking = 1; break;
case 'r': remove_macros = 1; forced_remove_macros = 1; break;
case 'R': remove_macros = 0; forced_remove_macros = 1; break;
case 'I': include_paths.push_back(optarg); break;
case 'a': compile_libs.push_back(optarg); break;
case 'L': run_paths.push_back(optarg); break;
case 'l': run_libs.push_back(optarg); break;
//.........这里部分代码省略.........