Exemple #1
0
        /// <summary>
        /// 根据命令选择计数器类型
        /// </summary>
        /// <returns></returns>
        CounterTemplate _Factory()
        {
            string[]        lines   = FilesHelper.LoadCodeSource(_file);
            CounterTemplate counter = null;

            if (_file.EndsWith(".cpp") || _file.EndsWith(".c"))
            {
                counter = new CppCounter(lines);
            }
            return(counter);
        }
Exemple #2
0
        public void CountAndPrint(object threadContext)
        {
            try
            {
                int thIndex = (int)threadContext;
                Console.WriteLine("thread {0}: start...", thIndex);
                CounterTemplate counter = _Factory();
                if (counter == null)
                {
                    Console.WriteLine("Create counter failed!");
                    return;
                }

                counter.Count();
                counter.Print(_file);
                Console.WriteLine("thread {0}: end...", thIndex);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return;
            }
        }