MOOS学习笔记3——命令行

MOOS学习笔记3——命令行

例程

/**
* @code  A simple example showing how to use a comms client问问怎么样
*/

#include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h"
#include "MOOS/libMOOS/Utils/CommandLineParser.h"
bool OnConnect ( void *pParam ) {
   CMOOSCommClient *pC = reinterpret_cast <CMOOSCommClient*> (pParam) ;
   pC->Register ("X", 0.0) ;
   return true ;
}
bool OnMail ( void *pParam ) {
   CMOOSCommClient *pC = reinterpret_cast <CMOOSCommClient*>(pParam) ;
   MOOSMSG_LIST M ; // get the mail
   pC->Fetch(M) ;
   MOOSMSG_LIST :: iterator q ; // process it
   for ( q=M . begin ( ) ; q!=M . end ( ) ; q++){
      q->Trace() ;
   }
   return true ;
}
int main ( int argc , char *argv [] ) {
   // understand the command line
   MOOS :: CommandLineParser P(argc , argv);
   std :: string db_host="localhost" ;
   P . GetVariable ("--moos_host" , db_host);
   int db_port =9000;
   P.GetVariable ("--moos_port" , db_port);
   std :: string my_name ="ex30" ;
   P.GetVariable ("--moos_name" , my_name);
   // configure the comms
   MOOS :: MOOSAsyncCommClient Comms;
   Comms . SetOnMailCallBack(OnMail ,& Comms );
   Comms . SetOnConnectCallBack( OnConnect ,&Comms );
   // start the comms running
   Comms . Run( db_host , db_port, my_name );

   // forever loop sending data
   std :: vector<unsigned char> X (100);
   for ( ; ; ) {
      MOOSPause (1000);
      Comms.Notify ("X", X);
   }
   return 0;
}

原文地址:https://www.cnblogs.com/jingshikongming/p/8971954.html

时间: 2024-11-04 05:19:42

MOOS学习笔记3——命令行的相关文章

osg学习笔记2, 命令行参数解析器ArgumentParser

ArgumentParser主要负责命令行参数的读取 #include <osgDB/ReadFile> #include <osgViewer/Viewer> int main(int argc, char **argv) { //命令行参数读取 osg::ArgumentParser arguments(&argc, argv); std::string filename; arguments.read("--model", filename); o

SQL Server 2012学习笔记 1 命令行安装

setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=748RB-X4T6B-MRM7V-RTVFF-CHC8H /FEATURES=SQL,AS,RS,IS,Tools /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="TEST\sql" /SQLSVCPASSWORD="[email protected]" /SQLSYSADMINACCOUNTS=&qu

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

linux学习笔记-type命令

语法: type [-tpa] name 参数: type:    不加任何参数时,type会显示出name是外部命令还是内部bash内置命令 -t:      当加入-t参数时,type会将name以下面这些字眼显示出它的意义 file:表示为外部命令 alias:表示该命令为命令别名所设置的名称 builtin:表示该命令为bash内置的命令功能 -p:     如果后面接的name为外部命令时,才显示完整文件名 -a:     会有path变量定义的路径中,将所有含有name的命令都列出来

memcached学习笔记——存储命令源码分析下篇

上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制. 本文是延续上一篇,继续分析存储命令的源码.接上一篇内存分配成功后,本文主要讲解:1.memcached存储方式:2.add和set命令的区别. memcached存储方式 哈希表(HashTable) 哈希表在实践中使用的非常广泛,例如编译器通常会维护的一个符号表来保存标记,很多高级语言中也显式的支持哈希

memcached学习笔记——存储命令源码分析上

原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command函数,探究memcached客户端的set命令,解读memcached是如何解析客户端文本命令,剖析memcached的内存管理,LRU算法是如何工作等等. 解析客户端文本命令 客户端向memcached server发出set操作,memcached server读取客户端的命令,客户端的连接状态

MOOS学习笔记2——HelloWorld回调

MOOS学习笔记2--HelloWorld回调 例程 #include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h" bool OnConnect(void* pParam){ CMOOSCommClient *pC=reinterpret_cast<CMOOSCommClient*>(pParam); pC->Register("Greeting",0.0); return true; } //用于SetO

MOOS学习笔记1——HelloWorld

MOOS学习笔记1--HelloWorld 例程 /* * @功能:通讯客户端的最简单程序,向MOOSDB发送名为"Greeting" * 数据"Hello",并向MOOSDB订阅该信息,接收信息后显示 * 出来 */ /* * @功能:插入通讯类头文件 * @介绍:MOOSAsyncCommClient与DB连接以后启动两个不同步的读写线程, * 极大的减少了时间延迟. */ #include"MOOS/libMOOS/Comms/MOOSAsyncCo

Standford Parser学习入门(2)-命令行运行

在Stanford parser目录中已经定义了一部分命令行工具以及图形界面,本文将介绍如何在windows使用这些工具进行语法分析,Linux下也有shell可以使用. 关于如何搭建环境请参考上一篇文章:Standford Parser学习入门(1)-Eclipse中配置 在解压目录中,打开命令窗口,运行lexparser.bat,会得到如下结果,即为命令行方式运行结果. 运行 lexparser-gui.bat,可弹出图形界面如下图,先点击Load Parser选择model文件(本例中用s