ACE_Get_Opt参数解析类

#include <ace/Get_Opt.h>
#include <string>
#include <iostream>
using namespace std;

void usage()
{    
	cout << " 参数错误 " << endl;
	cout << " -h : 服务器IP" << endl;
	cout << " -p : 服务器端口" << endl;
	cout << " -d : 以调试模式运行" << endl;    
}

int main(int argc, char *argv[])
{
	if (argc < 2)
	{
		usage();
		return 1;
	}
	ACE_Get_Opt cmdline (argc, argv, "h:p:d");

	int cnt = 0;//必备参数计数器
	string host = "";
	int port = 0;
	bool debug = false;
	int cmd = 0;
	while ((cmd = cmdline()) != -1)
	{
		switch (cmd)
		{
		case 'h':
			{
				host = cmdline.opt_arg();
				cout << "host : " << host << endl;
				++cnt;
				break;
			}
		case 'p':
			{
				port = ACE_OS::atoi(cmdline.opt_arg());
				cout << "port : " << port << endl;
				++cnt;
				break;
			}
		case 'd':
			{
				debug = true;
				cout << "debug mode" << endl;
				break;
			}
		default :
			{
				usage();
				return 1;
			}

		}
	}

	if (cnt < 2)
	{
		usage();
		return 1;
	}

	return 0;//a.exec();
};

VS2010 ACE环境配置:

 /.vcxproj文件中替换以下即可,qt4.8.4
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Optimization>Disabled</Optimization>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories);$(ACE6_DIR)</AdditionalIncludeDirectories>
      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
      <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories);$(ACE6_DIR)\lib</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AdditionalDependencies>qtmaind.lib;QtCored4.lib;%(AdditionalDependencies);ACE6d.lib</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值