?? group__main.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Othello Solver: Main Program Module</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.5 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>Main Program Module</h1><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__main.html#ga0">usage</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Print program usage. <a href="#ga0"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__main.html#ga1">main</a> (int argc, char **argv)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Program main function. <a href="#ga1"></a><br><br></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>The main function and a usage function explaining the program options are defined here. <hr><h2>Function Documentation</h2><a class="anchor" name="ga1" doxytag="solver.c::main" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int main </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname" nowrap> <em>argc</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>char ** </td> <td class="mdname" nowrap> <em>argv</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Program main function. <p>Read optional parameters and a script file name from the command line. Then loop through the positions provided in the script file, solving each one according to the chosen options. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>argc</em> </td><td>number of arguments. </td></tr> <tr><td valign=top><em>argv</em> </td><td>arguments. </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>SUCCESS_EXIT or SUCCESS_FAILURE. </dd></dl><p><div class="fragment"><pre>02240 {02241 <a class="code" href="structBoard.html">Board</a> board;02242 <a class="code" href="structMove.html">Move</a> bestmove;02243 <span class="keywordtype">char</span> *file_name = NULL, problem[256];02244 FILE *file;02245 clock_t t, T = 0;02246 <span class="keywordtype">int</span> i, verbose = 0, mode = <a class="code" href="group__mac.html#gga59a134">EXACT_SCORE</a>;02247 <span class="keywordtype">double</span> nodes = 0.0;02248 <a class="code" href="structHashTable.html">HashTable</a> hash_table = {NULL, 0};02249 <span class="preprocessor">#if COUNT_NODES > 0</span>02250 <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *HEADER = <span class="stringliteral">"\n # |depth|score| principal variation | time | nodes (N) | speed (N/s)"</span>;02251 <span class="keyword">const</span> <span class="keywordtype">char</span> *SEPARATOR = <span class="stringliteral">"-------------------------------------------------------------------------------"</span>;02252 <span class="preprocessor">#else</span>02253 <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *HEADER = <span class="stringliteral">"\n # |depth|score| principal variation | time"</span>;02254 <span class="keyword">const</span> <span class="keywordtype">char</span> *SEPARATOR = <span class="stringliteral">"-----------------------------------------------------"</span>;02255 <span class="preprocessor">#endif</span>02256 <span class="preprocessor"></span><span class="preprocessor">#ifdef _WIN32</span>02257 <span class="preprocessor"></span> HANDLE hthread;02258 <span class="keywordtype">int</span> priority = THREAD_PRIORITY_NORMAL;02259 <span class="preprocessor">#endif</span>02260 <span class="preprocessor"></span>02261 <span class="comment">/* parse arguments */</span>02262 <span class="keywordflow">for</span> (i = 1; i < argc; i++) {02263 <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-vv"</span>) == 0) verbose = 2;02264 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-v"</span>) == 0) verbose = 1;02265 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-wdl"</span>) == 0) mode = <a class="code" href="group__mac.html#gga59a135">WDL_SCORE</a>;02266 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-wd"</span>) == 0) mode = <a class="code" href="group__mac.html#gga59a136">WD_SCORE</a>;02267 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-dl"</span>) == 0) mode = <a class="code" href="group__mac.html#gga59a137">DL_SCORE</a>;02268 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-h"</span>) == 0 && i + 1 < argc)02269 <a class="code" href="group__hash.html#ga1">hash_init</a>(&hash_table, atoi(argv[++i]));02270 <span class="preprocessor">#ifdef _WIN32</span>02271 <span class="preprocessor"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-critical"</span>) == 0)02272 priority = THREAD_PRIORITY_TIME_CRITICAL;02273 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-idle"</span>) == 0)02274 priority = THREAD_PRIORITY_IDLE;02275 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[i], <span class="stringliteral">"-normal"</span>) == 0)02276 priority = THREAD_PRIORITY_NORMAL;02277 <span class="preprocessor">#endif</span>02278 <span class="preprocessor"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (file_name == NULL) file_name = argv[i];02279 <span class="keywordflow">else</span> <a class="code" href="group__main.html#ga0">usage</a>();02280 }02281 02282 <span class="comment">/* open script file */</span>02283 <span class="keywordflow">if</span> (file_name == NULL) <a class="code" href="group__main.html#ga0">usage</a>();02284 file = fopen(file_name, <span class="stringliteral">"r"</span>);02285 <span class="keywordflow">if</span> (file == NULL) {02286 fprintf(stderr, <span class="stringliteral">"solver: cannot open script file %s\n"</span>, file_name);02287 exit(EXIT_FAILURE);02288 }02289 02290 <span class="comment">/* priority control for win32 systems */</span>02291 <span class="preprocessor">#ifdef _WIN32</span>02292 <span class="preprocessor"></span> hthread = GetCurrentThread();02293 <span class="keywordflow">if</span> (!SetThreadPriority(hthread, priority)) {02294 fputs(<span class="stringliteral">"solver: cannot change the thread priority\n"</span>, stderr);02295 }02296 <span class="preprocessor">#endif</span>02297 <span class="preprocessor"></span>02298 <span class="comment">/* loop through problems */</span>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -