Is mclRunMain necessary?
    7 次查看(过去 30 天)
  
       显示 更早的评论
    
Hello,
Most of the examples on calling C++ shared libraries have the format:
    int main()
    {
        mclmcrInitialize();
        return mclRunMain((mclMainFcnType)run_main,0,NULL);
    }
int run_main(int argc, char **argv)
{
    if (!mclInitializeApplication(NULL,0)) 
    {
        std::cerr << "could not initialize the application properly"
                   << std::endl;
      return -1;
    }
    if( !mylibInitialize() )
    {
        std::cerr << "could not initialize the library properly"
                   << std::endl;
  return -1;
    }
    else
    {
        try
          {           
                       mwArray a(5);
        myfunc(a);
          }
          mylibTerminate();
      }
      mclTerminateApplication();
      return 0;
  }
I was just wondering if it would be ok to omit mclRunMain function, and just do everything in main, like this:
int main()
{
    mclmcrInitialize();
      if (!mclInitializeApplication(NULL,0)) 
    {
        std::cerr << "could not initialize the application properly"
                   << std::endl;
      return -1;
    }
    if( !mylibInitialize() )
    {
        std::cerr << "could not initialize the library properly"
                   << std::endl;
  return -1;
    }
    else
    {
        try
        {
            mwArray a(5);
      myfunc(a);
          }
          mylibTerminate();
      }
      mclTerminateApplication();
      return 0;
  }
Thank you.
0 个评论
回答(1 个)
  Peter Webb
    
 2011-3-22
        You need mclRunMain on the Macintosh, and if you're using MATLAB Graphics. Otherwise you can probably do without it.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 C Shared Library Integration 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

