⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.cc

📁 支持组件模型CCM的开源中间件-mico
💻 CC
字号:
#include "bench.h"#include <CORBA.h>#include <iostream>#include <string>bench_ptr __bench;int __num;int __delay;int __thread_number;#ifdef HAVE_THREADSclass Invoker    : virtual public MICOMT::Thread{public:    void _run(void*)    {	for (int __i=0; __i<__num; __i++) {	    __bench->perform ();	}    }};#endif // HAVE_THREADSintmain (int __argc, char* __argv[]) {    CORBA::ORB_ptr __orb = CORBA::ORB_init (__argc, __argv, "mico-local-orb");    cout << "__argv[0]: " << __argv[0] << endl;  cout << "__argv[1]: " << __argv[1] << endl;  cout << "__argv[2]: " << __argv[2] << endl;  cout << "__argv[3]: " << __argv[3] << endl;  cout << "__argv[4]: " << __argv[4] << endl;  string __s = __argv[1];  cout << "method: " << __s << endl;  if (__s == "bind") {    cerr << "binding..." << endl;    CORBA::Object_ptr __obj = __orb->bind ("IDL:bench:1.0");    __bench = bench::_narrow (__obj);    cerr << "binded." << endl;  }  else if (__s == "ior") {    string __ior;    cin >> __ior;    CORBA::Object_ptr __obj = __orb->string_to_object(__ior.c_str());    __bench = bench::_narrow (__obj);  }  else {    cerr << "unsupported binding method." << endl;    exit(2);  }  if (CORBA::is_nil(__bench)) {    cerr << "can't bind to the bench interface" << endl;    exit(1);  }  __num = atoi (__argv[2]);  cout << "num: " << __num << endl;  __delay = atoi (__argv[3]);  cout << "invoke delay: " << __delay << endl;#ifdef HAVE_THREADS  __thread_number = atoi (__argv[4]);  cout << "number of threads: " << __thread_number << endl;  if (__thread_number > 0) {      Invoker* __thr_array[__thread_number];      for (int __i=0; __i<__thread_number; __i++) {	  __thr_array[__i] = new Invoker;      }      for (int __i=0; __i<__thread_number; __i++) {	  __thr_array[__i]->start();      }      for (int __i=0; __i<__thread_number; __i++) {	  __thr_array[__i]->wait();      }      //__bench->shutdown();      __orb->destroy();      return 0;  }#endif // HAVE_THREADS  for (int __i=0; __i<__num; __i++) {      try {          __bench->perform ();      } catch (...) {          cout << ".";      }      //::sleep (__delay);  }  __bench->shutdown();  __orb->destroy();  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -