包含以下子模块: - VrCommon: 核心接口和数据结构 - VrUtils: 工具类库(JSON、log4cpp、tinyxml2、INI、MD5、CRC) - CloudUtils: 点云工具 - DataUtils: 数据处理工具(CloudMathClac、CoordinateTransform) - CloudView: 点云查看工具 功能说明: - 提供项目通用的基础工具类和实用功能 - 支持 Windows (MSVC/MinGW) 和 Linux (ARM/x86_64) 平台 - 使用 Qt qmake 构建系统 - 所有模块编译为静态库
44 lines
723 B
C++
44 lines
723 B
C++
#include "VrShellUtils.h"
|
||
#include <thread>
|
||
#include <chrono>
|
||
#include <stdlib.h>
|
||
#include <sys/stat.h>
|
||
#include <string.h>
|
||
|
||
#ifndef _WIN32
|
||
#include <sys/wait.h>
|
||
#include <sys/ioctl.h>
|
||
#endif
|
||
|
||
/// @brief
|
||
/// Ö´ÐÐShellÃüÁî
|
||
/// <param name="data">[in]ShellÃüÁî</param>
|
||
int CVrShellUtils::ExecuCMD(const char *data)
|
||
{
|
||
int ret = 0;
|
||
#ifndef _WIN32
|
||
while (true)
|
||
{
|
||
ret = system(data);
|
||
if (WIFSIGNALED(ret) && (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
|
||
{
|
||
if (ret == 512)
|
||
{
|
||
break;
|
||
}
|
||
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||
continue;
|
||
}
|
||
else
|
||
{
|
||
#ifdef SHELL_PRINT
|
||
LOG_DEBUG("execu %s successful code:%d", data, ret);
|
||
#endif
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
#endif
|
||
return ret;
|
||
}
|