问题描述
- helper_string.h中checkCmdLineFlag函数功能以及参数含义
-
vs中cuda编程时,代码中碰到checkCmdLineFlag(argc, (const char **)argv, "help"),不知道含义,请各位大侠解答。
解决方案
参数就是三个参数,arge和argv代表参数个数和一个带有命令行字符串的二级指针,第三个参数是你要找的字符串(比如"help","device")
inline bool checkCmdLineFlag(const int argc, const char **argv, const char *string_ref)
{
bool bFound = false;
if (argc >= 1)
{
for (int i=1; i < argc; i++)
{
int string_start = stringRemoveDelimiter('-', argv[i]);
const char *string_argv = &argv[i][string_start];
const char *equal_pos = strchr(string_argv, '=');
int argv_length = (int)(equal_pos == 0 ? strlen(string_argv) : equal_pos - string_argv);
int length = (int)strlen(string_ref);
if (length == argv_length && !STRNCASECMP(string_argv, string_ref, length))
{
bFound = true;
continue;
}
}
}
return bFound;
}
时间: 2024-09-03 14:11:14