您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AppInit2函数代码示例

51自学网 2021-06-01 19:47:10
  C++
这篇教程C++ AppInit2函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AppInit2函数的典型用法代码示例。如果您正苦于以下问题:C++ AppInit2函数的具体用法?C++ AppInit2怎么用?C++ AppInit2使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了AppInit2函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: AppInit

bool AppInit(int argc, char* argv[]){    bool fRet = false;    try    {        fRet = AppInit2(argc, argv);    }    catch (std::exception& e) {        PrintException(&e, "AppInit()");    } catch (...) {        PrintException(NULL, "AppInit()");    }    if (!fRet)        Shutdown(NULL);    return fRet;}
开发者ID:fconcklin,项目名称:namecoin,代码行数:16,


示例2: AppInit

bool AppInit(int argc, char* argv[],boost::thread_group &threadGroup) {	bool fRet = false;	try {		CBaseParams::IntialParams(argc, argv);		SysCfg().InitalConfig();		PrintTestNotSetPara();		if (SysCfg().IsArgCount("-?") || SysCfg().IsArgCount("--help")) {			// First part of help message is specific to Dacrsd / RPC client			std::string strUsage = _("Bitcoin Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "/n/n"					+ _("Usage:") + "/n" + "  Dacrsd [options]                     " + _("Start Bitcoin Core Daemon")					+ "/n" + _("Usage (deprecated, use Dacrs-cli):") + "/n"					+ "  Dacrsd [options] <command> [params]  " + _("Send command to Bitcoin Core") + "/n"					+ "  Dacrsd [options] help                " + _("List commands") + "/n"					+ "  Dacrsd [options] help <command>      " + _("Get help for a command") + "/n";			strUsage += "/n" + HelpMessage(HMM_BITCOIND);			strUsage += "/n" + HelpMessageCli(false);			fprintf(stdout, "%s", strUsage.c_str());			return false;		}		// Command-line RPC		bool fCommandLine = false;		for (int i = 1; i < argc; i++)			if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "Dacrs:"))				fCommandLine = true;		if (fCommandLine) {			int ret = CommandLineRPC(argc, argv);			exit(ret);		}		SysCfg().SoftSetBoolArg("-server", true);		fRet = AppInit2(threadGroup);	} catch (std::exception& e) {		PrintExceptionContinue(&e, "AppInit()");	} catch (...) {		PrintExceptionContinue(NULL, "AppInit()");	}	return fRet;}
开发者ID:hdczsf,项目名称:dacrs,代码行数:46,


示例3: main

int main(int argc, char *argv[]){    Q_INIT_RESOURCE(bitcoin);    QApplication app(argc, argv);    // Load language file for system locale    QString locale = QLocale::system().name();    QTranslator translator;    translator.load("bitcoin_"+locale);    app.installTranslator(&translator);    app.setQuitOnLastWindowClosed(false);    try    {        if(AppInit2(argc, argv))        {            {                // Put this in a block, so that BitcoinGUI is cleaned up properly before                // calling shutdown.                BitcoinGUI window;                ClientModel clientModel(pwalletMain);                WalletModel walletModel(pwalletMain);                guiref = &window;                window.setClientModel(&clientModel);                window.setWalletModel(&walletModel);                window.show();                app.exec();                guiref = 0;            }            Shutdown(NULL);        }        else        {            return 1;        }    } catch (std::exception& e) {        PrintException(&e, "Runaway exception");    } catch (...) {        PrintException(NULL, "Runaway exception");    }    return 0;}
开发者ID:beecee1,项目名称:Fairbrix,代码行数:46,


示例4: printf

void CryptobullionCore::initialize(){    try    {        printf("Running AppInit2 in thread/n");        int rv = AppInit2(threadGroup);        if(rv)        {            /* Start a dummy RPC thread if no RPC thread is active yet             * to handle timeouts.             */            //StartDummyRPCThread();        }        emit initializeResult(rv);    } catch (std::exception& e) {        handleRunawayException(&e);    } catch (...) {        handleRunawayException(NULL);    }}
开发者ID:cryptogenicbonds,项目名称:CryptoBullion-CBX,代码行数:20,


示例5: AppInit

////////////////////////////////////////////////////////////////////////////////// Start//bool AppInit(int argc, char* argv[]){    boost::thread_group threadGroup;    bool fRet = false;    try    {        //        // Parameters        //        // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()        ParseParameters(argc, argv);        if (!boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified directory does not exist/n");            Shutdown();        }        ReadConfigFile(mapArgs, mapMultiArgs);        if (mapArgs.count("-?") || mapArgs.count("--help"))        {            // First part of help message is specific to bitcoind / RPC client            std::string strUsage = _("FlappyCoin version") + " " + FormatFullVersion() + "/n/n" +                _("Usage:") + "/n" +                  "  FlappyCoind [options]                     " + "/n" +                  "  FlappyCoind [options] <command> [params]  " + _("Send command to -server or FlappyCoind") + "/n" +                  "  FlappyCoind [options] help                " + _("List commands") + "/n" +                  "  FlappyCoind [options] help <command>      " + _("Get help for a command") + "/n";            strUsage += "/n" + HelpMessage();            fprintf(stdout, "%s", strUsage.c_str());            return false;        }        // Command-line RPC        for (int i = 1; i < argc; i++)            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "FlappyCoin:"))                fCommandLine = true;        if (fCommandLine)        {            if (!SelectParamsFromCommandLine()) {                fprintf(stderr, "Error: invalid combination of -regtest and -testnet./n");                return false;            }            int ret = CommandLineRPC(argc, argv);            exit(ret);        }#if !defined(WIN32)        fDaemon = GetBoolArg("-daemon", false);        if (fDaemon)        {            // Daemonize            pid_t pid = fork();            if (pid < 0)            {                fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);                return false;            }            if (pid > 0) // Parent process, pid is child process id            {                CreatePidFile(GetPidFile(), pid);                return true;            }            // Child process falls through to rest of initialization            pid_t sid = setsid();            if (sid < 0)                fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);        }#endif        fRet = AppInit2(threadGroup);    }    catch (std::exception& e) {        PrintException(&e, "AppInit()");    } catch (...) {        PrintException(NULL, "AppInit()");    }    if (!fRet)    {        threadGroup.interrupt_all();        // threadGroup.join_all(); was left out intentionally here, because we didn't re-test all of        // the startup-failure cases to make sure they don't result in a hang due to some        // thread-blocking-waiting-for-another-thread-during-startup case    } else {        WaitForShutdown(&threadGroup);    }    Shutdown();    return fRet;}
开发者ID:Crestington,项目名称:flappycoin-master,代码行数:98,


示例6: AppInit

////////////////////////////////////////////////////////////////////////////////// Start//bool AppInit(int argc, char* argv[]){    boost::thread_group threadGroup;    boost::thread* detectShutdownThread = NULL;    bool fRet = false;    try    {        //        // Parameters        //        // If Qt is used, parameters/bonus.conf are parsed in qt/bitcoin.cpp's main()        ParseParameters(argc, argv);        if (!boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified directory does not exist/n");            Shutdown();        }        ReadConfigFile(mapArgs, mapMultiArgs);        if (mapArgs.count("-?") || mapArgs.count("--help"))        {            // First part of help message is specific to bonusd / RPC client            std::string strUsage = _("Bonus version") + " " + FormatFullVersion() + "/n/n" +                _("Usage:") + "/n" +                  "  bonusd [options]                     " + "/n" +                  "  bonusd [options] <command> [params]  " + _("Send command to -server or bonusd") + "/n" +                  "  bonusd [options] help                " + _("List commands") + "/n" +                  "  bonusd [options] help <command>      " + _("Get help for a command") + "/n";            strUsage += "/n" + HelpMessage();            fprintf(stdout, "%s", strUsage.c_str());            return false;        }        // Command-line RPC        for (int i = 1; i < argc; i++)            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "bonus:"))                fCommandLine = true;        if (fCommandLine)        {            if (!SelectParamsFromCommandLine()) {                fprintf(stderr, "Error: invalid combination of -regtest and -testnet./n");                return false;            }            int ret = CommandLineRPC(argc, argv);            exit(ret);        }#if !defined(WIN32)        fDaemon = GetBoolArg("-daemon", false);        if (fDaemon)        {            // Daemonize            pid_t pid = fork();            if (pid < 0)            {                fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);                return false;            }            if (pid > 0) // Parent process, pid is child process id            {                CreatePidFile(GetPidFile(), pid);                return true;            }            // Child process falls through to rest of initialization            pid_t sid = setsid();            if (sid < 0)                fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);        }#endif        detectShutdownThread = new boost::thread(boost::bind(&DetectShutdownThread, &threadGroup));        fRet = AppInit2(threadGroup);    }    catch (std::exception& e) {        PrintExceptionContinue(&e, "AppInit()");    } catch (...) {        PrintExceptionContinue(NULL, "AppInit()");    }    if (!fRet) {        if (detectShutdownThread)            detectShutdownThread->interrupt();        threadGroup.interrupt_all();    }    if (detectShutdownThread)    {        detectShutdownThread->join();        delete detectShutdownThread;        detectShutdownThread = NULL;    }    Shutdown();//.........这里部分代码省略.........
开发者ID:bonuscoin,项目名称:bonuscoin,代码行数:101,


示例7: AppInit

////////////////////////////////////////////////////////////////////////////////// Start//bool AppInit(int argc, char* argv[]){    boost::thread_group threadGroup;    boost::thread* detectShutdownThread = NULL;    bool fRet = false;    //    // Parameters    //    // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()    ParseParameters(argc, argv);    // Process help and version before taking care about datadir    if (mapArgs.count("-?") || mapArgs.count("-h") ||  mapArgs.count("-help") || mapArgs.count("-version"))    {        std::string strUsage = _("Florincoin Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "/n";        if (mapArgs.count("-version"))        {            strUsage += LicenseInfo();        }        else        {            strUsage += "/n" + _("Usage:") + "/n" +                  "  florincoind [options]                     " + _("Start Florincoin Core Daemon") + "/n";            strUsage += "/n" + HelpMessage(HMM_BITCOIND);        }        fprintf(stdout, "%s", strUsage.c_str());        return false;    }    try    {        if (!boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified data directory /"%s/" does not exist./n", mapArgs["-datadir"].c_str());            return false;        }        try        {            ReadConfigFile(mapArgs, mapMultiArgs);        } catch(std::exception &e) {            fprintf(stderr,"Error reading configuration file: %s/n", e.what());            return false;        }        // Check for -testnet or -regtest parameter (Params() calls are only valid after this clause)        if (!SelectParamsFromCommandLine()) {            fprintf(stderr, "Error: Invalid combination of -regtest and -testnet./n");            return false;        }        // Command-line RPC        bool fCommandLine = false;        for (int i = 1; i < argc; i++)            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "florincoin:"))                fCommandLine = true;        if (fCommandLine)        {            fprintf(stderr, "Error: There is no RPC client functionality in florincoind anymore. Use the florincoin-cli utility instead./n");            exit(1);        }#ifndef WIN32        fDaemon = GetBoolArg("-daemon", false);        if (fDaemon)        {            fprintf(stdout, "Florincoin server starting/n");            // Daemonize            pid_t pid = fork();            if (pid < 0)            {                fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);                return false;            }            if (pid > 0) // Parent process, pid is child process id            {                return true;            }            // Child process falls through to rest of initialization            pid_t sid = setsid();            if (sid < 0)                fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);        }#endif        SoftSetBoolArg("-server", true);        detectShutdownThread = new boost::thread(boost::bind(&DetectShutdownThread, &threadGroup));        fRet = AppInit2(threadGroup);    }    catch (std::exception& e) {        PrintExceptionContinue(&e, "AppInit()");//.........这里部分代码省略.........
开发者ID:florincoin,项目名称:florincoin,代码行数:101,


示例8: AppInit

////////////////////////////////////////////////////////////////////////////////// Start//bool AppInit(int argc, char* argv[]){    boost::thread_group threadGroup;    boost::thread* detectShutdownThread = NULL;    bool fRet = false;    try    {        //        // Parameters        //        // If Qt is used, parameters/flex.conf are parsed in qt/bitcoin.cpp's main()                ParseParameters(argc, argv);        if (!boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified data directory /"%s/" does not exist./n", mapArgs["-datadir"].c_str());            return false;        }        try        {            ReadConfigFile(mapArgs, mapMultiArgs);                    } catch(std::exception &e) {            fprintf(stderr,"Error reading configuration file: %s/n", e.what());            return false;        }                if (mapArgs.count("-?") || mapArgs.count("--help"))        {            // First part of help message is specific to flexd / RPC client            std::string strUsage = _("Flex Daemon") + " " + _("version") + " " + FormatFullVersion() + "/n/n" +                _("Usage:") + "/n" +                  "  flexd [options]                     " + _("Start Flex Core Daemon") + "/n" +                _("Usage (deprecated, use flex-cli):") + "/n" +                  "  flexd [options] <command> [params]  " + _("Send command to Flex Core") + "/n" +                  "  flexd [options] help                " + _("List commands") + "/n" +                  "  flexd [options] help <command>      " + _("Get help for a command") + "/n";            strUsage += "/n" + HelpMessage(HMM_BITCOIND);            strUsage += "/n" + HelpMessageCli(false);            fprintf(stdout, "%s", strUsage.c_str());            return false;        }                // Command-line RPC        bool fCommandLine = false;        for (int i = 1; i < argc; i++)            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "bitcoin:"))                fCommandLine = true;        if (fCommandLine)        {            int ret = CommandLineRPC(argc, argv);            exit(ret);        }        #ifndef WIN32        fDaemon = GetBoolArg("-daemon", false);        if (fDaemon)        {            fprintf(stdout, "Flex server starting/n");            // Daemonize            pid_t pid = fork();            if (pid < 0)            {                fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);                return false;            }            if (pid > 0) // Parent process, pid is child process id            {                CreatePidFile(GetPidFile(), pid);                return true;            }            // Child process falls through to rest of initialization            pid_t sid = setsid();            if (sid < 0)                fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);        }#endif        SoftSetBoolArg("-server", true);                detectShutdownThread = new boost::thread(boost::bind(&DetectShutdownThread, &threadGroup));                fRet = AppInit2(threadGroup);            }    catch (std::exception& e) {        PrintExceptionContinue(&e, "AppInit()");    } catch (...) {        PrintExceptionContinue(NULL, "AppInit()");    }//.........这里部分代码省略.........
开发者ID:peer-node,项目名称:flex,代码行数:101,


示例9: main

int main(int argc, char *argv[]){    // Do this early as we don't want to bother initializing if we are just calling IPC    for (int i = 1; i < argc; i++)    {        if (strlen(argv[i]) > 7 && strncasecmp(argv[i], "bitcoin:", 8) == 0)        {            const char *strURL = argv[i];            try {                boost::interprocess::message_queue mq(boost::interprocess::open_only, "BitcoinURL");                if(mq.try_send(strURL, strlen(strURL), 0))                    exit(0);                else                    break;            }            catch (boost::interprocess::interprocess_exception &ex) {                break;            }        }    }    // Internal string conversion is all UTF-8    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));    QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());    Q_INIT_RESOURCE(bitcoin);    QApplication app(argc, argv);    ParseParameters(argc, argv);    // Get desired locale ("en_US") from command line or system locale    QString lang_territory = QString::fromStdString(GetArg("-lang", QLocale::system().name().toStdString()));    // Load language files for configured locale:    // - First load the translator for the base language, without territory    // - Then load the more specific locale translator    QString lang = lang_territory;    lang.truncate(lang_territory.lastIndexOf('_')); // "en"    QTranslator qtTranslatorBase, qtTranslator, translatorBase, translator;    qtTranslatorBase.load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/qt_" + lang);    if (!qtTranslatorBase.isEmpty())        app.installTranslator(&qtTranslatorBase);    qtTranslator.load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/qt_" + lang_territory);    if (!qtTranslator.isEmpty())        app.installTranslator(&qtTranslator);    translatorBase.load(":/translations/"+lang);    if (!translatorBase.isEmpty())        app.installTranslator(&translatorBase);    translator.load(":/translations/"+lang_territory);    if (!translator.isEmpty())        app.installTranslator(&translator);    app.setApplicationName(QApplication::translate("main", "Bitcoin-Qt"));    QSplashScreen splash(QPixmap(":/images/splash"), 0);    splash.show();    splash.setAutoFillBackground(true);    splashref = &splash;    app.processEvents();    app.setQuitOnLastWindowClosed(false);    try    {        if(AppInit2(argc, argv))        {            {                // Put this in a block, so that BitcoinGUI is cleaned up properly before                // calling Shutdown() in case of exceptions.                BitcoinGUI window;                splash.finish(&window);                OptionsModel optionsModel(pwalletMain);                ClientModel clientModel(&optionsModel);                WalletModel walletModel(pwalletMain, &optionsModel);                guiref = &window;                window.setClientModel(&clientModel);                window.setWalletModel(&walletModel);                // If -min option passed, start window minimized.                if(GetBoolArg("-min"))                {                    window.showMinimized();                }                else                {                    window.show();                }                // Place this here as guiref has to be defined if we dont want to lose URLs                ipcInit();                // Check for URL in argv                for (int i = 1; i < argc; i++)                {                    if (strlen(argv[i]) > 7 && strncasecmp(argv[i], "bitcoin:", 8) == 0)//.........这里部分代码省略.........
开发者ID:Plaidxx,项目名称:bitcoin,代码行数:101,


示例10: AppInit

////////////////////////////////////////////////////////////////////////////////// Start//bool AppInit(int argc, char* argv[]){    boost::thread_group threadGroup;    CScheduler scheduler;    bool fRet = false;    //    // Parameters    //    // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()    ParseParameters(argc, argv);    // Process help and version before taking care about datadir    if (mapArgs.count("-?") || mapArgs.count("-h") ||  mapArgs.count("-help") || mapArgs.count("-version"))    {        std::string strUsage = strprintf(_("%s Daemon"), _(PACKAGE_NAME)) + " " + _("version") + " " + FormatFullVersion() + "/n";        if (mapArgs.count("-version"))        {            strUsage += FormatParagraph(LicenseInfo());        }        else        {            strUsage += "/n" + _("Usage:") + "/n" +                  "  bitcoind [options]                     " + strprintf(_("Start %s Daemon"), _(PACKAGE_NAME)) + "/n";            strUsage += "/n" + HelpMessage(HMM_BITCOIND);        }        fprintf(stdout, "%s", strUsage.c_str());        return false;    }    try    {        if (!boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified data directory /"%s/" does not exist./n", mapArgs["-datadir"].c_str());            return false;        }        try        {            ReadConfigFile(GetArg("-conf", BITCOIN_CONF_FILENAME), mapArgs, mapMultiArgs);        } catch (const std::exception& e) {            fprintf(stderr,"Error reading configuration file: %s/n", e.what());            return false;        }        // Check for -testnet or -regtest parameter (Params() calls are only valid after this clause)        try {            SelectParams(ChainNameFromCommandLine());        } catch (const std::exception& e) {            fprintf(stderr, "Error: %s/n", e.what());            return false;        }        // Command-line RPC        bool fCommandLine = false;        for (int i = 1; i < argc; i++)            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "bitcoin:"))                fCommandLine = true;        if (fCommandLine)        {            fprintf(stderr, "Error: There is no RPC client functionality in bitcoind anymore. Use the bitcoin-cli utility instead./n");            exit(1);        }        if (GetBoolArg("-daemon", false))        {#if HAVE_DECL_DAEMON            fprintf(stdout, "Bitcoin server starting/n");            // Daemonize            if (daemon(1, 0)) { // don't chdir (1), do close FDs (0)                fprintf(stderr, "Error: daemon() failed: %s/n", strerror(errno));                return false;            }#else            fprintf(stderr, "Error: -daemon is not supported on this operating system/n");            return false;#endif // HAVE_DECL_DAEMON        }        SoftSetBoolArg("-server", true);        // Set this early so that parameter interactions go to console        InitLogging();        InitParameterInteraction();        fRet = AppInit2(threadGroup, scheduler);    }    catch (const std::exception& e) {        PrintExceptionContinue(&e, "AppInit()");    } catch (...) {        PrintExceptionContinue(NULL, "AppInit()");    }    if (!fRet)//.........这里部分代码省略.........
开发者ID:Michagogo,项目名称:bitcoin,代码行数:101,


示例11: AppInit

//.........这里部分代码省略.........        fprintf(stdout, "%s", strUsage.c_str());        return true;    }    try    {        bool datadirFromCmdLine = mapArgs.count("-datadir") != 0;        if (datadirFromCmdLine && !boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified data directory /"%s/" does not exist./n", mapArgs["-datadir"].c_str());            return false;        }        try        {            ReadConfigFile(mapArgs, mapMultiArgs);        } catch (const std::exception& e) {            fprintf(stderr,"Error reading configuration file: %s/n", e.what());            return false;        }        if (!datadirFromCmdLine && !boost::filesystem::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified data directory /"%s/" from config file does not exist./n", mapArgs["-datadir"].c_str());            return EXIT_FAILURE;        }        // Check for -testnet or -regtest parameter (Params() calls are only valid after this clause)        try {            SelectParams(ChainNameFromCommandLine());        } catch (const std::exception& e) {            fprintf(stderr, "Error: %s/n", e.what());            return false;        }        // parse masternode.conf        std::string strErr;        if(!masternodeConfig.read(strErr)) {            fprintf(stderr,"Error reading masternode configuration file: %s/n", strErr.c_str());            return false;        }        // Command-line RPC        bool fCommandLine = false;        for (int i = 1; i < argc; i++)            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "dash:"))                fCommandLine = true;        if (fCommandLine)        {            fprintf(stderr, "Error: There is no RPC client functionality in dashd anymore. Use the dash-cli utility instead./n");            exit(EXIT_FAILURE);        }#ifndef WIN32        fDaemon = GetBoolArg("-daemon", false);        if (fDaemon)        {            fprintf(stdout, "Dash Core server starting/n");            // Daemonize            pid_t pid = fork();            if (pid < 0)            {                fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);                return false;            }            if (pid > 0) // Parent process, pid is child process id            {                return true;            }            // Child process falls through to rest of initialization            pid_t sid = setsid();            if (sid < 0)                fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);        }#endif        SoftSetBoolArg("-server", true);        // Set this early so that parameter interactions go to console        InitLogging();        InitParameterInteraction();        fRet = AppInit2(threadGroup, scheduler);    }    catch (const std::exception& e) {        PrintExceptionContinue(&e, "AppInit()");    } catch (...) {        PrintExceptionContinue(NULL, "AppInit()");    }    if (!fRet)    {        Interrupt(threadGroup);        // threadGroup.join_all(); was left out intentionally here, because we didn't re-test all of        // the startup-failure cases to make sure they don't result in a hang due to some        // thread-blocking-waiting-for-another-thread-during-startup case    } else {        WaitForShutdown(&threadGroup);    }    Shutdown();    return fRet;}
开发者ID:schinzelh,项目名称:dash,代码行数:101,


示例12: main

int main(int argc, char *argv[]){    // Do this early as we don't want to bother initializing if we are just calling IPC    for (int i = 1; i < argc; i++)    {        if (strlen(argv[i]) > 8 && strncasecmp(argv[i], "bitshekel:", 9) == 0)        {            const char *strURL = argv[i];            try {                boost::interprocess::message_queue mq(boost::interprocess::open_only, "BitcoinURL");                if(mq.try_send(strURL, strlen(strURL), 0))                    exit(0);                else                    break;            }            catch (boost::interprocess::interprocess_exception &ex) {                break;            }        }    }    // Internal string conversion is all UTF-8    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));    QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());    Q_INIT_RESOURCE(bitcoin);    QApplication app(argc, argv);    // Command-line options take precedence:    ParseParameters(argc, argv);    // ... then bitcoin.conf:    if (!ReadConfigFile(mapArgs, mapMultiArgs))    {        fprintf(stderr, "Error: Specified directory does not exist/n");        return 1;    }    // Application identification (must be set before OptionsModel is initialized,    // as it is used to locate QSettings)    app.setOrganizationName("Bitcoin");    app.setOrganizationDomain("bitcoin.org");    if(GetBoolArg("-testnet")) // Separate UI settings for testnet        app.setApplicationName("Bitshekel-Qt-testnet");    else        app.setApplicationName("Bitshekel-Qt");    // ... then GUI settings:    OptionsModel optionsModel;    // Get desired locale ("en_US") from command line or system locale    QString lang_territory = QString::fromStdString(GetArg("-lang", QLocale::system().name().toStdString()));    // Load language files for configured locale:    // - First load the translator for the base language, without territory    // - Then load the more specific locale translator    QString lang = lang_territory;    lang.truncate(lang_territory.lastIndexOf('_')); // "en"    QTranslator qtTranslatorBase, qtTranslator, translatorBase, translator;    qtTranslatorBase.load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/qt_" + lang);    if (!qtTranslatorBase.isEmpty())        app.installTranslator(&qtTranslatorBase);    qtTranslator.load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/qt_" + lang_territory);    if (!qtTranslator.isEmpty())        app.installTranslator(&qtTranslator);    translatorBase.load(":/translations/"+lang);    if (!translatorBase.isEmpty())        app.installTranslator(&translatorBase);    translator.load(":/translations/"+lang_territory);    if (!translator.isEmpty())        app.installTranslator(&translator);    QSplashScreen splash(QPixmap(":/images/splash"), 0);    if (GetBoolArg("-splash", true) && !GetBoolArg("-min"))    {        splash.show();        splash.setAutoFillBackground(true);        splashref = &splash;    }    app.processEvents();    app.setQuitOnLastWindowClosed(false);    try    {        if(AppInit2(argc, argv))        {            {                // Put this in a block, so that BitcoinGUI is cleaned up properly before                // calling Shutdown() in case of exceptions.                optionsModel.Upgrade(); // Must be done after AppInit2                BitcoinGUI window;                if (splashref)//.........这里部分代码省略.........
开发者ID:yhusha,项目名称:BSH,代码行数:101,


示例13: AppInit

////////////////////////////////////////////////////////////////////////////////// Start//bool AppInit(int argc, char* argv[],boost::thread_group &threadGroup) {//	boost::thread* detectShutdownThread = NULL;	bool fRet = false;	try {		//		// Parameters		//		// If Qt is used, parameters/sharkfund.conf are parsed in qt/Sharkfund.cpp's main()		CBaseParams::IntialParams(argc, argv);		SysCfg().InitalConfig();		if (SysCfg().IsArgCount("-?") || SysCfg().IsArgCount("--help")) {			// First part of help message is specific to Dacrsd / RPC client			std::string strUsage = _("Sharkfund Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "/n/n"					+ _("Usage:") + "/n" + "  Dacrsd [options]                     " + _("Start Sharkfund Core Daemon")					+ "/n" + _("Usage (deprecated, use Sharkfund-cli):") + "/n"					+ "  sharkfund [options] <command> [params]  " + _("Send command to Sharkfund Core") + "/n"					+ "  sharkfund [options] help                " + _("List commands") + "/n"					+ "  sharkfund [options] help <command>      " + _("Get help for a command") + "/n";			strUsage += "/n" + HelpMessage(HMM_BITCOIND);			strUsage += "/n" + HelpMessageCli(false);			fprintf(stdout, "%s", strUsage.c_str());			return false;		}		// Command-line RPC		bool fCommandLine = false;		for (int i = 1; i < argc; i++)			if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "Sharkfund:"))				fCommandLine = true;		if (fCommandLine) {			int ret = CommandLineRPC(argc, argv);			exit(ret);		}#ifndef WIN32		fDaemon = SysCfg().GetBoolArg("-daemon", false);		if (fDaemon)		{			fprintf(stdout, "Sharkfund server starting/n");			// Daemonize			pid_t pid = fork();			if (pid < 0)			{				fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);				return false;			}			if (pid > 0) // Parent process, pid is child process id			{				CreatePidFile(GetPidFile(), pid);				return true;			}			// Child process falls through to rest of initialization			pid_t sid = setsid();			if (sid < 0)			fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);		}#endif		SysCfg().SoftSetBoolArg("-server", true);		fRet = AppInit2(threadGroup);	} catch (std::exception& e) {		PrintExceptionContinue(&e, "AppInit()");	} catch (...) {		PrintExceptionContinue(NULL, "AppInit()");	}	return fRet;}
开发者ID:sharkfund001,项目名称:sharkfund,代码行数:81,


示例14: AppInit

//.........这里部分代码省略.........    {        fprintf(stderr, "Error reading configuration file: %s/n", e.what());        return false;    }    GenerateNetworkTemplates();    // Process help and version before taking care about datadir    if (gArgs.IsArgSet("-?") || gArgs.IsArgSet("-h") || gArgs.IsArgSet("-help") || gArgs.IsArgSet("-version"))    {        std::string strUsage = "Eccoind version " + FormatFullVersion() + "/n";        if (gArgs.IsArgSet("-version"))        {            strUsage += LicenseInfo();        }        else        {            strUsage += "/nUsage:/neccoind [options]                     Start Eccoind/n";            strUsage += "/n" + HelpMessage();        }        fprintf(stdout, "%s", strUsage.c_str());        return false;    }    try    {        if (!fs::is_directory(GetDataDir(false)))        {            fprintf(stderr, "Error: Specified data directory /"%s/" does not exist./n",                gArgs.GetArg("-datadir", "").c_str());            return false;        }        // Command-line RPC        bool fCommandLine = false;        for (int i = 1; i < argc; i++)        {            if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "ECC:"))            {                fCommandLine = true;            }        }        if (fCommandLine)        {            int ret = CommandLineRPC(argc, argv);            exit(ret);        }#ifndef WIN32        fDaemon = gArgs.GetBoolArg("-daemon", false);        if (fDaemon)        {            fprintf(stdout, "Eccoind server starting/n");            // Daemonize            pid_t pid = fork();            if (pid < 0)            {                fprintf(stderr, "Error: fork() returned %d errno %d/n", pid, errno);                return false;            }            if (pid > 0) // Parent process, pid is child process id            {                return true;            }            // Child process falls through to rest of initialization            pid_t sid = setsid();            if (sid < 0)                fprintf(stderr, "Error: setsid() returned %d errno %d/n", sid, errno);        }#endif        gArgs.SoftSetBoolArg("-server", true);        // Set this early so that parameter interactions go to console        InitLogging();        InitParameterInteraction();        fRet = AppInit2(threadGroup);    }    catch (const std::exception &e)    {        PrintExceptionContinue(&e, "AppInit()");    }    catch (...)    {        PrintExceptionContinue(NULL, "AppInit()");    }    if (!fRet)    {        Interrupt(threadGroup);    }    else    {        WaitForShutdown(&threadGroup);    }    Shutdown();    return fRet;}
开发者ID:AltJ,项目名称:ECCoin,代码行数:101,



注:本文中的AppInit2函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ AppLayerParse函数代码示例
C++ AppInit函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。