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;
}