forked from TLCFEM/suanPan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsuanPan.cpp
More file actions
55 lines (46 loc) · 1.7 KB
/
suanPan.cpp
File metadata and controls
55 lines (46 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2017-2021 Theodore Chang
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
////////////////////////////////////////////////////////////////////////////////
#include <suanPan.h>
#include <Toolbox/argumentParser.h>
#ifdef SUANPAN_WIN
#include <Windows.h>
BOOL WIN_EVENT(DWORD) { return TRUE; }
#endif
bool SUANPAN_PRINT = true;
const char* SUANPAN_EXE = "";
int SUANPAN_NUM_THREADS = 4;
// ReSharper disable once CppParameterMayBeConst
int main(int argc, char** argv) {
#ifdef SUANPAN_WIN
if(!SetConsoleCtrlHandler(WIN_EVENT, TRUE)) return 0;
const auto handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo(handle, &info);
const auto current_attribute = info.wAttributes;
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_GREEN);
#else
std::cout << "\033[1;32m";
#endif
if(check_debugger()) return 0;
argument_parser(argc, argv);
#ifdef SUANPAN_WIN
SetConsoleTextAttribute(handle, current_attribute);
#else
std::cout << "\033[0m";
#endif
return 0;
}