commit 6beb7a1616f83e21418858aa9e360e4ee6730c34 Author: 魏遇卿 <358614401@qq.com> Date: Tue Jul 18 23:13:36 2023 +0800 Initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6127b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..e4763d2 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +DSAndOS \ No newline at end of file diff --git a/.idea/DSAndOS.iml b/.idea/DSAndOS.iml new file mode 100644 index 0000000..f08604b --- /dev/null +++ b/.idea/DSAndOS.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/QIUofDSAndOS.iml b/.idea/QIUofDSAndOS.iml new file mode 100644 index 0000000..f08604b --- /dev/null +++ b/.idea/QIUofDSAndOS.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..0ef8d36 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..79b3c94 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..700073a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.vs/CMake Overview b/.vs/CMake Overview new file mode 100644 index 0000000..e69de29 diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..8f0d733 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": "x64-Debug" +} \ No newline at end of file diff --git a/.vs/QIUofDSAndOS/FileContentIndex/3c71460a-d1dc-4b3c-aea7-128667632a61.vsidx b/.vs/QIUofDSAndOS/FileContentIndex/3c71460a-d1dc-4b3c-aea7-128667632a61.vsidx new file mode 100644 index 0000000..7e4c021 Binary files /dev/null and b/.vs/QIUofDSAndOS/FileContentIndex/3c71460a-d1dc-4b3c-aea7-128667632a61.vsidx differ diff --git a/.vs/QIUofDSAndOS/FileContentIndex/f687c5e4-73b7-4da9-bdbe-8eda35646ef2.vsidx b/.vs/QIUofDSAndOS/FileContentIndex/f687c5e4-73b7-4da9-bdbe-8eda35646ef2.vsidx new file mode 100644 index 0000000..a356ef1 Binary files /dev/null and b/.vs/QIUofDSAndOS/FileContentIndex/f687c5e4-73b7-4da9-bdbe-8eda35646ef2.vsidx differ diff --git a/.vs/QIUofDSAndOS/FileContentIndex/read.lock b/.vs/QIUofDSAndOS/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/QIUofDSAndOS/v17/.wsuo b/.vs/QIUofDSAndOS/v17/.wsuo new file mode 100644 index 0000000..a53726c Binary files /dev/null and b/.vs/QIUofDSAndOS/v17/.wsuo differ diff --git a/.vs/QIUofDSAndOS/v17/Browse.VC.db b/.vs/QIUofDSAndOS/v17/Browse.VC.db new file mode 100644 index 0000000..b4a5acc Binary files /dev/null and b/.vs/QIUofDSAndOS/v17/Browse.VC.db differ diff --git a/.vs/QIUofDSAndOS/v17/ipch/AutoPCH/329b27794b9eb529/MAIN.ipch b/.vs/QIUofDSAndOS/v17/ipch/AutoPCH/329b27794b9eb529/MAIN.ipch new file mode 100644 index 0000000..9a4d304 Binary files /dev/null and b/.vs/QIUofDSAndOS/v17/ipch/AutoPCH/329b27794b9eb529/MAIN.ipch differ diff --git a/.vs/QIUofDSAndOS/v17/ipch/AutoPCH/ea65033509450063/2.1-2.5.ipch b/.vs/QIUofDSAndOS/v17/ipch/AutoPCH/ea65033509450063/2.1-2.5.ipch new file mode 100644 index 0000000..a5c146b Binary files /dev/null and b/.vs/QIUofDSAndOS/v17/ipch/AutoPCH/ea65033509450063/2.1-2.5.ipch differ diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..f2a74c8 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,18 @@ +{ + "OutputFoldersPerTargetSystem": { + "本地计算机": [ + "out\\build\\x64-Debug", + "out\\install\\x64-Debug" + ] + }, + "ExpandedNodes": [ + "", + "\\DSBookCode", + "\\DSBookCode\\数据结构第2版-书中算法(C语言版)", + "\\DSBookCode\\数据结构第2版-书中算法(C语言版)\\第2章", + "\\DSBookCode\\数据结构第2版-书中算法(C语言版)\\第2章\\2.1-2.5", + "\\DSBookCode\\数据结构第2版-书中算法(C语言版)\\第2章\\2.6-2.12" + ], + "SelectedNode": "\\DSBookCode\\数据结构第2版-书中算法(C语言版)\\第2章\\2.1-2.5\\main.cpp", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/cmake.db b/.vs/cmake.db new file mode 100644 index 0000000..cc36cb3 Binary files /dev/null and b/.vs/cmake.db differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..a9de331 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..292ec24 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.25) +project(DSAndOS) + +set(CMAKE_CXX_STANDARD 17) + +add_executable(DSAndOS DSBySelf/2.1.cpp DSBySelf/2.1.cpp DSBySelf/main.cpp) +add_executable(DSAndOS2 DSBySelf/2.1.cpp DSBySelf/2.1.cpp DSBySelf/2.1.cpp) diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.1-2.5/2.1-2.5.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.1-2.5/2.1-2.5.cpp new file mode 100644 index 0000000..1cc3bf2 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.1-2.5/2.1-2.5.cpp @@ -0,0 +1,171 @@ +#include +#include +#include +#include +using namespace std; +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。 +typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 + +#define MAXSIZE 100 //顺序表可能达到的最大长度 +struct Book { + string id;//ISBN + string name;//书名 + double price;//定价 +}; +typedef struct { + Book *elem; //存储空间的基地址 + int length; //当前长度 +} SqList; + +Status InitList_Sq(SqList &L) { //算法2.1 顺序表的初始化 + //构造一个空的顺序表L + L.elem = new Book[MAXSIZE]; //为顺序表分配一个大小为MAXSIZE的数组空间 + if (!L.elem) + exit(OVERFLOW); //存储分配失败退出 + L.length = 0; //空表长度为0 + return OK; +} + +Status GetElem(SqList L, int i, Book &e) {//算法2.2 顺序表的取值 + if (i < 1 || i > L.length) + return ERROR; //判断i值是否合理,若不合理,返回ERROR + e = L.elem[i - 1]; //elem[i-1]单元存储第i个数据元素 + return OK; +} + +int LocateElem_Sq(SqList L, double e) { //算法2.3 顺序表的查找 + //顺序表的查找 + for (int i = 0; i < L.length; i++) + if (L.elem[i].price == e) + return i + 1;//查找成功,返回序号i+1 + return 0;//查找失败,返回0 +} + +Status ListInsert_Sq(SqList &L, int i, Book e) { //算法2.4 顺序表的插入 + //在顺序表L中第i个位置之前插入新的元素e + //i值的合法范围是1<=i<=L.length+1 + if ((i < 1) || (i > L.length + 1)) + return ERROR; //i值不合法 + if (L.length == MAXSIZE) + return ERROR; //当前存储空间已满 + for (int j = L.length - 1; j >= i - 1; j--) + L.elem[j + 1] = L.elem[j]; //插入位置及之后的元素后移 + L.elem[i - 1] = e; //将新元素e放入第i个位置 + ++L.length; //表长增1 + return OK; +} + +Status ListDelete_Sq(SqList &L, int i) { //算法2.5 顺序表的删除 + //在顺序表L中删除第i个元素,并用e返回其值 + //i值的合法范围是1<=i<=L.length + if ((i < 1) || (i > L.length)) + return ERROR; //i值不合法 + for (int j = i; j <= L.length; j++) + L.elem[j - 1] = L.elem[j]; //被删除元素之后的元素前移 + --L.length; //表长减1 + return OK; +} + +int main() { + SqList L; + int i = 0, temp, a, c, choose; + double price; + Book e; + string head_1, head_2, head_3; + cout << "1. 建立\n"; + cout << "2. 输入\n"; + cout << "3. 取值\n"; + cout << "4. 查找\n"; + cout << "5. 插入\n"; + cout << "6. 删除\n"; + cout << "7. 输出\n"; + cout << "0. 退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://创建顺序表 + if (InitList_Sq(L)) + cout << "成功建立顺序表\n\n"; + else + cout << "顺序表建立失败\n\n"; + break; + case 2: {//顺序表信息输入 + i = 0; + L.elem = new Book[MAXSIZE]; + if (!L.elem) + exit(OVERFLOW); + L.length = 0; + fstream file; + file.open("book.txt"); + if (!file) { + cout << "错误!未找到文件!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2 >> head_3; + while (!file.eof()) { + file >> L.elem[i].id >> L.elem[i].name >> L.elem[i].price; + i++; + } + cout << "输入 book.txt 信息完毕\n\n"; + L.length = i; + file.close(); + } + break; + case 3://顺序表的取值 + cout << "请输入一个位置用来取值:\n"; + cin >> i; + temp = GetElem(L, i, e); + if (temp != 0) { + cout << "查找成功\n"; + cout << "第" << i << "本图书的信息是:\n"; + cout << left << setw(15) << e.id << "\t" << left << setw(50) + << e.name << "\t" << left << setw(5) << e.price << endl + << endl; + } else + cout << "查找失败!位置超出范围\n\n"; + break; + case 4: //顺序表的查找 + cout << "请输入所要查找价格:"; + cin >> price; + temp = LocateElem_Sq(L, price); + if (temp != 0) { + cout << "查找成功\n"; + cout << "该价格对应的书名为:" << L.elem[temp - 1].name << endl << endl; + } else + cout << "查找失败!没有这个价格对应的书籍\n\n"; + break; + case 5: //顺序表的插入 + cout << "请输入插入的位置和书本信息,包括:编号 书名 价格(用空格隔开):"; + cin >> a; + cin >> e.id >> e.name >> e.price; //输入a和b,a代表插入的位置,b代表插入的数值(书本信息) + if (ListInsert_Sq(L, a, e)) + cout << "插入成功.\n\n"; + else + cout << "插入失败.\n\n"; + break; + case 6: //顺序表的删除 + cout << "请输入所要删除的书籍的位置:"; + cin >> c; + if (ListDelete_Sq(L, c)) + cout << "删除成功.\n\n"; + else + cout << "删除失败.\n\n"; + break; + case 7: //顺序表的输出 + cout << "当前图书系统信息(顺序表)读出:\n"; + for (i = 0; i < L.length; i++) + cout << left << setw(15) << L.elem[i].id << "\t" << left + << setw(50) << L.elem[i].name << "\t" << left + << setw(5) << L.elem[i].price << endl; + cout << endl; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.1-2.5/book.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.1-2.5/book.txt new file mode 100644 index 0000000..751c324 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.1-2.5/book.txt @@ -0,0 +1,17 @@ +ISBN 书名 定价 +9787302257646 程序设计基础 25 +9787302219972 单片机技术及应用 32 +9787302203513 编译原理 46 +9787811234923 汇编语言程序设计教程 21 +9787512100831 计算机操作系统 17 +9787302265436 计算机导论实验指导 18 +9787302180630 实用数据结构 29 +9787302225065 数据结构(C语言版) 38 +9787302171676 C#面向对象程序设计 39 +9787302250692 C语言程序设计 42 +9787302150664 数据库原理 35 +9787302260806 Java编程与实践 56 +9787302252887 Java程序设计与应用教程 39 +9787302198505 嵌入式操作系统及编程 25 +9787302169666 软件测试 24 +9787811231557 Eclipse基础与应用 35 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.13-2.14/2.13-2.14.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.13-2.14/2.13-2.14.cpp new file mode 100644 index 0000000..a57fe72 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.13-2.14/2.13-2.14.cpp @@ -0,0 +1,189 @@ +#include +#include +#include +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。 +typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 + +struct Book { + string id;//ISBN + string name;//书名 + double price;//定价 +}; +typedef struct DuLNode { + Book data; //数据域 + struct DuLNode *prior; //直接前驱 + struct DuLNode *next; //直接后继 +} DuLNode, *DuLinkList; + +string head_1, head_2, head_3; +int length; + +Status InitDuList_L(DuLinkList &L) { + //构造一个空的双向链表L + L = new DuLNode; //生成新结点作为头结点,用头指针L指向头结点 + L->next = NULL; //头结点的指针域置空 + L->prior = NULL; + return OK; +} + +DuLNode *GetElemP_DuL(DuLinkList L, int i) { + //在带头结点的双向链表L中查找第i个元素,返回结点的地址 + int j; + DuLinkList p; + p = L->next; + j = 1; //初始化,p指向第一个结点,j为计数器 + while (j < i && p) { //顺链域向后扫描,直到p指向第i个元素或p为空 + p = p->next; + ++j; + } + if (!p || j > i) + return NULL; //第i个元素不存在 + return p; +} //GetElemP_DuL + +Status ListInsert_DuL(DuLinkList &L, int i, Book e) { //算法2.13 双向链表的插入 + //在带头结点的双向链表L中第i个位置之前插入元素e,i的合法值为1<=i<=表长+1 + DuLinkList s, p; + if (!(p = GetElemP_DuL(L, i))) //在L中确定第i个元素的位置指针p + return ERROR; //p为NULL时,第i个元素不存在 + if (i == 1) {//在双向链表的第一个元素上插入 + s = new DuLNode; //生成新结点s + s->data = e; //将结点s数据置为e + DuLinkList p = L->next; + L->next = s; + s->prior = L; + s->next = p;//将结点*s插入L中 + p->prior = s; + ++length; + } else if (i == length) {//在双向链表的最后一个元素上插入 + s = new DuLNode; //生成新结点s + s->data = e; //将结点s数据置为e + DuLinkList p = L; + while (p->next) + p = p->next;//将LinkList p指向双向链表结尾 + p->next = s; + s->prior = p;//将结点*s插入到p的后面,插入到L中 + s->next = NULL; + ++length; + } else { + s = new DuLNode; //生成新结点*s + s->data = e; //将结点*s数据域置为e + s->prior = p->prior; //将结点*s插入L中,此步对应图2.20① + p->prior->next = s; //对应图2.20② + s->next = p; //对应图2.20③ + p->prior = s; //对应图2.20④ + ++length; + } + return OK; +} //ListInsert_DuL + +Status ListDelete_DuL(DuLinkList &L, int i) { //算法2.14 双向链表的删除 + //删除带头结点的双向链表L中第i个位置之前插入元素e,i的合法值为1<=i<=表长 + DuLinkList p; + if (!(p = GetElemP_DuL(L, i))) //在L中确定第i个元素的位置指针p + return ERROR; //p为NULL时,第i个元素不存在 + if (i == 1)//删除双向链表的第一个元素 + L = L->next; + else if (i == length) {//删除双向链表的最后一个元素 + p->prior->next = NULL; + delete p; + --length; + return OK; + } else { + p->prior->next = p->next; //修改被删结点的前驱结点的后继指针,对应图2.21① + p->next->prior = p->prior; //修改被删结点的后继结点的前驱指针,对应图2.21② + delete p; //释放被删结点的空间 + --length; + return OK; + } +}//ListDelete_DuL + +void CreateDuList_L(DuLinkList &L) { + //正位序输入n个元素的值,建立带表头结点的双向链表L,同时建立前驱指针 + DuLinkList r, p; + L = new DuLNode; + L->next = NULL; //先建立一个带头结点的空链表 + r = L;//尾指针r指向头结点 + length = 0; + fstream file; + file.open("book.txt"); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2 >> head_3; + while (!file.eof()) { + p = new DuLNode; //生成新结点 + file >> p->data.id >> p->data.name >> p->data.price; //输入元素值 + p->next = NULL; + r->next = p; //插入到表尾 + r = p; //r指向新的尾结点 + p->prior = L->prior; //插入到表头 + L->prior = p; + length++; + } + file.close(); +} //CreateDuList_L + +int main() { + int a, choose; + Book e; + DuLinkList L, p; + cout << "1. 建立\n"; + cout << "2. 输入\n"; + cout << "3. 插入\n"; + cout << "4. 删除\n"; + cout << "5. 输出\n"; + cout << "0. 退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1: //建立一个双向链表 + if (InitDuList_L(L)) + cout << "成功建立双向链表!\n\n"; + break; + case 2: //使用后插法创建双向链表 + CreateDuList_L(L); + cout << "输入 book.txt 信息完毕\n\n"; + break; + case 3: //双向链表的插入 + cout << "请输入两个数分别代表插入的位置和数值(书的信息:编号&书名&价格):"; + cin >> a; + cin >> e.id >> e.name >> e.price; + if (ListInsert_DuL(L, a, e)) + cout << "插入成功.\n\n"; + else + cout << "插入失败!\n\n"; + break; + case 4: //双向链表的删除 + cout << "请输入所要删除的书籍的位置:"; + cin >> a; + if (ListDelete_DuL(L, a)) + cout << "删除成功!\n\n"; + else + cout << "删除失败!\n\n"; + break; + case 5: //双向链表的输出 + cout << "当前图书系统信息读出:\n"; + p = L->next; + while (p) { + cout << left << setw(15) << p->data.id << "\t" << left << setw( + 50) << p->data.name << "\t" << left << setw(5) + << p->data.price << endl; + p = p->next; + } + cout << endl; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.13-2.14/book.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.13-2.14/book.txt new file mode 100644 index 0000000..751c324 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.13-2.14/book.txt @@ -0,0 +1,17 @@ +ISBN 书名 定价 +9787302257646 程序设计基础 25 +9787302219972 单片机技术及应用 32 +9787302203513 编译原理 46 +9787811234923 汇编语言程序设计教程 21 +9787512100831 计算机操作系统 17 +9787302265436 计算机导论实验指导 18 +9787302180630 实用数据结构 29 +9787302225065 数据结构(C语言版) 38 +9787302171676 C#面向对象程序设计 39 +9787302250692 C语言程序设计 42 +9787302150664 数据库原理 35 +9787302260806 Java编程与实践 56 +9787302252887 Java程序设计与应用教程 39 +9787302198505 嵌入式操作系统及编程 25 +9787302169666 软件测试 24 +9787811231557 Eclipse基础与应用 35 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/2.15(链表).cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/2.15(链表).cpp new file mode 100644 index 0000000..6c56c8f --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/2.15(链表).cpp @@ -0,0 +1,109 @@ +#include +#include +#include +using namespace std; + +#define ERROR 0 + +typedef struct LNode { + int data; //结点的数据域 + struct LNode *next; //结点的指针域 +} LNode, *List; //LinkList为指向结构体LNode的指针类型 + +int n, m; +char st = 'A'; + +void InitList(List &L) //创建链表 +{ + L = new LNode; + L->next = NULL; +} + +void ListInput(List &L, int n) //链表数据的输入 +{ + int i; + List p, r; + r = L; + char filename[20] = { 0 }; + cout << "请输入顺序表L" << st << "的数据文件名称(文件名+“.txt”,如List" << st << ".txt):" << endl; + ++st; + gets(filename); + fstream file; + file.open(filename); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + while (!file.eof()) { + p = new LNode; + file >> p->data; + p->next = NULL; + r->next = p; + r = p; + n++; + } + file.close(); +} + +bool LocateElem(List L, int e) //判断List里有没有e这个元素 +{ + List p; + p = L->next; + while (p != NULL) { + if (p->data == e) + return true; + p = p->next; + } + return false; +} + +void ListInsert(List &L, int e) //将e插入到List中 +{ + List p; + p = new LNode; + p->data = e; + p->next = L->next; + L->next = p; +} + +void ListOutput(List L) //输出List +{ + List p; + p = L->next; + while (p != NULL) { + cout << p->data << " "; + p = p->next; + } + cout << endl; +} + +void unionList(List &LA, List LB) //算法2.15 线性表的合并(链表) +{ + //将所有在线性表LB中但不在LA中的数据元素插入到LA中 + int e; + List p; + p = LB->next; + while (p != NULL) { + e = p->data; + if (!LocateElem(LA, e)) //LA中不存在和e相同的数据元素,则插入之 + ListInsert(LA, e); + p = p->next; + } +} //unionList + +int main() { + List LA, LB; + + InitList(LA); + + InitList(LB); + + ListInput(LA, n); + ListInput(LB, m); + + unionList(LA, LB); + + cout << "LA和LB合并后的集合为:\n"; + ListOutput(LA); + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/ListA.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/ListA.txt new file mode 100644 index 0000000..44caecf --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/ListA.txt @@ -0,0 +1 @@ +7 5 3 11 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/ListB.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/ListB.txt new file mode 100644 index 0000000..7050af9 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(链表)/ListB.txt @@ -0,0 +1 @@ +2 6 3 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/2.15(顺序表).cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/2.15(顺序表).cpp new file mode 100644 index 0000000..12268fb --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/2.15(顺序表).cpp @@ -0,0 +1,100 @@ +#include +#include +using namespace std; +#define MAXSIZE 100 +#define ERROR 0 +typedef struct { //定义顺序表 + int *elem; + int length; +} List; +int n, m; +char st = 'A'; + +void InitList(List &L) //创建顺序表 +{ + L.elem = new int[MAXSIZE]; + L.length = 0; +} + +void ListInput(List &L, int n) //顺序表数据的输入 +{ + int i = 0; + char filename[20] = { 0 }; + cout << "请输入顺序表L" << st << "的数据文件名称(文件名+“.txt”,如List" << st << ".txt):" << endl; + ++st; + gets(filename); + fstream file; + file.open(filename); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + while (!file.eof()) { + file >> L.elem[i]; + i++; + } + L.length = i; + +} + +int ListLength(List L) //求顺序表的长度 +{ + return L.length; +} + +void GetElem(List L, int i, int &e) //求顺序表的第i个元素,并以e返回 +{ + e = L.elem[i - 1]; +} + +bool LocateElem(List L, int e) //判断List里有没有e这个元素 +{ + int i; + for (i = 0; i < L.length; i++) + if (e == L.elem[i]) + return true; + return false; +} + +void ListInsert(List &L, int e) //将e插入到List的最后 +{ + L.elem[L.length] = e; + L.length++; +} + +void ListOutput(List L) //输出List +{ + int i; + for (i = 0; i < L.length; i++) + cout << L.elem[i] << " "; + cout << endl; +} + +void unionList(List &LA, List LB) //算法2.14 线性表的合并(顺序表) +{ + //将所有在线性表LB中但不在LA中的数据元素插入到LA中 + int LA_len, LB_len, i, e; + LA_len = ListLength(LA); + LB_len = ListLength(LB); //求线性表的长度 + for (i = 1; i <= LB_len; i++) { + GetElem(LB, i, e); //取LB中第i个数据元素赋给e + if (!LocateElem(LA, e)) //LA中不存在和e相同的数据元素,则插入之 + ListInsert(LA, e); + } +} //unionList + +int main() { + List LA, LB; + InitList(LA); + InitList(LB); + + ListInput(LA, n); + + ListInput(LB, m); + + unionList(LA, LB); + + cout << "LA和LB合并后的集合为:\n"; + ListOutput(LA); + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/ListA.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/ListA.txt new file mode 100644 index 0000000..44caecf --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/ListA.txt @@ -0,0 +1 @@ +7 5 3 11 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/ListB.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/ListB.txt new file mode 100644 index 0000000..7050af9 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.15(顺序表)/ListB.txt @@ -0,0 +1 @@ +2 6 3 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/2.16.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/2.16.cpp new file mode 100644 index 0000000..28567d4 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/2.16.cpp @@ -0,0 +1,93 @@ +#include +#include +using namespace std; +#define MAXSIZE 100 +#define ERROR 0 + +typedef struct //定义顺序表 +{ + int *elem; + int length; +} SqList; +int num_a = 0, num_b = 0; +char st = 'A'; + +void InitList_Sq(SqList &L, int n) //创建顺序表 +{ + L.elem = new int[MAXSIZE]; + if (!L.elem) + exit(0); + L.length = 0; +} + +void input(SqList &L, int n) //依次往顺序表L里输入数据 +{ + int i = 0; + char filename[20] = { 0 }; + cout << "请输入非递减线性表" << st << "的数据文件名称(文件名+“.txt”,如List" << st << ".txt):" << endl; + ++st; + gets(filename); + fstream file; + file.open(filename); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + while (!file.eof()) { + file >> L.elem[i]; + i++; + } + L.length = i; +} + +void output(SqList L) //依次输出顺序表里的每个元素 +{ + int i; + for (i = 0; i < L.length; i++) { + if (i) + cout << ","; + cout << L.elem[i]; + } +} + +void MergeList_Sq(SqList LA, SqList LB, SqList &LC) //算法2.16 顺序有序表的合并 +{ + //已知顺序有序表LA和LB的元素按值非递减排列 + //归并LA和LB得到新的顺序有序表LC,LC的元素也按值非递减排列 + int *pa, *pb, *pc, *pa_last, *pb_last; + pa = LA.elem; + pb = LB.elem; //指针pa和pb的初值分别指向两个表的第一次元素 + LC.length = LA.length + LB.length; //新表长度为待合并两表的长度之和 + LC.elem = new int[LC.length]; //为合并后的新表分配一个数组空间 + pc = LC.elem; //指针pc指向新表的第一个元素 + pa_last = LA.elem + LA.length - 1; //指针pa_last指向LA表的最后一个元素 + pb_last = LB.elem + LB.length - 1; //指针pb_last指向LB表的最后一个元素 + while (pa <= pa_last && pb <= pb_last) //两个表都非空 + { + if (*pa <= *pb) //依次“摘取”两表中值较小的结点插入到LC表的最后 + *pc++ = *pa++; + else + *pc++ = *pb++; + } + while (pa <= pa_last) //LB已到达表尾,依次将LA的剩余元素插入LC表的最后 + *pc++ = *pa++; + while (pb <= pb_last) //LA已到达表尾,依次将LB的剩余元素插入LC表的最后 + *pc++ = *pb++; +} //MergeList_List + +int main() { + SqList La, Lb, Lc; + + InitList_Sq(La, num_a); //La表的创建 + input(La, num_a); //依次往顺序表La里输入数据 + + InitList_Sq(Lb, num_b); //Lb表的创建 + input(Lb, num_b); //依次往顺序表La里输入数据 + + MergeList_Sq(La, Lb, Lc); //将顺序表La和Lb进行合并 + + cout << "非递减线性表A,B合并后的非递减线性表C为:\n"; //输出合并后的有序顺序表Lc + output(Lc); + cout << endl; + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/ListA.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/ListA.txt new file mode 100644 index 0000000..9e7bd71 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/ListA.txt @@ -0,0 +1 @@ +3 5 8 11 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/ListB.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/ListB.txt new file mode 100644 index 0000000..4dd13df --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.16/ListB.txt @@ -0,0 +1 @@ +2 6 8 9 11 15 20 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/2.17.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/2.17.cpp new file mode 100644 index 0000000..0593c9d --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/2.17.cpp @@ -0,0 +1,104 @@ +#include +#include +using namespace std; +#define ERROR 0 + +typedef struct LNode //定义单链表 +{ + int data; + struct LNode *next; +} LNode, *LinkList; + +int num_a, num_b; +char st = 'A'; + +void InitList_L(LinkList &L) //创建单链表 +{ + L = new LNode; + L->next = NULL; +} + +void input(LinkList &L, int n) //依次往单链表L里输入数据 +{ + int i; + LNode *p, *r; + r = L; + char filename[20] = { 0 }; + cout << "请输入非递减单链表" << st << "的数据文件名称(文件名+“.txt”,如List" << st << ".txt):" << endl; + ++st; + gets(filename); + fstream file; + file.open(filename); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + while (!file.eof()) { + p = new LNode; + file >> p->data; + p->next = NULL; + r->next = p; + r = p; + n++; + } + file.close(); +} + +void output(LinkList L) //依次输出单链表里的每个元素 +{ + int i = 0; + LNode *p; + p = L->next; + while (p) { + if (i) + cout << ","; + cout << p->data; + p = p->next; + i = 1; + } +} + +void MergeList_L(LinkList &LA, LinkList &LB, LinkList &LC) //算法2.17 链式有序表的合并 +{ + //已知单链表LA和LB的元素按值非递减排列 + //归并LA和LB得到新的单链表LC,LC的元素也按值非递减排列 + LinkList pa, pb, pc; + pa = LA->next; + pb = LB->next; //pa和pb的初值分别指向两个表的第一个结点 + LC = LA; //用LA的头结点作为LC的头结点 + pc = LC; //pc的初值指向LC的头结点 + while (pa && pb) //两个表都非空 + { + if (pa->data <= pb->data) //依次"摘取"两表中值较小的结点插入到LC表的最后 + { + pc->next = pa; //将pa所指结点链接到pc所指结点之后 + pc = pa; + pa = pa->next; + } else { + pc->next = pb; //将pb所指结点链接到pc所指结点之后 + pc = pb; + pb = pb->next; + } + } + pc->next = pa ? pa : pb; //插入非空表的剩余段 + delete LB; //释放LB的头结点 +} //MergeList_L() + +int main() { + LinkList La, Lb, Lc; + + InitList_L(La); //La表的创建 + input(La, num_a); //依次往单链表La里输入数据 + + InitList_L(Lb); //Lb表的创建 + input(Lb, num_b); //依次往单链表La里输入数据 + + InitList_L(Lc); + MergeList_L(La, Lb, Lc); //将单链表La和Lb进行合并 + + + cout << "非递减单链表A,B合并后的非递减单链表C为:\n"; //输出合并后的单链表Lc + output(Lc); + cout << endl; + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/ListA.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/ListA.txt new file mode 100644 index 0000000..9e7bd71 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/ListA.txt @@ -0,0 +1 @@ +3 5 8 11 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/ListB.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/ListB.txt new file mode 100644 index 0000000..4dd13df --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.17/ListB.txt @@ -0,0 +1 @@ +2 6 8 9 11 15 20 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/2.18-2.19.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/2.18-2.19.cpp new file mode 100644 index 0000000..738e542 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/2.18-2.19.cpp @@ -0,0 +1,124 @@ +#include +#include +#include +using namespace std; +#define ERROR 0 + +typedef struct PNode { + float coef; //系数 + int expn; //指数 + struct PNode *next; +} PNode, *Polynomial; +string head_1, head_2; +int temp; +char st = 'A'; + +void CreatPolyn(Polynomial &P, int m) //算法2.18 多项式的创建 +{ + //输入m项的系数和指数,建立表示一个多项式的有序链表P + Polynomial q, pre, s; + int i; + P = new PNode; + P->next = NULL; //先建立一个带头结点的单链表 + char filename[20] = { 0 }; + cout << "请输入有关多项式p" << char(st + 32) << "系数和指数的数据文件名称(文件名+“.txt”,如Poly" << st << ".txt):" << endl; + ++st; + gets(filename); + fstream file; + file.open(filename); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2; + while (!file.eof()) + { + s = new PNode; //生成新结点 + file >> s->coef >> s->expn; //输入元素值 + pre = P; //pre用于保存q的前驱,初值为头结点 + q = P->next; + while (q && q->expn < s->expn) //通过比较指数找到第一个大于输入项指数的项q + { + pre = q; + q = q->next; + } //while + s->next = q; //将输入项s插入到q和其前驱结点pre之间 + pre->next = s; + }//for + file.close(); +} //CreatPolyn + +void AddPolyn(Polynomial &Pa, Polynomial &Pb) //算法2.19 多项式的相加 +{ + //多项式加法:Pa=Pa+Pb,利用两个多项式的结点构成“和多项式” + Polynomial r, p1, p2, p3; + float sum; + p1 = Pa->next; + p2 = Pb->next; //p1和p2初值分别指向Pa和Pb的第一个结点 + p3 = Pa; //p3指向和多项式的当前结点,初值为Pa + while (p1 && p2) //p1和p2均非空 + { + if (p1->expn == p2->expn) //指数相等 + { + sum = p1->coef + p2->coef; //sum保存两项的系数和 + if (sum != 0) //系数和不为0 + { + p1->coef = sum; //修改Pa当前结点p1的系数值为两项系数的和 + p3->next = p1; + p3 = p1; //将修改后的Pa当前结点p1链在p3之后,p3指向p1 + p1 = p1->next; //p1指向后一项 + r = p2; + p2 = p2->next; + delete r; //删除Pb当前结点r + } else //系数和为0 + { + r = p1; + p1 = p1->next; + delete r; //删除Pb当前结点p1 + r = p2; + p2 = p2->next; + delete r; //删除Pb当前结点p2 + } + } else if (p1->expn < p2->expn) //Pa当前结点p1的指数值小 + { + p3->next = p1; //将p1链在p3之后 + p3 = p1; //p3指向p1 + p1 = p1->next; //p1指向后一项 + } else //Pa当前结点p2的指数值小 + { + p3->next = p2; //将p2链在p3之后 + p3 = p2; //p3指向p2 + p2 = p2->next; //p2指向后一项 + } + } //while + p3->next = p1 ? p1 : p2; //插入非空多项式的剩余段 + delete Pb; //释放Pb的头结点 +} //AddPolyn + + +int main() { + Polynomial Pa, Pb; + Polynomial p; + int i; + + //创建多项式Pa + CreatPolyn(Pa, temp); //调用函数,输入Pa每一项的系数和指数 + + //创建多项式Pb + CreatPolyn(Pb, temp); //调用函数,输入Pa每一项的系数和指数 + + AddPolyn(Pa, Pb); + cout << "多项式Pa和Pb相加后的结果是:\n"; + p = Pa->next; + i = 0; + while (p) //输出相加后的结果,每一项以x^n表示 + { + if (i) + cout << " + "; + cout << "(" << p->coef << ") * x^" << p->expn; + p = p->next; + i = 1; + } + cout << endl; + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/PolyA.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/PolyA.txt new file mode 100644 index 0000000..694af45 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/PolyA.txt @@ -0,0 +1,5 @@ +系数p 指数 +7 0 +3 1 +9 8 +5 17 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/PolyB.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/PolyB.txt new file mode 100644 index 0000000..6dc6a9b --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.18-2.19/PolyB.txt @@ -0,0 +1,4 @@ +系数p 指数 +8 1 +22 7 +-9 8 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.6-2.12/2.6-2.12.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.6-2.12/2.6-2.12.cpp new file mode 100644 index 0000000..bf32fc1 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.6-2.12/2.6-2.12.cpp @@ -0,0 +1,227 @@ +#include +#include +#include +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。 +typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 + +struct Book { + string id;//ISBN + string name;//书名 + double price;//定价 +}; +typedef struct LNode { + Book data; //结点的数据域 + struct LNode *next; //结点的指针域 +} LNode, *LinkList; //LinkList为指向结构体LNode的指针类型 + +string head_1, head_2, head_3; +int length; + +Status InitList_L(LinkList &L) { //算法2.6 单链表的初始化 + //构造一个空的单链表L + L = new LNode; //生成新结点作为头结点,用头指针L指向头结点 + L->next = NULL; //头结点的指针域置空 + return OK; +} + +Status GetElem_L(LinkList L, int i, Book &e) { //算法2.7 单链表的取值 + //在带头结点的单链表L中查找第i个元素 + //用e返回L中第i个数据元素的值 + int j; + LinkList p; + p = L->next; + j = 1; //初始化,p指向第一个结点,j为计数器 + while (j < i && p) { //顺链域向后扫描,直到p指向第i个元素或p为空 + p = p->next; //p指向下一个结点 + ++j; //计数器j相应加1 + } + if (!p || j > i) + return ERROR; //i值不合法i>n或i<=0 + e = p->data; //取第i个结点的数据域 + return OK; +} //GetElem_L + +LNode *LocateElem_L(LinkList L, int e) { //算法2.8 按值查找 + //在带头结点的单链表L中查找值为e的元素 + LinkList p; + p = L->next; + while (p && p->data.price != e)//顺链域向后扫描,直到p为空或p所指结点的数据域等于e + p = p->next; //p指向下一个结点 + return p; //查找成功返回值为e的结点地址p,查找失败p为NULL +} //LocateElem_L + +Status ListInsert_L(LinkList &L, int i, Book &e) { //算法2.9 单链表的插入 + //在带头结点的单链表L中第i个位置插入值为e的新结点 + int j; + LinkList p, s; + p = L; + j = 0; + while (p && j < i - 1) { + p = p->next; + ++j; + }//查找第i?1个结点,p指向该结点 + if (!p || j > i - 1) + return ERROR; //i>n+1或者i<1 + s = new LNode; //生成新结点*s + s->data = e; //将结点*s的数据域置为e + s->next = p->next; //将结点*s的指针域指向结点ai + p->next = s; //将结点*p的指针域指向结点*s + ++length; + return OK; +} //ListInsert_L + +Status ListDelete_L(LinkList &L, int i) { //算法2.9 单链表的删除 + //在带头结点的单链表L中,删除第i个位置 + LinkList p, q; + int j; + p = L; + j = 0; + while ((p->next) && (j < i - 1)) //查找第i?1个结点,p指向该结点 + { + p = p->next; + ++j; + } + if (!(p->next) || (j > i - 1)) + return ERROR; //当i>n或i<1时,删除位置不合理 + q = p->next; //临时保存被删结点的地址以备释放 + p->next = q->next; //改变删除结点前驱结点的指针域 + delete q; //释放删除结点的空间 + --length; + return OK; +} //ListDelete_L + +void CreateList_H(LinkList &L, int n) { //算法2.11 前插法创建单链表 + //逆位序输入n个元素的值,建立到头结点的单链表L + LinkList p; + L = new LNode; + L->next = NULL; //先建立一个带头结点的空链表 + length = 0; + fstream file; + file.open("book.txt"); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2 >> head_3; + while (!file.eof()) { + p = new LNode; //生成新结点*p + file >> p->data.id >> p->data.name >> p->data.price; //输入元素值赋给新结点*p的数据域 + p->next = L->next; + L->next = p; //将新结点*p插入到头结点之后 + length++;//同时对链表长度进行统计 + } + file.close(); +} //CreateList_F + +void CreateList_R(LinkList &L, int n) { //算法2.12 后插法创建单链表 + //正位序输入n个元素的值,建立带表头结点的单链表L + LinkList p, r; + L = new LNode; + L->next = NULL; //先建立一个带头结点的空链表 + r = L; //尾指针r指向头结点 + length = 0; + fstream file; //打开文件进行读写操作 + file.open("book.txt"); + if (!file) { + cout << "未找到相关文件,无法打开!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2 >> head_3; + while (!file.eof()) { //将文件中的信息运用后插法插入到链表中 + p = new LNode;//生成新结点 + file >> p->data.id >> p->data.name >> p->data.price;//输入元素值赋给新结点*p的数据域 + p->next = NULL; + r->next = p;//将新结点*p插入尾结点*r之后 + r = p;//r指向新的尾结点*p + length++; //同时对链表长度进行统计 + } + file.close(); +} //CreateList_L + +int main() { + int a, n, choose; + double price; + Book e; + LinkList L, p; + cout << "1. 建立\n"; + cout << "2. 输入\n"; + cout << "3. 取值\n"; + cout << "4. 查找\n"; + cout << "5. 插入\n"; + cout << "6. 删除\n"; + cout << "7. 输出\n"; + cout << "0. 退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1: //建立一个单链表 + if (InitList_L(L)) + cout << "成功建立链表!\n\n"; + break; + case 2: //使用后插法创建单链表 + CreateList_R(L, length); + cout << "输入 book.txt 信息完毕\n\n"; + break; + case 3: //单链表的按序号取值 + cout << "请输入一个位置用来取值:"; + cin >> a; + if (GetElem_L(L, a, e)) { + cout << "查找成功\n"; + cout << "第" << a << "本图书的信息是:\n"; + cout << left << setw(15) << e.id << "\t" << left << setw(50) + << e.name << "\t" << left << setw(5) << e.price << endl + << endl; + } else + cout << "查找失败\n\n"; + break; + case 4: //单链表的按值查找 + cout << "请输入所要查找价格:"; + cin >> price; + if (LocateElem_L(L, price) != NULL) { + cout << "查找成功\n"; + cout << "该价格对应的书名为:" << LocateElem_L(L, price)->data.name + << endl << endl; + } else + cout << "查找失败! 定价" << price << " 没有找到\n\n"; + break; + case 5: //单链表的插入 + cout << "请输入插入的位置和书的信息,包括:编号 书名 价格(用空格隔开):"; + cin >> a; + cin >> e.id >> e.name >> e.price; + if (ListInsert_L(L, a, e)) + cout << "插入成功.\n\n"; + else + cout << "插入失败!\n\n"; + break; + case 6: //单链表的删除 + cout << "请输入所要删除的书籍的位置:"; + cin >> a; + if (ListDelete_L(L, a)) + cout << "删除成功!\n\n"; + else + cout << "删除失败!\n\n"; + break; + case 7: //单链表的输出 + cout << "当前图书系统信息(链表)读出:\n"; + p = L->next; + while (p) { + cout << left << setw(15) << p->data.id << "\t" << left << setw( + 50) << p->data.name << "\t" << left << setw(5) + << p->data.price << endl; + p = p->next; + } + cout << endl; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.6-2.12/book.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.6-2.12/book.txt new file mode 100644 index 0000000..751c324 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第2章/2.6-2.12/book.txt @@ -0,0 +1,17 @@ +ISBN 书名 定价 +9787302257646 程序设计基础 25 +9787302219972 单片机技术及应用 32 +9787302203513 编译原理 46 +9787811234923 汇编语言程序设计教程 21 +9787512100831 计算机操作系统 17 +9787302265436 计算机导论实验指导 18 +9787302180630 实用数据结构 29 +9787302225065 数据结构(C语言版) 38 +9787302171676 C#面向对象程序设计 39 +9787302250692 C语言程序设计 42 +9787302150664 数据库原理 35 +9787302260806 Java编程与实践 56 +9787302252887 Java程序设计与应用教程 39 +9787302198505 嵌入式操作系统及编程 25 +9787302169666 软件测试 24 +9787811231557 Eclipse基础与应用 35 diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/3.1-3.4.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/3.1-3.4.cpp new file mode 100644 index 0000000..9b0da70 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/3.1-3.4.cpp @@ -0,0 +1,117 @@ +/***顺序栈的实现***/ + +#include +#include +using namespace std; + +//顺序栈定义 +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +#define MAXSIZE 100//顺序栈存储空间的初始分配量 +typedef int Status; +typedef char SElemType; + +typedef struct { + SElemType *base;//栈底指针 + SElemType *top;//栈顶指针 + int stacksize;//栈可用的最大容量 +} SqStack; + +//算法3.1 顺序栈的初始化 +Status InitStack(SqStack &S) { + //构造一个空栈S + S.base = new SElemType[MAXSIZE];//为顺序栈动态分配一个最大容量为MAXSIZE的数组空间 + if (!S.base) + exit(OVERFLOW); //存储分配失败 + S.top = S.base; //top初始为base,空栈 + S.stacksize = MAXSIZE; //stacksize置为栈的最大容量MAXSIZE + return OK; +} +//算法3.2 顺序栈的入栈 +Status Push(SqStack &S, SElemType e) { + // 插入元素e为新的栈顶元素 + if (S.top - S.base == S.stacksize) + return ERROR; //栈满 + *(S.top++) = e; //元素e压入栈顶,栈顶指针加1 + return OK; +} +//算法3.3 顺序栈的出栈 +Status Pop(SqStack &S, SElemType &e) { + //删除S的栈顶元素,用e返回其值 + if (S.base == S.top) + return ERROR;//栈空 + e = *(--S.top); //栈顶指针减1,将栈顶元素赋给e + return OK; +} +//算法3.4 取顺序栈的栈顶元素 +char GetTop(SqStack S) {//返回S的栈顶元素,不修改栈顶指针 + if (S.top != S.base) //栈非空 + return *(S.top - 1); //返回栈顶元素的值,栈顶指针不变 +} + +int main() { + SqStack s; + int choose, flag = 0; + SElemType j, e, t; + cout << "1.初始化\n"; + cout << "2.入栈\n"; + cout << "3.读栈顶元素\n"; + cout << "4.出栈\n"; + cout << "0.退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://算法3.1 顺序栈的初始化 + if (InitStack(s)) { + flag = 1; + cout << "成功对栈进行初始化\n\n"; + } else + cout << "初始化栈失败\n\n"; + break; + case 2: {//算法3.2 顺序栈的入栈 + fstream file; + file.open("SqStack.txt");// + if (!file) { + cout << "错误!未找到文件!\n\n" << endl; + exit(ERROR); + } + if (flag) { + flag = 1; + cout << "进栈元素依次为:\n"; + while (!file.eof()) { + file >> j; + if (file.fail()) + break; + else { + Push(s, j); + cout << j << " "; + } + } + cout << endl << endl; + } else + cout << "栈未建立,请重新选择\n\n"; + file.close(); + } + break; + case 3://算法3.3 顺序栈的出栈 + if(flag != -1 && flag != 0) + cout << "栈顶元素为:\n" << GetTop(s) << endl << endl; + else + cout << "栈中无元素,请重新选择\n" << endl; + break; + case 4://算法3.4 取顺序栈的栈顶元素 + cout << "依次弹出的栈顶元素为:\n"; + while (Pop(s, t)){ + flag = -1; + cout << t << " "; + } + cout << endl << endl; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/3.1-3.4.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/3.1-3.4.suo new file mode 100644 index 0000000..2eca1be Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/3.1-3.4.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/SqStack.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/SqStack.txt new file mode 100644 index 0000000..8422d40 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.1-3.4/SqStack.txt @@ -0,0 +1,4 @@ +A +B +C +D diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.cpp new file mode 100644 index 0000000..9b0fdc0 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.cpp @@ -0,0 +1,16 @@ +/***Hanoi塔问题***/ + +#include"3.10.h" + +int main() { + int n; + char a, b, c; + a = '1'; + b = '2'; + c = '3'; + cout << "请输入初始第一个柱子上的圆盘个数:" << endl; + cin >> n; + cout << "将第一个柱子上的圆盘全部移动到第三个柱子上的过程为:" << endl; + Hanoi(n, a, b, c); + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.h b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.h new file mode 100644 index 0000000..a8a2692 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.h @@ -0,0 +1,20 @@ +#include +using namespace std; + +int m = 0;//£¨mÊdzõֵΪ0µÄȫ¾ֱäÁ¿£¬¶԰ᶯ¼ÆÊý£© +void move(char A, int n, char C) // °ᶯ²Ù×÷ +{ + cout << "µÚ" << ++m << "²½," << "½«±àºÅΪ" << n << "µÄԲÅ̴ӵÚ" << A << "¸öÖù×ÓÉÏÒƵ½µÚ" << C + << "¸öÖù×ÓÉÏ" << endl; +} + +//Ë㷨3.10¡¡HanoiËþÎÊÌâµĵݹéË㷨 +void Hanoi(int n, char A, char B, char C) {//½«Ëþ×ùAÉϵÄn¸öԲÅ̰´¹æÔò°ᵽCÉϣ¬B×ö¸¨ÖúËþ + if (n == 1) + move(A, 1, C); //½«±àºÅΪ1µÄԲÅ̴ÓAÒƵ½C + else { + Hanoi(n - 1, A, C, B); //½«AÉϱàºÅΪ1ÖÁn-1µÄԲÅÌÒƵ½B£¬C×ö¸¨ÖúËþ + move(A, n, C);//½«±àºÅΪnµÄԲÅ̴ÓAÒƵ½C + Hanoi(n - 1, B, A, C); //½«BÉϱàºÅΪ1ÖÁn-1µÄԲÅÌÒƵ½C£¬A×ö¸¨ÖúËþ + } +} \ No newline at end of file diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.suo new file mode 100644 index 0000000..cede1be Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.10/3.10.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/3.11-3.15.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/3.11-3.15.cpp new file mode 100644 index 0000000..3ccb64b --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/3.11-3.15.cpp @@ -0,0 +1,123 @@ +/***循环队列基本操作***/ + +#include +#include +using namespace std; + +#define MAXQSIZE 100 +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef char QElemType; +typedef char SElemType; +typedef int Status; + +typedef struct { + QElemType *base;//初始化时动态分配存储空间 + int front;//头指针 + int rear;//尾指针 +} SqQueue; + +//算法3.11 循环队列的初始化 +Status InitQueue(SqQueue &Q) {//构造一个空队列Q + Q.base = new QElemType[MAXQSIZE]; //为队列分配一个最大容量为MAXSIZE的数组空间 + if (!Q.base) + exit(OVERFLOW); //存储分配失败 + Q.front = Q.rear = 0; //头指针和尾指针置为零,队列为空 + return OK; +} + +//算法3.12 求循环队列的长度 +int QueueLength(SqQueue Q) {//返回Q的元素个数,即队列的长度 + return (Q.rear - Q.front + MAXQSIZE) % MAXQSIZE; +} + +//算法3.13 循环队列的入队 +Status EnQueue(SqQueue &Q, QElemType e) {//插入元素e为Q的新的队尾元素 + if ((Q.rear + 1) % MAXQSIZE == Q.front) //尾指针在循环意义上加1后等于头指针,表明队满 + return ERROR; + Q.base[Q.rear] = e; //新元素插入队尾 + Q.rear = (Q.rear + 1) % MAXQSIZE; //队尾指针加1 + return OK; +} + +//算法3.14 循环队列的出队 +Status DeQueue(SqQueue &Q, QElemType &e) {//删除Q的队头元素,用e返回其值 + if (Q.front == Q.rear) + return ERROR; //队空 + e = Q.base[Q.front]; //保存队头元素 + Q.front = (Q.front + 1) % MAXQSIZE; //队头指针加1 + return OK; +} + +//算法3.15 取循环队列的队头元素 +SElemType GetHead(SqQueue Q) {//返回Q的队头元素,不修改队头指针 + if (Q.front != Q.rear) //队列非空 + return Q.base[Q.front]; //返回队头元素的值,队头指针不变 +} + +int main() { + int choose, flag = 0; + SqQueue Q; + QElemType e, j; + cout << "1.初始化\n"; + cout << "2.入队\n"; + cout << "3.读队头元素\n"; + cout << "4.出队\n"; + cout << "0.退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://算法3.16 链队的初始化 + if (InitQueue(Q)) { + flag = 1; + cout << "成功对队列进行初始化\n\n"; + } else + cout << "初始化队列失败\n\n"; + break; + case 2: {//算法3.17 链队的入队 + fstream file; + file.open("QNode.txt"); + if (!file) { + cout << "错误!未找到文件!\n\n" << endl; + exit(ERROR); + } + if (flag) { + flag = 1; + cout << "入队的元素依次为:\n"; + while (!file.eof()) { + file >> j; + if (file.fail()) + break; + else { + EnQueue(Q, j); + cout << j << " "; + } + } + cout << endl << endl; + } else + cout << "队列未建立,请重新选择\n\n"; + file.close(); + } + break; + case 3://算法3.19 取链队的队头元素 + if (flag != -1 && flag != 0) + cout << "队头元素为:\n" << GetHead(Q) << endl << endl; + else + cout << "队列中无元素,请重新选择\n" << endl; + break; + case 4://算法3.18 链队的出队 + cout << "依次弹出的队头元素为:\n"; + while (DeQueue(Q, e)) { + flag = -1; + cout << e << " "; + } + cout << endl << endl; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/3.11-3.15.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/3.11-3.15.suo new file mode 100644 index 0000000..79c5e44 Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/3.11-3.15.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/QNode.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/QNode.txt new file mode 100644 index 0000000..8422d40 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.11-3.15/QNode.txt @@ -0,0 +1,4 @@ +A +B +C +D diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/3.16-3.19.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/3.16-3.19.cpp new file mode 100644 index 0000000..72a6016 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/3.16-3.19.cpp @@ -0,0 +1,126 @@ +/***链队的基本操作***/ + +#include +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef char QElemType; +typedef int Status; +typedef char SElemType; + +//- - - - - 队列的链式存储结构- - - - - +typedef struct QNode { + QElemType data; + struct QNode *next; +} QNode, *QueuePtr; +typedef struct { + QueuePtr front; //队头指针 + QueuePtr rear; //队尾指针 +} LinkQueue; + +//算法3.16 链队的初始化 +Status InitQueue(LinkQueue &Q) {//构造一个空队列Q + Q.front = Q.rear = new QNode; //生成新结点作为头结点,队头和队尾指针指向此结点 + Q.front->next = NULL; //头结点的指针域置空 + return OK; +} + +//算法3.17 链队的入队 +Status EnQueue(LinkQueue &Q, QElemType e) {//插入元素e为Q的新的队尾元素 + QueuePtr p; + p = new QNode; //为入队元素分配结点空间,用指针p指向 + p->data = e; //将新结点数据域置为e + p->next = NULL; + Q.rear->next = p; //将新结点插入到队尾 + Q.rear = p; //修改队尾指针 + return OK; +} + +//算法3.18 链队的出队 +Status DeQueue(LinkQueue &Q, QElemType &e) {//删除Q的队头元素,用e返回其值 + QueuePtr p; + if (Q.front == Q.rear) + return ERROR; //若队列空,则返回ERROR + p = Q.front->next; //p指向队头元素 + e = p->data; //e保存队头元素的值 + Q.front->next = p->next; //修改头指针 + if (Q.rear == p) + Q.rear = Q.front; //最后一个元素被删,队尾指针指向头结点 + delete p; //释放原队头元素的空间 + return OK; +} + +//算法3.19 取链队的队头元素 +SElemType GetHead(LinkQueue Q) {//返回Q的队头元素,不修改队头指针 + if (Q.front != Q.rear) //队列非空 + return Q.front->next->data; //返回队头元素的值,队头指针不变 +} + +int main() { + int choose, flag = 0; + LinkQueue Q; + QElemType e, j; + cout << "1.初始化\n"; + cout << "2.入队\n"; + cout << "3.读队头元素\n"; + cout << "4.出队\n"; + cout << "0.退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://算法3.16 链队的初始化 + if (InitQueue(Q)) { + flag = 1; + cout << "成功对队列进行初始化\n\n"; + } else + cout << "初始化队列失败\n\n"; + break; + case 2: {//算法3.17 链队的入队 + fstream file; + file.open("QNode.txt"); + if (!file) { + cout << "错误!未找到文件!\n\n" << endl; + exit(ERROR); + } + if (flag) { + flag = 1; + cout << "入队的元素依次为:\n"; + while (!file.eof()) { + file >> j; + if (file.fail()) + break; + else { + EnQueue(Q, j); + cout << j << " "; + } + } + cout << endl << endl; + } else + cout << "队列未建立,请重新选择\n\n"; + file.close(); + } + break; + case 3://算法3.19 取链队的队头元素 + if (flag != -1 && flag != 0) + cout << "队头元素为:\n" << GetHead(Q) << endl << endl; + else + cout << "队列中无元素,请重新选择\n" << endl; + break; + case 4://算法3.18 链队的出队 + cout << "依次弹出的队头元素为:\n"; + while (DeQueue(Q, e)) { + flag = -1; + cout << e << " "; + } + cout << endl << endl; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/3.16-3.19.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/3.16-3.19.suo new file mode 100644 index 0000000..abbde2c Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/3.16-3.19.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/QNode.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/QNode.txt new file mode 100644 index 0000000..8422d40 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.16-3.19/QNode.txt @@ -0,0 +1,4 @@ +A +B +C +D diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.20/3.20.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.20/3.20.cpp new file mode 100644 index 0000000..90b500f --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.20/3.20.cpp @@ -0,0 +1,69 @@ +/***链栈实现数制的转换***/ + +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 + +typedef int Status; +typedef struct SNode { + int data; + struct SNode *next; +} SNode, *LinkStack; + +Status InitStack(LinkStack &S) { + S = NULL; + return OK; +} +bool StackEmpty(LinkStack S) { + if (!S) + return true; + return false; +} +Status Push(LinkStack &S, int e) { + LinkStack p; + p = new SNode; + if (!p) { + return OVERFLOW; + } + p->data = e; + p->next = S; + S = p; + return OK; +} +Status Pop(LinkStack &S, int &e) { + LinkStack p; + if (!S) + return ERROR; + e = S->data; + p = S; + S = S->next; + delete p; + return OK; +} +//算法3.20 数制的转换(链栈实现) +void conversion(int N) {//对于任意一个非负十进制数,打印输出与其等值的八进制数 + int e; + LinkStack S; + InitStack(S); //初始化空栈S + while (N) //当N非零时,循环 + { + Push(S, N % 8); //把N与8求余得到的八进制数压入栈S + N = N / 8; //N更新为N与8的商 + } + while (!StackEmpty(S)) //当栈S非空时,循环 + { + Pop(S, e); //弹出栈顶元素e + cout << e; //输出e + } +} +int main() {//对于输入的任意一个非负十进制数,打印输出与其等值的八进制数 + int n, e; + cout << "输入一个非负十进制数:" << endl; + cin >> n; + + conversion(n); + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.20/3.20.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.20/3.20.suo new file mode 100644 index 0000000..12c7d53 Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.20/3.20.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.21/3.21.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.21/3.21.cpp new file mode 100644 index 0000000..75562ac --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.21/3.21.cpp @@ -0,0 +1,96 @@ +/***链栈实现括号匹配***/ + +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef char SElemType; +typedef int Status; +typedef struct SNode { + int data; + struct SNode *next; +} SNode, *LinkStack; + +Status InitStack(LinkStack &S) { + S = NULL; + return OK; +} +bool StackEmpty(LinkStack S) { + if (!S) + return true; + return false; +} +Status Push(LinkStack &S, SElemType e) { + SNode *p = new SNode; + if (!p) { + return OVERFLOW; + } + p->data = e; + p->next = S; + S = p; + return OK; +} +Status Pop(LinkStack &S, SElemType &e) { + SNode *p; + if (!S) + return ERROR; + e = S->data; + p = S; + S = S->next; + delete p; + return OK; +} +Status GetTop(LinkStack &S) { + if (!S) + return ERROR; + return S->data; +} + +//算法3.21 括号的匹配 +Status Matching() {//检验表达式中所含括号是否正确匹配,如果匹配,则返回true,否则返回false + //表达式以“#”结束 + char ch; + SElemType x; + LinkStack S; + InitStack(S); //初始化空栈 + int flag = 1; //标记匹配结果以控制循环及返回结果 + cin >> ch; //读入第一个字符 + while (ch != '#' && flag) //假设表达式以“#”结尾 + { + switch (ch) { + case '[' : + case '(': //若是左括号,则将其压入栈 + Push(S, ch); + break; + case ')': //若是“)”,则根据当前栈顶元素的值分情况考虑 + if (!StackEmpty(S) && GetTop(S) == '(') + Pop(S, x); //若栈非空且栈顶元素是“(”,则正确匹配 + else + flag = 0; //若栈空或栈顶元素不是“(”,则错误失败 + break; + case ']': //若是“]”,则根据当前栈顶元素的值分情况考虑 + if (!StackEmpty(S) && GetTop(S) == '[') + Pop(S, x); //若栈非空且栈顶元素是“[”,则正确匹配 + else + flag = 0; //若栈空或栈顶元素不是“[”,则错误匹配 + break; + } //switch + cin >> ch; //继续读入下一个字符 + } //while + if (StackEmpty(S) && flag) + return true; //匹配成功 + else + return false; //匹配失败 +} +int main() { + LinkStack S; + cout << "请输入待匹配的表达式,以“#”结束:" << endl; + int flag = (int) Matching(); + if (flag) + cout << "括号匹配成功!" << endl; + else + cout << "括号匹配失败!" << endl; + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.21/3.21.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.21/3.21.suo new file mode 100644 index 0000000..e939021 Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.21/3.21.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.cpp new file mode 100644 index 0000000..572683e --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.cpp @@ -0,0 +1,29 @@ +#include"3.22.h" + +int menu() { + int c; + cout << "0-9以内的多项式计算" << endl; + cout << "1.计算" << endl; + cout << "0.退出\n" << endl; + cout << "选择:"; + cin >> c; + return c; +} + +void main() { + while (1) { + switch (menu()) { + case 1: { + cout << "请输入要计算的表达式(操作数和结果都在0-9的范围内,以#结束):" << endl; + char res = EvaluateExpression();//算法3.22 表达式求值 + cout << "计算结果为" << res - 48 << endl << endl; + } + break; + case 0: + cout << "退出成功\n" << endl; + exit(0); + default: + break; + } + } +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.h b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.h new file mode 100644 index 0000000..d21e0f4 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.h @@ -0,0 +1,117 @@ +/***Á´ջʵÏֱí´ïʽÇóֵ***/ + +#include +using namespace std; + +const char oper[7] = { '+', '-', '*', '/', '(', ')', '#' }; +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef char SElemType; +typedef int Status; +typedef struct SNode { + int data; + struct SNode *next; +} SNode, *LinkStack; + +Status InitStack(LinkStack &S) { + S = NULL; + return OK; +} +bool StackEmpty(LinkStack S) { + if (!S) + return true; + return false; +} +Status Push(LinkStack &S, SElemType e) { + SNode *p = new SNode; + if (!p) { + return OVERFLOW; + } + p->data = e; + p->next = S; + S = p; + return OK; +} +Status Pop(LinkStack &S, SElemType &e) { + SNode *p; + if (!S) + return ERROR; + e = S->data; + p = S; + S = S->next; + delete p; + return OK; +} +Status GetTop(LinkStack &S) { + if (!S) + return ERROR; + + return S->data; +} +bool In(char ch) {//ÅжÏchÊǷñΪÔËËã·û + for (int i = 0; i < 7; i++) { + if (ch == oper[i]) { + return true; + } + } + return false; +} +char Precede(char theta1, char theta2) {//ÅжÏÔËËã·ûÓÅÏȼ¶ + if ((theta1 == '(' && theta2 == ')') || (theta1 == '#' && theta2 == '#')) { + return '='; + } else if (theta1 == '(' || theta1 == '#' || theta2 == '(' || (theta1 + == '+' || theta1 == '-') && (theta2 == '*' || theta2 == '/')) { + return '<'; + } else + return '>'; +} +char Operate(char first, char theta, char second) {//¼ÆËãÁ½ÊýÔËËã½á¹û + switch (theta) { + case '+': + return (first - '0') + (second - '0') + 48; + case '-': + return (first - '0') - (second - '0') + 48; + case '*': + return (first - '0') * (second - '0') + 48; + case '/': + return (first - '0') / (second - '0') + 48; + } + return 0; +} + +//Ë㷨3.22¡¡±í´ïʽÇóֵ +char EvaluateExpression() {//ËãÊõ±í´ïʽÇóֵµÄËã·ûÓÅÏÈË㷨£¬ÉèOPTRºÍOPND·ֱðΪÔËËã·ûջºͲÙ×÷Êýջ + LinkStack OPTR, OPND; + char ch, theta, a, b, x, top; + InitStack(OPND); //³õʼ»¯OPNDջ + InitStack(OPTR); //³õʼ»¯OPTRջ + Push(OPTR, '#'); //½«±í´ïʽÆðʼ·û¡°#¡±ѹÈëOPTRջ + cin >> ch; + while (ch != '#' || (GetTop(OPTR) != '#')) //±í´ïʽûÓÐɨÃèÍê±ϻòOPTRµÄջ¶¥ԪËز»Ϊ¡°#¡± + { + if (!In(ch)) { + Push(OPND, ch); + cin >> ch; + } //ch²»ÊÇÔËËã·ûÔò½øOPNDջ + else + switch (Precede(GetTop(OPTR), ch)) //±ȽÏOPTRµÄջ¶¥ԪËغÍchµÄÓÅÏȼ¶ + { + case '<': + Push(OPTR, ch); + cin >> ch; //µ±ǰ×ַûchѹÈëOPTRջ£¬¶ÁÈëÏÂһ×ַûch + break; + case '>': + Pop(OPTR, theta); //µ¯³öOPTRջ¶¥µÄÔËËã·û + Pop(OPND, b); + Pop(OPND, a); //µ¯³öOPNDջ¶¥µÄÁ½¸öÔËËãÊý + Push(OPND, Operate(a, theta, b)); //½«ÔËËã½á¹ûѹÈëOPNDջ + break; + case '=': //OPTRµÄջ¶¥ԪËØÊǡ°(¡±ÇÒchÊǡ°)¡± + Pop(OPTR, x); + cin >> ch; //µ¯³öOPTRջ¶¥µġ°(¡±£¬¶ÁÈëÏÂһ×ַûch + break; + } //switch + } //while + return GetTop(OPND); //OPNDջ¶¥ԪËؼ´Ϊ±í´ïʽÇóֵ½á¹û +} \ No newline at end of file diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.suo new file mode 100644 index 0000000..0f6aae8 Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.22/3.22.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.cpp new file mode 100644 index 0000000..8a261a3 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.cpp @@ -0,0 +1,18 @@ +#include"3.23.h" + +Person dancer[MAXQSIZE]; +int main() { + int i = 0; + fstream file; + file.open("DancePartner.txt"); + if (!file) { + cout << "错误!未找到文件!\n\n" << endl; + exit( ERROR); + } + while (!file.eof()) { + file >> dancer[i].name >> dancer[i].sex; + i++; + } + DancePartner(dancer, i + 1); + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.h b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.h new file mode 100644 index 0000000..fb2721d --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.h @@ -0,0 +1,89 @@ +#include +#include +#include +#define MAXQSIZE 100//¶ÓÁпÉÄܴﵽµÄ×î´󳤶È +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +using namespace std; + +typedef struct { + char name[20]; //ÐÕÃû + char sex; //ÐԱð£¬'F'±íʾŮÐԣ¬'M'±íʾÄÐÐÔ +} Person; + +//- - - - - ¶ÓÁеÄ˳Ðò´洢½ṹ- - - - - +typedef struct { + Person *base; //¶ÓÁÐÖÐÊý¾ÝԪËØÀàÐÍΪPerson + int front; //ͷָÕë + int rear; //βָÕë +} SqQueue; + +SqQueue Mdancers, Fdancers; //·ֱð´æ·ÅÄÐʿºÍŮʿÈë¶ÓÕ߶ÓÁÐ + +int InitQueue(SqQueue &Q) {//¹¹Ôìһ¸ö¿նÓÁÐQ + Q.base = new Person[MAXQSIZE]; //Ϊ¶ÓÁзÖÅäһ¸ö×î´óÈÝÁ¿ΪMAXSIZEµÄÊý×é¿ռä + if (!Q.base) + exit( OVERFLOW); //´洢·ÖÅäʧ°Ü + Q.front = Q.rear = 0; //ͷָÕëºÍβָÕëÖÃΪÁ㣬¶ÓÁÐΪ¿Õ + return OK; +} + +int EnQueue(SqQueue &Q, Person e) {//²åÈëԪËØeΪQµÄеĶÓβԪËØ + if ((Q.rear + 1) % MAXQSIZE == Q.front) //βָÕëÔÚѭ»·ÒâÒåÉϼÓ1ºóµÈÓÚͷָÕ룬±íÃ÷¶ÓÂú + return ERROR; + Q.base[Q.rear] = e; //ÐÂԪËزåÈë¶Óβ + Q.rear = (Q.rear + 1) % MAXQSIZE; //¶ÓβָÕë¼Ó1 + return OK; +} + +int QueueEmpty(SqQueue &Q) { + if (Q.front == Q.rear) //¶ӿÕ + return OK; + else + return ERROR; +} + +int DeQueue(SqQueue &Q, Person &e)//ɾ³ýQµĶÓͷԪËأ¬ÓÃe·µ»ØÆäֵ +{ + if (Q.front == Q.rear) + return ERROR; //¶ӿÕ + e = Q.base[Q.front]; //±£´æ¶ÓͷԪËØ + Q.front = (Q.front + 1) % MAXQSIZE; //¶ÓͷָÕë¼Ó1 + return OK; +} + +Person GetHead(SqQueue Q) {//·µ»ØQµĶÓͷԪËأ¬²»Ð޸ĶÓͷָÕë + if (Q.front != Q.rear) //¶ÓÁзǿÕ + return Q.base[Q.front]; //·µ»ضÓͷԪËصÄֵ£¬¶ÓͷָÕ벻±ä +} + +//Ë㷨3.23¡¡Îè°éÎÊÌâ +void DancePartner(Person dancer[], int num) {//½ṹÊý×édancerÖдæ·ÅÌøÎèµÄÄÐŮ£¬numÊÇÌøÎèµÄÈËÊý¡£ + InitQueue(Mdancers); //ÄÐʿ¶ÓÁгõʼ»¯ + InitQueue(Fdancers); //Ůʿ¶ÓÁгõʼ»¯ + Person p; + for (int i = 0; i < num; i++) //ÒÀ´ν«ÌøÎèÕ߸ù¾ÝÆäÐԱðÈë¶Ó + { + p = dancer[i]; + if (p.sex == 'F') + EnQueue(Fdancers, p); //²åÈëŮ¶Ó + else + EnQueue(Mdancers, p); //²åÈëÄжÓ + } + cout << "The dancing partners are:" << endl; + while (!QueueEmpty(Fdancers) && !QueueEmpty(Mdancers)) {//ÒÀ´ÎÊä³öÄÐŮÎè°éµÄÐÕÃû + DeQueue(Fdancers, p); //Ůʿ³ö¶Ó + cout << p.name << " "; //Êä³ö³ö¶ÓŮʿÐÕÃû + DeQueue(Mdancers, p); //ÄÐʿ³ö¶Ó + cout << p.name << endl; //Êä³ö³ö¶ÓÄÐʿÐÕÃû + } + if (!QueueEmpty(Fdancers)) { //Ůʿ¶ÓÁзǿգ¬Êä³ö¶ÓͷŮʿµÄÐÕÃû + p = GetHead(Fdancers); //ȡŮʿ¶Óͷ + cout << "The first man to get a partner is: " << endl; + cout << p.name << endl; + } else if (!QueueEmpty(Mdancers)) { //ÄÐʿ¶ÓÁзǿգ¬Êä³ö¶ÓͷÄÐʿµÄÐÕÃû + p = GetHead(Mdancers); //ȡÄÐʿ¶Óͷ + cout << "The first woman to get a partner is: " << p.name << endl; + } +} \ No newline at end of file diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.suo new file mode 100644 index 0000000..4741da0 Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/3.23.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/DancePartner.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/DancePartner.txt new file mode 100644 index 0000000..b57d95b --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.23/DancePartner.txt @@ -0,0 +1,18 @@ +鄢雪棱 F +高欣雅 F +张甜源 F +许丹丹 F +冉小溪 F +周如意 F +胡思琪 F +蒋雅琪 F +金城武 M +吴彦祖 M +王思聪 M +古天乐 M +周杰伦 M +李敏浩 M +李钟硕 M +马小云 M +张智霖 M +王力宏 M diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/3.5-3.8.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/3.5-3.8.cpp new file mode 100644 index 0000000..0419911 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/3.5-3.8.cpp @@ -0,0 +1,115 @@ +/***链栈的实现***/ +#include +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; +typedef char SElemType; + +typedef struct StackNode { + SElemType data; + struct StackNode *next; +} StackNode, *LinkStack; + +//算法3.5 链栈的初始化 +Status InitStack(LinkStack &S) { // 构造一个空栈 S,栈顶指针置空 + S = NULL; + return OK; +} + +//算法3.6 链栈的入栈 +Status Push(LinkStack &S, SElemType e) {//在栈顶插入元素e + LinkStack p; + p = new StackNode; //生成新结点 + p->data = e; //将新结点数据域置为e + p->next = S; //将新结点插入栈顶 + S = p; //修改栈顶指针为p + return OK; +} + +//算法3.7 链栈的出栈 +Status Pop(LinkStack &S, SElemType &e) {//删除S的栈顶元素,用e返回其值 + LinkStack p; + if (S == NULL) + return ERROR; //栈空 + e = S->data; //将栈顶元素赋给e + p = S; //用p临时保存栈顶元素空间,以备释放 + S = S->next; //修改栈顶指针 + delete p; //释放原栈顶元素的空间 + return OK; +} +//算法3.8 取链栈的栈顶元素 +SElemType GetTop(LinkStack S) {//返回S的栈顶元素,不修改栈顶指针 + if (S != NULL) //栈非空 + return S->data; //返回栈顶元素的值,栈顶指针不变 +} + +int main() { + LinkStack s; + int choose, flag = 0; + SElemType j, t; + cout << "1.初始化\n"; + cout << "2.入栈\n"; + cout << "3.读栈顶元素\n"; + cout << "4.出栈\n"; + cout << "0.退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://算法3.5 链栈的初始化 + if (InitStack(s)) { + flag = 1; + cout << "成功对栈进行初始化\n\n"; + } else + cout << "初始化栈失败\n\n"; + break; + case 2: {//算法3.6 链栈的入栈 + fstream file; + file.open("SqStack.txt"); + if (!file) { + cout << "错误!未找到文件!\n\n" << endl; + exit(ERROR); + } + if (flag) { + flag = 1; + cout << "进栈元素依次为:\n"; + while (!file.eof()) { + file >> j; + if (file.fail()) + break; + else { + Push(s, j); + cout << j << " "; + } + } + cout << endl << endl; + } else + cout << "栈未建立,请重新选择\n\n"; + file.close(); + } + break; + case 3://算法3.8 取链栈的栈顶元素 + if (flag != -1 && flag != 0) + cout << "栈顶元素为:\n" << GetTop(s) << endl << endl; + else + cout << "栈中无元素,请重新选择\n" << endl; + break; + case 4://算法3.7 链栈的出栈 + if (flag) { + cout << "依次弹出的栈顶元素为:\n"; + while (Pop(s, t)) + cout << t << " "; + cout << endl << endl; + } else + cout << "栈未建立,请重新选择\n\n"; + break; + } + } + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/3.5-3.8.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/3.5-3.8.suo new file mode 100644 index 0000000..920ffab Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/3.5-3.8.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/SqStack.txt b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/SqStack.txt new file mode 100644 index 0000000..8422d40 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.5-3.8/SqStack.txt @@ -0,0 +1,4 @@ +A +B +C +D diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.9/3.9.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.9/3.9.cpp new file mode 100644 index 0000000..c043b7b --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.9/3.9.cpp @@ -0,0 +1,53 @@ +/***依次输出链表中的各个结点***/ + +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; +typedef char ElemType; +typedef struct LNode { + ElemType data; //结点的数据域 + LNode *next; //结点的指针域 +} LNode, *LinkList;//头指针 + +//后插法创建链表算法 +void CreateList_L(LinkList &L, int n) { + L = new LNode; + L->next = NULL; + LNode *p, *r; + r = L; + for (int i = 0; i < n; i++) { + p = new LNode; + cin >> p->data; + p->next = NULL; + r->next = p; + r = p; + } +} + +//算法3.9 遍历输出链表中各个结点的递归算法 +void TraverseList(LinkList p) { + if (p == NULL) + return; //递归终止 + else { + cout << p->data << endl; //输出当前结点的数据域 + TraverseList(p->next); //p指向后继指点继续递归 + } +} + +int main() { + int n; + LinkList L; + //InitList(L); + cout << "请输入元素个数:" << endl; + cin >> n; + cout << "请输入链表元素(以空格隔开,按回车结束):" << endl; + CreateList_L(L, n); //后插法创建链表算法 + cout << "链表中的元素依次为:" << endl; + TraverseList(L->next); + cout << endl; + return 0; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.9/3.9.suo b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.9/3.9.suo new file mode 100644 index 0000000..e872860 Binary files /dev/null and b/DSBookCode/数据结构第2版-书中算法(C语言版)/第3章/3.9/3.9.suo differ diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第4章/4.1.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第4章/4.1.cpp new file mode 100644 index 0000000..7684c8b --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第4章/4.1.cpp @@ -0,0 +1,60 @@ +/***字符串匹配算法***/ +#include +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; +#define MAXSTRLEN 255 //用户可在255以内定义最长串长 +typedef char SString[MAXSTRLEN+1]; //0号单元存放串的长度 + +Status StrAssign(SString T, char *chars) { //生成一个其值等于chars的串T + int i; + if (strlen(chars) > MAXSTRLEN) + return ERROR; + else { + T[0] = strlen(chars); + for (i = 1; i <= T[0]; i++) + T[i] = *(chars + i - 1); + return OK; + } +} + +//算法4.1 BF算法 +int Index(SString S, SString T, int pos) +{ + //返回模式T在主串S中第pos个字符之后第s一次出现的位置。若不存在,则返回值为0 + //其中,T非空,1≤pos≤StrLength(S) + int i = pos; + int j = 1; + while(i <= S[0]&&j <= T[0]) + { + if(S[i]==T[j]) + { + ++i; + ++j; + } //继续比较后继字符 + else + { + i=i-j+2; + j=1; + } //指针后退重新开始匹配 + } + if (j > T[0]) + return i - T[0]; + else + return 0; + return 0; +}//Index + +int main() +{ + SString S; + StrAssign(S,"bbaaabbaba") ; + SString T; + StrAssign(T,"abb") ; + cout<<"主串和子串在第"< +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; +#define MAXSTRLEN 255 //用户可在255以内定义最长串长 +typedef char SString[MAXSTRLEN+1]; //0号单元存放串的长度 + +Status StrAssign(SString T, char *chars) { //生成一个其值等于chars的串T + int i; + if (strlen(chars) > MAXSTRLEN) + return ERROR; + else { + T[0] = strlen(chars); + for (i = 1; i <= T[0]; i++) + T[i] = *(chars + i - 1); + return OK; + } +} +//算法4.3 计算next函数值 +void get_next(SString T, int next[]) +{ //求模式串T的next函数值并存入数组next + int i = 1, j = 0; + next[1] = 0; + while (i < T[0]) + if (j == 0 || T[i] == T[j]) + { + ++i; + ++j; + next[i] = j; + } + else + j = next[j]; +}//get_next + +//算法4.2 KMP算法 +int Index_KMP(SString S, SString T, int pos, int next[]) +{ // 利用模式串T的next函数求T在主串S中第pos个字符之后的位置的KMP算法 + //其中,T非空,1≤pos≤StrLength(S) + int i = pos, j = 1; + while (i <= S[0] && j <= T[0]) + if (j == 0 || S[i] == T[j]) // 继续比较后继字 + { + ++i; + ++j; + } + else + j = next[j]; // 模式串向右移动 + if (j > T[0]) // 匹配成功 + return i - T[0]; + else + return 0; +}//Index_KMP + +int main() +{ + SString S; + StrAssign(S,"aaabbaba") ; + SString T; + StrAssign(T,"abb") ; + int *p = new int[T[0]+1]; // 生成T的next数组 + get_next(T,p); + cout<<"主串和子串在第"< +#include +using namespace std; + +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; +#define MAXSTRLEN 255 //用户可在255以内定义最长串长 +typedef char SString[MAXSTRLEN+1]; //0号单元存放串的长度 + +Status StrAssign(SString T, char *chars) { //生成一个其值等于chars的串T + int i; + if (strlen(chars) > MAXSTRLEN) + return ERROR; + else { + T[0] = strlen(chars); + for (i = 1; i <= T[0]; i++) + T[i] = *(chars + i - 1); + return OK; + } +} + +//算法4.4 计算next函数修正值 +void get_nextval(SString T, int nextval[]) +{ // 求模式串T的next函数修正值并存入数组nextval + int i = 1, j = 0; + nextval[1] = 0; + while (i < T[0]) + if (j == 0 || T[i] == T[j]) + { + ++i; + ++j; + if (T[i] != T[j]) + nextval[i] = j; + else + nextval[i] = nextval[j]; + } else + j = nextval[j]; +}//get_nextval + +//算法4.2 KMP算法 +int Index_KMP(SString S, SString T, int pos, int next[]) +{ // 利用模式串T的next函数求T在主串S中第pos个字符之后的位置的KMP算法 + //其中,T非空,1≤pos≤StrLength(S) + int i = pos, j = 1; + while (i <= S[0] && j <= T[0]) + if (j == 0 || S[i] == T[j]) // 继续比较后继字 + { + ++i; + ++j; + } + else + j = next[j]; // 模式串向右移动 + if (j > T[0]) // 匹配成功 + return i - T[0]; + else + return 0; +}//Index_KMP + +int main() +{ + SString S; + StrAssign(S,"babaaaabbaba") ; + SString T; + StrAssign(T,"abb") ; + int *p = new int[T[0]+1]; // 生成T的next数组 + get_nextval(T,p); + cout<<"主串和子串在第"< +#include +#include +using namespace std; + +typedef struct{ + char ch[600]; //若是非空串,则按串长分配存储区,否则ch为NULL + int len; //串长度 +}HString; + + +int Index_BF(HString S,HString T,int pos) +{//返回模式T在主串S中第pos个字符开始第一次出现的位置。若不存在,则返回值为0 + //其中,T非空,1≤pos≤StrLength(S) + int i,j; + i=pos; j=1; + while(i<=S.len&&j<=T.len) + { + if(S.ch[i]==T.ch[j]){++i;++j;} //继续比较后继字符 + else{i=i-j+2;j=1;} //指针后退重新开始匹配 + } + if(j>T.len) return i-T.len; + else return 0; +} + +void Virus_detection() +{ + int num,m,flag,i,j; char Vir[600]; + HString Virus,Person,temp; + ifstream inFile("病毒感染检测输入数据.txt"); + ofstream outFile("病毒感染检测输出结果.txt"); + inFile>>num;//读取待检测的任务数 + while(num--) //依次检测每对病毒DNA和人的DNA是否匹配 + { + inFile>>Virus.ch+1;//读取病毒DNA序列 + inFile>>Person.ch+1;//读取人的DNA序列 + strcpy(Vir,Virus.ch); + Virus.len=strlen(Virus.ch)-1; + Person.len=strlen(Person.ch)-1; + flag=0;//用来标识是否匹配,初始为0,匹配后为非0 + m=Virus.len; + for(i=m+1,j=1;j<=m;j++) Virus.ch[i++]=Virus.ch[j]; + //因病毒为环状,故将病毒的长度扩大2倍 + //即可线性取到所有长度为Virus.len的字符串 + Virus.ch[2*m+1]='\0'; //添加结束符号 + for(i=0;i +using namespace std; +typedef struct BiNode{ //二叉链表定义 + char data; + struct BiNode *lchild,*rchild; +}BiTNode,*BiTree; + +//用算法5.3 先序遍历的顺序建立二叉链表 +void CreateBiTree(BiTree &T){ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else{ + T=new BiTNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +void InOrderTraverse(BiTree T){ + //中序遍历二叉树T的递归算法 + if(T){ + InOrderTraverse(T->lchild); + cout << T->data; + InOrderTraverse(T->rchild); + } +} + +void main(){ + BiTree tree; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + cout<<"中序遍历的结果为:\n"; + InOrderTraverse(tree); + cout< +using namespace std; +typedef struct +{ + int weight; + int parent,lchild,rchild; +}HTNode,*HuffmanTree; + +void Select(HuffmanTree HT,int len,int &s1,int &s2) +{ + int i,min1=0x3f3f3f3f,min2=0x3f3f3f3f;//先赋予最大值 + for(i=1;i<=len;i++) + { + if(HT[i].weight>HT[i].weight; + /*――――――――――初始化工作结束,下面开始创建赫夫曼树――――――――――*/ + for(i=n+1;i<=m;++i) + { //通过n-1次的选择、删除、合并来创建赫夫曼树 + Select(HT,i-1,s1,s2); + //在HT[k](1≤k≤i-1)中选择两个其双亲域为0且权值最小的结点, + // 并返回它们在HT中的序号s1和s2 + HT[s1].parent=i; + HT[s2].parent=i; + //得到新结点i,从森林中删除s1,s2,将s1和s2的双亲域由0改为i + HT[i].lchild=s1; + HT[i].rchild=s2 ; //s1,s2分别作为i的左右孩子 + HT[i].weight=HT[s1].weight+HT[s2].weight; //i 的权值为左右孩子权值之和 + } //for + } // CreatHuffmanTree + +void main() +{ + HuffmanTree HT; + int n; + cout<<"请输入叶子结点的个数:\n"; + cin>>n; + CreatHuffmanTree(HT,n); + cout<<"哈夫曼树建立完毕!\n"; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.11.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.11.cpp new file mode 100644 index 0000000..12aad55 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.11.cpp @@ -0,0 +1,105 @@ +//算法5.11 根据赫夫曼树求赫夫曼编码 +#include +using namespace std; +typedef struct +{ + int weight; + int parent,lchild,rchild; +}HTNode,*HuffmanTree; +typedef char **HuffmanCode; + +void Select(HuffmanTree HT,int len,int &s1,int &s2) +{ + int i,min1=0x3f3f3f3f,min2=0x3f3f3f3f;//先赋予最大值 + for(i=1;i<=len;i++) + { + if(HT[i].weight>HT[i].weight; + /*――――――――――初始化工作结束,下面开始创建赫夫曼树――――――――――*/ + for(i=n+1;i<=m;++i) + { //通过n-1次的选择、删除、合并来创建赫夫曼树 + Select(HT,i-1,s1,s2); + //在HT[k](1≤k≤i-1)中选择两个其双亲域为0且权值最小的结点, + // 并返回它们在HT中的序号s1和s2 + HT[s1].parent=i; + HT[s2].parent=i; + //得到新结点i,从森林中删除s1,s2,将s1和s2的双亲域由0改为i + HT[i].lchild=s1; + HT[i].rchild=s2 ; //s1,s2分别作为i的左右孩子 + HT[i].weight=HT[s1].weight+HT[s2].weight; //i 的权值为左右孩子权值之和 + } //for +} + // CreatHuffmanTree +void CreatHuffmanCode(HuffmanTree HT,HuffmanCode &HC,int n) +{ + //从叶子到根逆向求每个字符的赫夫曼编码,存储在编码表HC中 + int i,start,c,f; + HC=new char*[n+1]; //分配n个字符编码的头指针矢量 + char *cd=new char[n]; //分配临时存放编码的动态数组空间 + cd[n-1]='\0'; //编码结束符 + for(i=1;i<=n;++i) + { //逐个字符求赫夫曼编码 + start=n-1; //start开始时指向最后,即编码结束符位置 + c=i; + f=HT[i].parent; //f指向结点c的双亲结点 + while(f!=0) + { //从叶子结点开始向上回溯,直到根结点 + --start; //回溯一次start向前指一个位置 + if(HT[f].lchild==c) + cd[start]='0'; //结点c是f的左孩子,则生成代码0 + else + cd[start]='1'; //结点c是f的右孩子,则生成代码1 + c=f; + f=HT[f].parent; //继续向上回溯 + } //求出第i个字符的编码 + HC[i]=new char[n-start]; // 为第i 个字符编码分配空间 + strcpy(HC[i], &cd[start]); //将求得的编码从临时空间cd复制到HC的当前行中 + } + delete cd; //释放临时空间 +} // CreatHuffanCode +void show(HuffmanTree HT,HuffmanCode HC) +{ + for(int i=1;i<=sizeof(HC)+1;i++) + cout<>n; //输入赫夫曼树的叶子结点个数 + CreatHuffmanTree(HT,n); + CreatHuffmanCode(HT,HC,n); + show(HT,HC); +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.12-5.13.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.12-5.13.cpp new file mode 100644 index 0000000..9b087b9 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.12-5.13.cpp @@ -0,0 +1,201 @@ +#include +#include +#define ERROR -1 +#define MAXSIZE 100 +using namespace std; + +typedef struct BiTNode{ //二叉树的二叉链表存储表示 + char data; + struct BiTNode *lchild,*rchild; +}BiTNode,*BiTree; + +typedef struct{ // 字符栈定义 + char *base; + char *top; + int stacksize; +}SqStack; + +typedef struct{ //树栈定义 + BiTree *base; + BiTree *top; + int stacksize; +}BiTreeStack; + + +void InitStack(SqStack &S){ //字符栈初始化 + S.base=new char[MAXSIZE]; + if(!S.base) exit(-1); + S.top=S.base; + S.stacksize=MAXSIZE; +} + + +void InitBiTreeStack(BiTreeStack &S){ //树栈初始化 + S.base=new BiTree[MAXSIZE]; + if(!S.base) exit(-1); + S.top=S.base; + S.stacksize=MAXSIZE; +} + + +void Push(SqStack &S,char e) //字符栈入栈 +{ + if(S.top-S.base==S.stacksize) return ; + *S.top=e; + S.top++; + +} +void PushBiTree(BiTreeStack &S,BiTree e) //树栈入栈 +{ + if(S.top-S.base==S.stacksize) return ; + *S.top=e; + S.top++; + +} +void Pop(SqStack &S,char &e) //字符栈出栈 +{ + if(S.top==S.base) return; + e=*--S.top; + +} + +void PopBiTree(BiTreeStack &S,BiTree &e) //树栈出栈 +{ + if(S.top==S.base) return; + e=*--S.top; + +} + + +char GetTop(SqStack &S) //字符栈得到栈顶函数 +{ + if(S.top==S.base) exit(1); + return *(S.top-1); +} + +char Precede(char t1,char t2) + { /* 根据教科书表3.1,判断两符号的优先关系 */ + char f; + switch(t2) + { + case '+':if(t1=='('||t1=='#') + f='<'; + else + f='>'; + break; + case '-':if(t1=='('||t1=='#') + f='<'; + else + f='>'; + break; + case '*':if(t1=='*'||t1=='/'||t1==')') + f='>'; + else + f='<'; + break; + case '/':if(t1=='*'||t1=='/'||t1==')') + f='>'; + else + f='<'; + break; + case '(':if(t1!=')') + f='<'; + break; + case')':if(t1=='(') + f='='; + else + f='>'; + break; + case'#':if(t1=='#') + f='='; + else + f='>'; + } + + return f; + } +int In(char c) + { /* 判断c是否为运算符 */ + switch(c) + { + case '+': + case'-': + case'*': + case '/': + case'#': + case '(': + case')':return 1;break; + default:return 0; + } + } +int GetValue(char theta,int a,int b) //进行运算的函数 + { + int c; + switch(theta) + { + case '+':c=a+b;break; + case'-':c=a-b;break; + case'*':c=a*b;break; + case'/':c=a/b;break; + default: + break; + } + return c; + } + +void CreateExpTree(BiTree &T,BiTree a,BiTree b,char ch){ //简单二叉树的创建 + T=new BiTNode; + T->data=ch; + T->lchild=a; + T->rchild=b; +} + + + void InitExpTree(BiTree &T) //算法5.12 表达式树的创建 + { + SqStack OPTR; + BiTreeStack EXPT; + char ch,theta,x; + BiTree a,b; + InitStack(OPTR);Push(OPTR,'#'); + InitBiTreeStack(EXPT);cin>>ch; + while(ch!='#'||GetTop(OPTR)!='#'){ + if(!In(ch)){CreateExpTree(T,NULL,NULL,ch);PushBiTree(EXPT,T);cin>>ch;}//*q + else + switch(Precede(GetTop(OPTR),ch)){ + case'<': + Push(OPTR,ch);cin>>ch; + break; + case'>': + Pop(OPTR,theta); + PopBiTree(EXPT,b);PopBiTree(EXPT,a); + CreateExpTree(T,a,b,theta); //* + PushBiTree(EXPT,T); + break; + case'=': + Pop(OPTR,x);cin>>ch; + break; + } + } + } + + int EvaluateExTree(BiTree T){ //算法5.13 表达式树的求值 + int lvalue,rvalue; + lvalue=rvalue=0; + if(T->lchild==NULL&&T->rchild==NULL) + return T->data-'0'; + else{ + lvalue=EvaluateExTree(T->lchild); + rvalue=EvaluateExTree(T->rchild); + return GetValue(T->data,lvalue,rvalue); //运算函数 + } + } + + void main() + { + cout<<"请输入算术表达式,并以#结束,中间计算过程要是个位数."< +using namespace std; + +//二叉树的二叉链表存储表示 +typedef struct BiNode +{ + char data; //结点数据域 + struct BiNode *lchild,*rchild; //左右孩子指针 +}BiTNode,*BiTree; + +//链栈的定义 +typedef struct StackNode +{ + BiTNode data; + struct StackNode *next; +}StackNode,*LinkStack; + +//用算法5.3 先序遍历的顺序建立二叉链表 +void CreateBiTree(BiTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else{ + T=new BiTNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +void InitStack(LinkStack &S) +{ + //构造一个空栈S,栈顶指针置空 + S=NULL; +} + +bool StackEmpty(LinkStack S) +{ + if(!S) + return true; + return false; +} + +void Push(LinkStack &S,BiTree e) +{ + //在栈顶插入元素*e + StackNode *p=new StackNode; + p->data=*e; + p->next=S; + S=p; +} + +void Pop(LinkStack &S,BiTree e) +{ + if(S!=NULL)//原书上写的是if(S==NULL)return ERROR; + { + *e=S->data; + StackNode *p=S; + S=S->next; + delete p; + } +} + +void InOrderTraverse1(BiTree T) +{ + // 中序遍历二叉树T的非递归算法 + LinkStack S; BiTree p; + BiTree q=new BiTNode; + InitStack(S); p=T; + while(p||!StackEmpty(S)) + { + if(p) + { + Push(S,p); //p非空根指针进栈,遍历左子树 + p=p->lchild; + } + else + { + Pop(S,q); //p为空根指针退栈,访问根结点,遍历右子树 + cout<data; + p=q->rchild; + } + } // while +} // InOrderTraverse + +void main() +{ + BiTree tree; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + cout<<"中序遍历的结果为:\n"; + InOrderTraverse1(tree); + cout< +using namespace std; + +//二叉树的二叉链表存储表示 +typedef struct BiNode +{ + char data; //结点数据域 + struct BiNode *lchild,*rchild; //左右孩子指针 +}BiTNode,*BiTree; + +void CreateBiTree(BiTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else{ + T=new BiTNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +//用算法5.1 中序遍历的递归算法 +void InOrderTraverse(BiTree T) +{ + //中序遍历二叉树T的递归算法 + if(T){ + InOrderTraverse(T->lchild); + cout << T->data; + InOrderTraverse(T->rchild); + } +} +void main() +{ + BiTree tree; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + cout<<"所建立的二叉链表中序序列:\n"; + InOrderTraverse(tree); + cout< +using namespace std; + +//二叉树的二叉链表存储表示 +typedef struct BiNode +{ + char data; //结点数据域 + struct BiNode *lchild,*rchild; //左右孩子指针 +}BiTNode,*BiTree; + +//用算法5.3建立二叉链表 +void CreateBiTree(BiTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else{ + T=new BiTNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +void Copy(BiTree T, BiTree &NewT) +{ + if(T==NULL ) + { //如果是空树,递归结束 + NewT=NULL; + return; + } + else + { + NewT=new BiTNode; + NewT->data= T->data; //复制根结点 + Copy(T->lchild, NewT->lchild); //递归复制左子树 + Copy(T->rchild, NewT->rchild); //递归复制右子树 + } //else +} //CopyBiTree + +//用算法5.1 中序遍历的递归算法 +void InOrderTraverse(BiTree T) +{ + //中序遍历二叉树T的递归算法 + if(T){ + InOrderTraverse(T->lchild); + cout << T->data; + InOrderTraverse(T->rchild); + } +} +void main() +{ + BiTree tree,new_tree; + cout<<"请输入建立二叉树的序列:\n"; + CreateBiTree(tree); + Copy(tree,new_tree); + cout<<"复制得到的新树的中序序列:\n"; + InOrderTraverse(new_tree); + cout< +using namespace std; + +//二叉树的二叉链表存储表示 +typedef struct BiNode +{ + char data; //结点数据域 + struct BiNode *lchild,*rchild; //左右孩子指针 +}BiTNode,*BiTree; + +//用算法5.3建立二叉链表 +void CreateBiTree(BiTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else{ + T=new BiTNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +int Depth(BiTree T) +{ + int m,n; + if(T == NULL ) return 0; //如果是空树,深度为0,递归结束 + else + { + m=Depth(T->lchild); //递归计算左子树的深度记为m + n=Depth(T->rchild); //递归计算右子树的深度记为n + if(m>n) return(m+1); //二叉树的深度为m 与n的较大者加1 + else return (n+1); + } +} + +void main() +{ + BiTree tree; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + cout<<"数的深度为:"< +using namespace std; + +//二叉树的二叉链表存储表示 +typedef struct BiNode +{ + char data; //结点数据域 + struct BiNode *lchild,*rchild; //左右孩子指针 +}BiTNode,*BiTree; + +//用算法5.3建立二叉链表 +void CreateBiTree(BiTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else{ + T=new BiTNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +int NodeCount(BiTree T) +{ + if(T==NULL) return 0; // 如果是空树,则结点个数为0,递归结束 + else return NodeCount(T->lchild)+ NodeCount(T->rchild) +1; + //否则结点个数为左子树的结点个数+右子树的结点个数+1 +} + +void main() +{ + BiTree tree; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + cout<<"结点个数为:"< +using namespace std; + +//二叉树的二叉线索类型存储表示 +typedef struct BiThrNode +{ + char data; //结点数据域 + struct BiThrNode *lchild,*rchild; //左右孩子指针 + int LTag,RTag; +}BiThrNode,*BiThrTree; + +//全局变量pre +BiThrNode *pre=new BiThrNode; + +//用算法5.3建立二叉链表 +void CreateBiTree(BiThrTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else + { + T=new BiThrNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +void InThreading(BiThrTree p) +{ + //pre是全局变量,初始化时其右孩子指针为空,便于在树的最左点开始建线索 + if(p) + { + InThreading(p->lchild); //左子树递归线索化 + if(!p->lchild) + { //p的左孩子为空 + p->LTag=1; //给p加上左线索 + p->lchild=pre; //p的左孩子指针指向pre(前驱) + } + else + p->LTag=0; + if(!pre->rchild) + { //pre的右孩子为空 + pre->RTag=1; //给pre加上右线索 + pre->rchild=p; //pre的右孩子指针指向p(后继) + } + else + pre->RTag=0; + pre=p; //保持pre指向p的前驱 + InThreading(p->rchild); //右子树递归线索化 + } +}//InThreading + +void main() +{ + pre->RTag=1; + pre->rchild=NULL; + BiThrTree tree; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + InThreading(tree); + cout<<"线索化完毕!\n"; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.8.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.8.cpp new file mode 100644 index 0000000..53df055 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.8.cpp @@ -0,0 +1,85 @@ +//算法5.8 带头结点的中序线索化 +#include +using namespace std; + +//二叉树的二叉线索类型存储表示 +typedef struct BiThrNode +{ + char data; //结点数据域 + struct BiThrNode *lchild,*rchild; //左右孩子指针 + int LTag,RTag; +}BiThrNode,*BiThrTree; + +//全局变量pre +BiThrNode *pre=new BiThrNode; + +//用算法5.3建立二叉链表 +void CreateBiTree(BiThrTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else + { + T=new BiThrNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +//用算法5.7 以结点P为根的子树中序线索化 +void InThreading(BiThrTree p) +{ + //pre是全局变量,初始化时其右孩子指针为空,便于在树的最左点开始建线索 + if(p) + { + InThreading(p->lchild); //左子树递归线索化 + if(!p->lchild) + { //p的左孩子为空 + p->LTag=1; //给p加上左线索 + p->lchild=pre; //p的左孩子指针指向pre(前驱) + } + else + p->LTag=0; + if(!pre->rchild) + { //pre的右孩子为空 + pre->RTag=1; //给pre加上右线索 + pre->rchild=p; //pre的右孩子指针指向p(后继) + } + else + pre->RTag=0; + pre=p; //保持pre指向p的前驱 + InThreading(p->rchild); //右子树递归线索化 + } +}//InThreading + +void InOrderThreading (BiThrTree &Thrt,BiThrTree T) +{ + //中序遍历二叉树T,并将其中序线索化,Thrt指向头结点 + Thrt=new BiThrNode; //建头结点 + Thrt->LTag=0; //头结点有左孩子,若树非空,则其左孩子为树根 + Thrt->RTag=1; //头结点的右孩子指针为右线索 + Thrt->rchild=Thrt; //初始化时右指针指向自己 + if(!T) Thrt->lchild=Thrt; //若树为空,则左指针也指向自己 + else + { + Thrt->lchild=T; pre=Thrt; //头结点的左孩子指向根,pre初值指向头结点 + InThreading(T); //调用算法5.7,对以T为根的二叉树进行中序线索化 + pre->rchild=Thrt; //算法5.7结束后,pre为最右结点,pre的右线索指向头结点 + pre->RTag=1; + Thrt->rchild=pre; //头结点的右线索指向pre + } +} //InOrderThreading + +void main() +{ + pre->RTag=1; + pre->rchild=NULL; + BiThrTree tree,Thrt; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + InOrderThreading(Thrt,tree); + cout<<"线索化完毕!\n"; +} diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.9.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.9.cpp new file mode 100644 index 0000000..4de9b76 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第5章/5.9.cpp @@ -0,0 +1,108 @@ +//算法5.9 遍历中序线索二叉树 +#include +using namespace std; + +//二叉树的二叉线索类型存储表示 +typedef struct BiThrNode +{ + char data; //结点数据域 + struct BiThrNode *lchild,*rchild; //左右孩子指针 + int LTag,RTag; +}BiThrNode,*BiThrTree; + +//全局变量pre +BiThrNode *pre=new BiThrNode; + +//用算法5.3建立二叉链表 +void CreateBiTree(BiThrTree &T) +{ + //按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T + char ch; + cin >> ch; + if(ch=='#') T=NULL; //递归结束,建空树 + else + { + T=new BiThrNode; + T->data=ch; //生成根结点 + CreateBiTree(T->lchild); //递归创建左子树 + CreateBiTree(T->rchild); //递归创建右子树 + } //else +} //CreateBiTree + +//用算法5.7以结点P为根的子树中序线索化 +void InThreading(BiThrTree p) +{ + //pre是全局变量,初始化时其右孩子指针为空,便于在树的最左点开始建线索 + if(p) + { + InThreading(p->lchild); //左子树递归线索化 + if(!p->lchild) + { //p的左孩子为空 + p->LTag=1; //给p加上左线索 + p->lchild=pre; //p的左孩子指针指向pre(前驱) + } + else + p->LTag=0; + if(!pre->rchild) + { //pre的右孩子为空 + pre->RTag=1; //给pre加上右线索 + pre->rchild=p; //pre的右孩子指针指向p(后继) + } + else + pre->RTag=0; + pre=p; //保持pre指向p的前驱 + InThreading(p->rchild); //右子树递归线索化 + } +}//InThreading + +//用算法5.8带头结点的中序线索化 +void InOrderThreading (BiThrTree &Thrt,BiThrTree T) +{ + //中序遍历二叉树T,并将其中序线索化,Thrt指向头结点 + Thrt=new BiThrNode; //建头结点 + Thrt->LTag=0; //头结点有左孩子,若树非空,则其左孩子为树根 + Thrt->RTag=1; //头结点的右孩子指针为右线索 + Thrt->rchild=Thrt; //初始化时右指针指向自己 + if(!T) Thrt->lchild=Thrt; //若树为空,则左指针也指向自己 + else + { + Thrt->lchild=T; pre=Thrt; //头结点的左孩子指向根,pre初值指向头结点 + InThreading(T); //调用算法5.7,对以T为根的二叉树进行中序线索化 + pre->rchild=Thrt; //算法5.7结束后,pre为最右结点,pre的右线索指向头结点 + pre->RTag=1; + Thrt->rchild=pre; //头结点的右线索指向pre + } +} //InOrderThreading + +void InOrderTraverse_Thr(BiThrTree T) +{ + //T指向头结点,头结点的左链lchild指向根结点,可参见线索化算法5.8。 + //中序遍历二叉线索树T的非递归算法,对每个数据元素直接输出 + BiThrTree p; + p=T->lchild; //p指向根结点 + while(p!=T) //空树或遍历结束时,p==T + { + while(p->LTag==0) //沿左孩子向下 + p=p->lchild; //访问其左子树为空的结点 + cout<data; + while(p->RTag==1&&p->rchild!=T) + { + p=p->rchild; //沿右线索访问后继结点 + cout<data; + } + p=p->rchild; + } +} //InOrderTraverse_Thr + +void main() +{ + pre->RTag=1; + pre->rchild=NULL; + BiThrTree tree,Thrt; + cout<<"请输入建立二叉链表的序列:\n"; + CreateBiTree(tree); + InOrderThreading(Thrt,tree); + cout<<"中序遍历线索二叉树的结果为:\n"; + InOrderTraverse_Thr(Thrt); + cout< +using namespace std; + +#define MaxInt 32767 //表示极大值,即∞ +#define MVNum 100 //最大顶点数 +#define OK 1 + +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 + +//- - - - -图的邻接矩阵存储表示- - - - - +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}AMGraph; + +int LocateVex(AMGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +int CreateUDN(AMGraph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = MaxInt; + cout << "输入边依附的顶点及权值,如 a b 5" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + ArcType w; + cout << "请输入第" << (k + 1) << "条边依附的顶点及权值:"; + cin >> v1 >> v2 >> w; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[i][j] = w; //边的权值置为w + G.arcs[j][i] = G.arcs[i][j]; //置的对称边的权值为w + }//for + return OK; +}//CreateUDN + +int main(){ + cout << "************算法6.1 采用邻接矩阵表示法创建无向网**************" << endl << endl; + AMGraph G; int i , j; + CreateUDN(G); + + cout < +using namespace std; + +#define MaxInt 32767 //表示极大值,即∞ +#define MVNum 100 //最大顶点数 +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 + +int *D=new int[MVNum]; //用于记录最短路的长度 +bool *S=new bool[MVNum]; //标记顶点是否进入S集合 +int *Path=new int[MVNum]; //用于记录最短路顶点的前驱 + +//------------图的邻接矩阵----------------- +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}AMGraph; + +int LocateVex(AMGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(AMGraph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称:,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = MaxInt; + cout << "输入边依附的顶点及权值,如a b 7" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + ArcType w; + cout << "请输入第" << (k + 1) << "条边依附的顶点及权值:"; + cin >> v1 >> v2 >> w; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[i][j] = w; //边的权值置为w + G.arcs[j][i] = G.arcs[i][j]; //置的对称边的权值为w + }//for +}//CreateUDN + +void ShortestPath_DIJ(AMGraph G, int v0){ + //用Dijkstra算法求有向网G的v0顶点到其余顶点的最短路径 + int v , i , w , min; + int n = G.vexnum; //n为G中顶点的个数 + + for(v = 0; v < n; ++v){ //n个顶点依次初始化 + S[v] = false; //S初始为空集 + D[v] = G.arcs[v0][v]; //将v0到各个终点的最短路径长度初始化为弧上的权值 + if(D[v] < MaxInt) Path [v] = v0; //如果v0和v之间有弧,则将v的前驱置为v0 + else Path [v] = -1; //如果v0和v之间无弧,则将v的前驱置为-1 + }//for + + S[v0]=true; //将v0加入S + D[v0]=0; //源点到源点的距离为0 + + /*―初始化结束,开始主循环,每次求得v0到某个顶点v的最短路径,将v加到S集―*/ + for(i = 1;i < n; ++i){ //对其余n-1个顶点,依次进行计算 + min= MaxInt; + for(w = 0; w < n; ++w) + if(!S[w] && D[w] < min){ //选择一条当前的最短路径,终点为v + v = w; + min = D[w]; + }//if + S[v]=true; //将v加入S + for(w = 0;w < n; ++w) //更新从v0出发到集合V?S上所有顶点的最短路径长度 + if(!S[w] && (D[v] + G.arcs[v][w] < D[w])){ + D[w] = D[v] + G.arcs[v][w]; //更新D[w] + Path [w] = v; //更改w的前驱为v + }//if + }//for +}//ShortestPath_DIJ + +void DisplayPath(AMGraph G , int begin ,int temp ){ + //显示最短路 + if(Path[temp] != -1){ + DisplayPath(G , begin ,Path[temp]); + cout << G.vexs[Path[temp]] << "-->"; + } +}//DisplayPath + +void main() +{ + cout << "************算法6.10 迪杰斯特拉算法**************" << endl << endl; + AMGraph G; + int i , j ,num_start , num_destination; + VerTexType start , destination; + CreateUDN(G); + cout <> start >> destination; + num_start = LocateVex(G , start); + num_destination = LocateVex(G , destination); + ShortestPath_DIJ(G , num_start); + cout << endl <<"最短路径为:"; + DisplayPath(G , num_start , num_destination); + cout << G.vexs[num_destination]< +using namespace std; + +#define MaxInt 32767 //表示极大值,即∞ +#define MVNum 100 //最大顶点数 + +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 + +int Path[MVNum][MVNum]; //最短路径上顶点vj的前一顶点的序号 +int D[MVNum][MVNum]; //记录顶点vi和vj之间的最短路径长度 + +//------------图的邻接矩阵--------------- +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}AMGraph; + +int LocateVex(AMGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(AMGraph &G){ + //采用邻接矩阵表示法,创建有向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i){ //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j){ + if(j != i) + G.arcs[i][j] = MaxInt; + else + G.arcs[i][j] = 0; + }//for + }//for + + cout << "输入边依附的顶点及权值,如a b 3" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + ArcType w; + cout << "请输入第" << (k + 1) << "条边依附的顶点及权值:"; + cin >> v1 >> v2 >> w; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[i][j] = w; //边的权值置为w + }//for +}//CreateUDN + +void ShortestPath_Floyed(AMGraph G){ + //用Floyd算法求有向网G中各对顶点i和j之间的最短路径 + int i , j , k ; + for (i = 0; i < G.vexnum; ++i) //各对结点之间初始已知路径及距离 + for(j = 0; j < G.vexnum; ++j){ + D[i][j] = G.arcs[i][j]; + if(D[i][j] < MaxInt && i != j) Path[i][j]=i; //如果i和j之间有弧,则将j的前驱置为i + else Path [i][j] = -1; //如果i和j之间无弧,则将j的前驱置为-1 + }//for + for(k = 0; k < G.vexnum; ++k) + for(i = 0; i < G.vexnum; ++i) + for(j = 0; j < G.vexnum; ++j) + if(D[i][k] + D[k][j] < D[i][j]){ //从i经k到j的一条路径更短 + D[i][j] = D[i][k]+D[k][j]; //更新D[i][j] + Path[i][j] = Path[k][j]; //更改j的前驱为k + }//if +}//ShortestPath_Floyed + +void DisplayPath(AMGraph G , int begin ,int temp ){ + //显示最短路径 + if(Path[begin][temp] != -1){ + DisplayPath(G , begin ,Path[begin][temp]); + cout << G.vexs[Path[begin][temp]] << "-->"; + } +}//DisplayPath + +void main(){ + cout << "************算法6.11 弗洛伊德算法**************" << endl << endl; + AMGraph G; + char start , destination; + int num_start , num_destination; + + CreateUDN(G); + + cout <> start >> destination; + num_start = LocateVex(G , start); + num_destination = LocateVex(G , destination); + + DisplayPath(G , num_start , num_destination); + cout << G.vexs[num_destination] << endl; + cout << "最短路径的长度为:" << D[num_start][num_destination] << endl; + cout < +using namespace std; + +#define MVNum 100 //最大顶点数 +#define OK 1 +#define ERROR 0 + +typedef char VerTexType; + +//- - - - -图的邻接表存储表示- - - - - +typedef struct ArcNode{ //边结点 + int adjvex; //该边所指向的顶点的位置 + struct ArcNode *nextarc; //指向下一条边的指针 +}ArcNode; + +typedef struct VNode{ + VerTexType data; //顶点信息 + ArcNode *firstarc; //指向第一条依附该顶点的边的指针 +}VNode, AdjList[MVNum]; //AdjList表示邻接表类型 + +typedef struct{ + AdjList vertices; //邻接表 + AdjList converse_vertices; //逆邻接表 + int vexnum, arcnum; //图的当前顶点数和边数 +}ALGraph; +//- - - - - - - - - - - - - - - - + +//- - - - -顺序栈的定义- - - - - +typedef struct{ + int *base; + int *top; + int stacksize; +}spStack; +//- - - - - - - - - - - - - - - - + +int indegree[MVNum]; //数组indegree存放个顶点的入度 +spStack S; + +//------------栈的相关操作---------------------- +void InitStack(spStack &S){ + //初始化栈 + S.base = new int[MVNum]; + if(!S.base) + exit(1); + S.top = S.base; + S.stacksize = MVNum; +}//InitStack + +void Push(spStack &S , int i){ + //进栈 + if(S.top - S.base == S.stacksize) + return; + *S.top++ = i; +}//Push + +void Pop(spStack &S , int &i){ + //出栈 + if(S.top == S.base) + return; + i = *--S.top; +}//Pop + +bool StackEmpty(spStack S){ + //判断栈是否为空 + if(S.top == S.base) + return true; + return false; +}//StackEmpty +//------------------------------------------------- + +int LocateVex(ALGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vertices[i].data == v) + return i; + return -1; +}//LocateVex + +int CreateUDG(ALGraph &G){ + //创建有向图G的邻接表、逆邻接表 + int i , k; + + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ //输入各点,构造表头结点表 + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vertices[i].data; //输入顶点值 + G.converse_vertices[i].data = G.vertices[i].data; + //初始化表头结点的指针域为NULL + G.vertices[i].firstarc=NULL; + G.converse_vertices[i].firstarc=NULL; + }//for + cout << endl; + cout << "输入边依附的顶点,如a b" << endl; + for(k = 0; k < G.arcnum;++k){ //输入各边,构造邻接表 + VerTexType v1 , v2; + int i , j; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的两个顶点 + i = LocateVex(G, v1); j = LocateVex(G, v2); + //确定v1和v2在G中位置,即顶点在G.vertices中的序号 + + ArcNode *p1=new ArcNode; //生成一个新的边结点*p1 + p1->adjvex=j; //邻接点序号为j + p1->nextarc = G.vertices[i].firstarc; G.vertices[i].firstarc=p1; + //将新结点*p1插入顶点vi的边表头部 + + ArcNode *p2=new ArcNode; //生成一个新的边结点*p1 + p2->adjvex=i; //逆邻接点序号为i + p2->nextarc = G.converse_vertices[j].firstarc; G.converse_vertices[j].firstarc=p2; + //将新结点*p1插入顶点vi的边表头部 + }//for + return OK; +}//CreateUDG + +void FindInDegree(ALGraph G){ + //求出各顶点的入度存入数组indegree中 + int i , count; + + for(i = 0 ; i < G.vexnum ; i++){ + count = 0; + ArcNode *p = G.converse_vertices[i].firstarc; + if(p){ + while(p){ + p = p->nextarc; + count++; + } + } + indegree[i] = count; + } +}//FindInDegree + +int TopologicalSort(ALGraph G , int topo[]){ + //有向图G采用邻接表存储结构 + //若G无回路,则生成G的一个拓扑序列topo[]并返回OK,否则ERROR + int i , m; + FindInDegree(G); //求出各顶点的入度存入数组indegree中 + InitStack(S); //栈S初始化为空 + for(i = 0; i < G.vexnum; ++i) + if(!indegree[i]) Push(S, i); //入度为0者进栈 + m = 0; //对输出顶点计数,初始为0 + while(!StackEmpty(S)){ //栈S非空 + Pop(S, i); //将栈顶顶点vi出栈 + topo[m]=i; //将vi保存在拓扑序列数组topo中 + ++m; //对输出顶点计数 + ArcNode *p = G.vertices[i].firstarc; //p指向vi的第一个邻接点 + while(p){ + int k = p->adjvex; //vk为vi的邻接点 + --indegree[k]; //vi的每个邻接点的入度减1 + if(indegree[k] ==0) Push(S, k); //若入度减为0,则入栈 + p = p->nextarc; //p指向顶点vi下一个邻接结点 + }//while + }//while + + if(m < G.vexnum) return ERROR; //该有向图有回路 + else return OK; +}//TopologicalSort + +int main(){ + cout << "************算法6.12 拓扑排序**************" << endl << endl; + ALGraph G; + CreateUDG(G); + int *topo = new int [G.vexnum]; + + cout << endl; + cout << "有向图的邻接表、逆邻接表创建完成!" << endl << endl; + + if(TopologicalSort(G , topo)){ + cout << "该有向图的拓扑有序序列为:"; + for(int j = 0 ; j < G.vexnum; j++){ + if(j != G.vexnum - 1) + cout << G.vertices[topo[j]].data << " , "; + else + cout << G.vertices[topo[j]].data << endl << endl; + }//for + } + else + cout << "网中存在环,无法进行拓扑排序!" < +using namespace std; + +#define MVNum 100 //最大顶点数 +#define BDNum MVNum * (MVNum - 1) //最大边数 +#define OK 1 +#define ERROR 0 + +typedef char VerTexType; + +//- - - - -图的邻接表存储表示- - - - - +typedef struct ArcNode{ //边结点 + int adjvex; //该边所指向的顶点的位置 + int weight; //权值 + struct ArcNode *nextarc; //指向下一条边的指针 +}ArcNode; + +typedef struct VNode{ + VerTexType data; //顶点信息 + ArcNode *firstarc; //指向第一条依附该顶点的边的指针 +}VNode, AdjList[MVNum]; //AdjList表示邻接表类型 + +typedef struct{ + AdjList vertices; //邻接表 + AdjList converse_vertices; //逆邻接表 + int vexnum, arcnum; //图的当前顶点数和边数 +}ALGraph; +//- - - - - - - - - - - - - - - - + +//- - - - -顺序栈的定义- - - - - +typedef struct{ + int *base; + int *top; + int stacksize; +}spStack; +//- - - - - - - - - - - - - - - - + +int indegree[MVNum]; //数组indegree存放个顶点的入度 +int ve[BDNum]; //事件vi的最早发生时间 +int vl[BDNum]; //事件vi的最迟发生时间 +int topo[MVNum]; //记录拓扑序列的顶点序号 +spStack S; + +//----------------栈的操作-------------------- +void InitStack(spStack &S){ + //栈的初始化 + S.base = new int[MVNum]; + if(!S.base) + exit(1); + S.top = S.base; + S.stacksize = MVNum; +}//InitStack + +void Push(spStack &S , int i){ + //入栈 + if(S.top - S.base == S.stacksize) + return; + *S.top++ = i; +}//Push + +void Pop(spStack &S , int &i){ + //出栈 + if(S.top == S.base) + return; + i = *--S.top; +}//Pop + +bool StackEmpty(spStack S){ + //判断栈是否为空 + if(S.top == S.base) + return true; + return false; +}//StackEmpty +//--------------------------------------- + +int LocateVex(ALGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vertices[i].data == v) + return i; + return -1; +}//LocateVex + +int CreateUDG(ALGraph &G){ + //创建有向图G的邻接表、逆邻接表 + int i , k; + + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ //输入各点,构造表头结点表 + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vertices[i].data; //输入顶点值 + G.converse_vertices[i].data = G.vertices[i].data; + //初始化表头结点的指针域为NULL + G.vertices[i].firstarc=NULL; + G.converse_vertices[i].firstarc=NULL; + }//for + cout << endl; + + cout << "输入边依附的顶点及其权值,如a b 3" << endl; + + for(k = 0; k < G.arcnum;++k){ //输入各边,构造邻接表 + VerTexType v1 , v2; + int i , j , w; + cout << "请输入第" << (k + 1) << "条边依附的顶点及其权值:"; + cin >> v1 >> v2 >> w; //输入一条边依附的两个顶点 + i = LocateVex(G, v1); j = LocateVex(G, v2); + //确定v1和v2在G中位置,即顶点在G.vertices中的序号 + + ArcNode *p1=new ArcNode; //生成一个新的边结点*p1 + p1->adjvex=j; //邻接点序号为j + p1->nextarc = G.vertices[i].firstarc; G.vertices[i].firstarc=p1; + p1->weight = w; + //将新结点*p1插入顶点vi的边表头部 + + ArcNode *p2=new ArcNode; //生成一个新的边结点*p1 + p2->adjvex=i; //逆邻接点序号为i + p2->nextarc = G.converse_vertices[j].firstarc; G.converse_vertices[j].firstarc=p2; + p2->weight = w; + //将新结点*p1插入顶点vi的边表头部 + }//for + return OK; +}//CreateUDG + +void FindInDegree(ALGraph G){ + //求出各顶点的入度存入数组indegree中 + int i , count; + + for(i = 0 ; i < G.vexnum ; i++){ + count = 0; + ArcNode *p = G.converse_vertices[i].firstarc; + if(p){ + while(p){ + p = p->nextarc; + count++; + } + }//if + indegree[i] = count; + }//for +}//FindInDegree + +int TopologicalOrder(ALGraph G , int topo[]){ + //有向图G采用邻接表存储结构 + //若G无回路,则生成G的一个拓扑序列topo[]并返回OK,否则ERROR + int i , m; + FindInDegree(G); //求出各顶点的入度存入数组indegree中 + InitStack(S); //栈S初始化为空 + for(i = 0; i < G.vexnum; ++i) + if(!indegree[i]) Push(S, i); //入度为0者进栈 + m = 0; //对输出顶点计数,初始为0 + while(!StackEmpty(S)){ //栈S非空 + Pop(S, i); //将栈顶顶点vi出栈 + topo[m]=i; //将vi保存在拓扑序列数组topo中 + ++m; //对输出顶点计数 + ArcNode *p = G.vertices[i].firstarc; //p指向vi的第一个邻接点 + while(p){ + int k = p->adjvex; //vk为vi的邻接点 + --indegree[k]; //vi的每个邻接点的入度减1 + if(indegree[k] ==0) Push(S, k); //若入度减为0,则入栈 + p = p->nextarc; //p指向顶点vi下一个邻接结点 + }//while + }//while + + if(m < G.vexnum) return ERROR; //该有向图有回路 + else return OK; +}//TopologicalOrder + +int CriticalPath(ALGraph G){ + //G为邻接表存储的有向网,输出G的各项关键活动 + int n , i , k , j , e , l; + if (!TopologicalOrder(G, topo)) return ERROR; + //调用拓扑排序算法,使拓扑序列保存在topo中,若调用失败,则存在有向环,返回ERROR + n = G.vexnum; //n为顶点个数 + for(i = 0; i < n; i++) //给每个事件的最早发生时间置初值0 + ve[i] = 0; + + + /*――――――――――按拓扑次序求每个事件的最早发生时间-――――-―――――*/ + for(i = 0;i < n; i++){ + k = topo[i]; //取得拓扑序列中的顶点序号k + ArcNode *p = G.vertices[k].firstarc; //p指向k的第一个邻接顶点 + while(p != NULL){ //依次更新k的所有邻接顶点的最早发生时间 + j = p->adjvex; //j为邻接顶点的序号 + if(ve[j] < ve[k] + p->weight) //更新顶点j的最早发生时间ve[j] + ve[j] = ve[k] + p->weight; + p = p->nextarc; //p指向k的下一个邻接顶点 + } //while + } //for + + for(i=0;i= 0; i--){ + k = topo[i]; //取得拓扑序列中的顶点序号k + ArcNode *p = G.vertices[k].firstarc; //p指向k的第一个邻接顶点 + while(p != NULL){ //根据k的邻接点,更新k的最迟发生时间 + j = p->adjvex; //j为邻接顶点的序号 + if(vl[k] > vl[j] - p->weight) //更新顶点k的最迟发生时间vl[k] + vl[k] = vl[j] - p->weight; + p = p->nextarc; //p指向k的下一个邻接顶点 + }//while + }//for + + /*――――――――――――判断每一活动是否为关键活动-――――――-―――――*/ + cout << endl; + cout << "关键活动路径为:"; + for(i = 0;i < n; i++){ //每次循环针对vi为活动开始点的所有活动 + ArcNode *p = G.vertices[i].firstarc; //p指向i的第一个邻接顶点 + while(p != NULL) { + j = p->adjvex; //j为i的邻接顶点的序号 + e = ve[i]; //计算活动的最早开始时间 + l = vl[j] - p->weight; //计算活动的最迟开始时间 + if(e == l) //若为关键活动,则输出 + cout << G.vertices[i].data << "-->" << G.vertices[j].data << " "; + p = p->nextarc; //p指向i的下一个邻接顶点 + } //while + } //for + return OK; +}//CriticalPath + +int main(){ + cout << "************算法6.13 关键路径算法**************" << endl << endl; + ALGraph G; + CreateUDG(G); + int *topo = new int [G.vexnum]; + + cout << endl; + cout << "有向图创建完成!" << endl << endl; + + if(!CriticalPath(G)) + cout << "网中存在环,无法进行拓扑排序!" < +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#define ONLINE_JUDGE +#define eps 1e-8 +#define INF 0x7fffffff +#define FOR(i,a) for((i)=0;i<(a);(i)++) +#define MEM(a) (memset((a),0,sizeof(a))) +#define sfs(a) scanf("%s",a) +#define sf(a) scanf("%d",&a) +#define sfI(a) scanf("%I64d",&a) +#define pf(a) printf("%d\n",a) +#define pfI(a) printf("%I64d\n",a) +#define pfs(a) printf("%s\n",a) +#define sfd(a,b) scanf("%d%d",&a,&b) +#define sft(a,b,c)scanf("%d%d%d",&a,&b,&c) +#define for1(i,a,b) for(int i=(a);i=a;i--) +#define MEM1(a) memset(a,0,sizeof(a)) +#define MEM2(a) memset(a,-1,sizeof(a)) +const double PI=acos(-1.0); +template T gcd(T a,T b){return b?gcd(b,a%b):a;} +template T lcm(T a,T b){return a/gcd(a,b)*b;} +template inline T Min(T a,T b){return a inline T Max(T a,T b){return a>b?a:b;} +using namespace std; +#define ll __int64 +int n,m; +#define Mod 10 +#define N 10010 +#define M 1000010 +struct Edge{ //存储边的结构体 + int to; + int next; +}; +struct Node{ //存储点的结构体 + int id; + int step; +}; +struct sqQueue{ //队列的结构体 + Node *base; + int front; + int rear; +}; +Edge edge[N]; // +int head[N]; +int vis[N]; +int cnt; +sqQueue Q; +void Init(){ + memset(head,-1,sizeof head); + cnt=0; +} +void addEdge(int u,int v){ //添加边 + edge[cnt].to = v; + edge[cnt].next = head[u]; + head[u] = cnt++; +} +void InitQueue(sqQueue &Q){ //初始化队列 + Q.base = new Node[M]; + if(!Q.base) + exit(OVERFLOW); + Q.front = Q.rear = 0; + return; +} +int QueueLength(sqQueue Q){ //求队列的长度 + return(Q.rear-Q.front+M)%M; +} +int EnQueue(sqQueue &Q,Node e){ //入队 + if((Q.rear+1)%M == Q.front) + return 0; + Q.base[Q.rear] = e; + Q.rear = (Q.rear+1)%M; + return 1; +} +int DeQueue(sqQueue &Q){ //出队 + if(Q.front == Q.rear) + return 0; + Q.front = (Q.front+1)%M; + return 1; +} +Node getHead(sqQueue Q){ //得到队列头部的元素 + return Q.base[Q.front]; +} +void bfs(){ //用bfs来搜索与初始点距离不超过7的点的个数占总数的百分比 + memset(vis,0,sizeof vis); + InitQueue(Q); + Node cur,next; + cur.id = 0; + cur.step = 0; + EnQueue(Q,cur); + vis[0] = 1; + int num = 0; + while(QueueLength(Q)){ + cur = getHead(Q); + DeQueue(Q); + if(cur.step>7){ + break; + } + num++; + int s = cur.id; + for(int p = head[s];p!=-1;p=edge[p].next){ + int v = edge[p].to; + if(!vis[v]){ + next.id = v; + next.step = cur.step + 1; + vis[v] = 1; + EnQueue(Q,next); + } + } + } + printf("%.4f\n",num*1.0/n); +} +int main(){ +#ifndef ONLINE_JUDGE + freopen("in.txt","r",stdin); +// freopen("out.txt","w",stdout); +#endif + while(sfd(n,m)!=EOF){ //n为顶点的数量,m为边的数量,点的编号从0-n-1 + Init(); //初始化 + int u,v; + for(int i=0;i +using namespace std; + +#define MVNum 100 //最大顶点数 +#define OK 1 + +typedef char VerTexType; //顶点信息 +typedef int OtherInfo; //和边相关的信息 + +//- - - - -图的邻接表存储表示- - - - - +typedef struct ArcNode{ //边结点 + int adjvex; //该边所指向的顶点的位置 + struct ArcNode *nextarc; //指向下一条边的指针 + OtherInfo info; //和边相关的信息 +}ArcNode; + +typedef struct VNode{ + VerTexType data; //顶点信息 + ArcNode *firstarc; //指向第一条依附该顶点的边的指针 +}VNode, AdjList[MVNum]; //AdjList表示邻接表类型 + +typedef struct{ + AdjList vertices; //邻接表 + int vexnum, arcnum; //图的当前顶点数和边数 +}ALGraph; + + +int LocateVex(ALGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vertices[i].data == v) + return i; + return -1; +}//LocateVex + +int CreateUDG(ALGraph &G){ + //采用邻接表表示法,创建无向图G + int i , k; + + cout <<"请输入总顶点数,总边数中间以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如 a " <> G.vertices[i].data; //输入顶点值 + G.vertices[i].firstarc=NULL; //初始化表头结点的指针域为NULL + }//for + cout << endl; + + cout << "请输入一条边依附的顶点,如 a b" << endl; + for(k = 0; k < G.arcnum;++k){ //输入各边,构造邻接表 + VerTexType v1 , v2; + int i , j; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的两个顶点 + i = LocateVex(G, v1); j = LocateVex(G, v2); + //确定v1和v2在G中位置,即顶点在G.vertices中的序号 + + ArcNode *p1=new ArcNode; //生成一个新的边结点*p1 + p1->adjvex=j; //邻接点序号为j + p1->nextarc= G.vertices[i].firstarc; G.vertices[i].firstarc=p1; + //将新结点*p1插入顶点vi的边表头部 + + ArcNode *p2=new ArcNode; //生成另一个对称的新的边结点*p2 + p2->adjvex=i; //邻接点序号为i + p2->nextarc= G.vertices[j].firstarc; G.vertices[j].firstarc=p2; + //将新结点*p2插入顶点vj的边表头部 + }//for + return OK; +}//CreateUDG + +int main(){ + cout << "************算法6.2 采用邻接表表示法创建无向图**************" << endl << endl; + ALGraph G; + CreateUDG(G); + int i; + + cout << endl; + cout << "*****邻接表表示法创建的无向图*****" << endl; + + for(i = 0 ; i < G.vexnum ; ++i){ + VNode temp = G.vertices[i]; + ArcNode *p = temp.firstarc; + if(p == NULL){ + cout << G.vertices[i].data; + cout << endl; + } + else{ + cout << temp.data; + while(p){ + cout << "->"; + cout << p->adjvex; + p = p->nextarc; + } + } + cout << endl; + } + return 0; +}//main diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第6章/6.3.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第6章/6.3.cpp new file mode 100644 index 0000000..c852759 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第6章/6.3.cpp @@ -0,0 +1,114 @@ +//算法6.3 深度优先搜索遍历连通图的递归算法 + +#include +using namespace std; + +#define MVNum 100 //最大顶点数 +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 + +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}Graph; + +bool visited[MVNum]; //访问标志数组,其初值为"false" +int FirstAdjVex(Graph G , int v); //返回v的第一个邻接点 +int NextAdjVex(Graph G , int v , int w); //返回v相对于w的下一个邻接点 + +int LocateVex(Graph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(Graph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数 , 以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如 a:" << endl; + + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = 0; + cout << "输入边依附的顶点,如:a b" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[j][i] = G.arcs[i][j] = 1; //置的对称边的权值为w + }//for +}//CreateUDN + +void DFS(Graph G, int v){ //从第v个顶点出发递归地深度优先遍历图G + cout << G.vexs[v] << " "; visited[v] = true; //访问第v个顶点,并置访问标志数组相应分量值为true + int w; + for(w = FirstAdjVex(G, v); w >= 0; w = NextAdjVex(G, v, w)) + //依次检查v的所有邻接点w ,FirstAdjVex(G, v)表示v的第一个邻接点 + //NextAdjVex(G, v, w)表示v相对于w的下一个邻接点,w≥0表示存在邻接点 + if(!visited[w]) DFS(G, w); //对v的尚未访问的邻接顶点w递归调用DFS +}//DFS + +int FirstAdjVex(Graph G , int v){ + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//FirstAdjVex + +int NextAdjVex(Graph G , int v , int w){ + int i; + for(i = w ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//NextAdjVex + +int main(){ + cout << "************算法6.3 深度优先搜索遍历连通图的递归算法**************" << endl << endl; + Graph G; + CreateUDN(G); + cout << endl; + cout << "无向连通图G创建完成!" << endl << endl; + + cout << "请输入遍历连通图的起始点:"; + VerTexType c; + cin >> c; + + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vexs[i]) + break; + } + cout << endl; + while(i >= G.vexnum){ + cout << "该点不存在,请重新输入!" << endl; + cout << "请输入遍历连通图的起始点:"; + cin >> c; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vexs[i]) + break; + } + } + cout << "深度优先搜索遍历连通图结果:" << endl; + DFS(G , i); + + cout < +using namespace std; + +#define MVNum 100 //最大顶点数 +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 + +//-------------图的邻接矩阵----------------- +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}Graph; + +bool visited[MVNum]; //访问标志数组,其初值为"false" +int FirstAdjVex(Graph G , int v); //返回v的第一个邻接点 +int NextAdjVex(Graph G , int v , int w); //返回v相对于w的下一个邻接点 + +int LocateVex(Graph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(Graph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = 0; + cout << "输入边依附的顶点,如a b" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[j][i] = G.arcs[i][j] = 1; //置的对称边的权值为w + }//for +}//CreateUDN + +void DFS(Graph G, int v){ + //从第v个顶点出发递归地深度优先遍历图G + cout << G.vexs[v] << " "; visited[v] = true; //访问第v个顶点,并置访问标志数组相应分量值为true + int w; + for(w = FirstAdjVex(G, v); w >= 0; w = NextAdjVex(G, v, w)) + //依次检查v的所有邻接点w ,FirstAdjVex(G, v)表示v的第一个邻接点 + //NextAdjVex(G, v, w)表示v相对于w的下一个邻接点,w≥0表示存在邻接点 + if(!visited[w]) DFS(G, w); //对v的尚未访问的邻接顶点w递归调用DFS +}//DFS + +void DFSTraverse(Graph G){ + //对非连通图G做深度优先遍历 + int v; + for(v = 0; v < G.vexnum; ++v) visited[v] = false; //访问标志数组初始化 + for(v = 0; v < G.vexnum; ++v) //循环调用算法6.3 + if(!visited[v]) DFS(G, v); //对尚未访问的顶点调用DFS +}//DFSTraverse + +int FirstAdjVex(Graph G , int v){ + //返回v的第一个邻接点 + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//FirstAdjVex + +int NextAdjVex(Graph G , int v , int w){ + //返回v相对于w的下一个邻接点 + int i; + for(i = w ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//NextAdjVex + +int main(){ + cout << "************算法6.4 深度优先搜索遍历非连通图**************" << endl << endl; + Graph G; + CreateUDN(G); + cout << endl; + cout << "无向图G创建完成!" << endl << endl; + + cout << "深度优先搜索遍历非连通图结果:" << endl; + DFSTraverse(G); + + cout < +using namespace std; + +#define MVNum 100 //最大顶点数 +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 + +//------------图的邻接矩阵------------------ +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}Graph; + +bool visited[MVNum]; //访问标志数组,其初值为"false" +int FirstAdjVex(Graph G , int v); //返回v的第一个邻接点 +int NextAdjVex(Graph G , int v , int w); //返回v相对于w的下一个邻接点 + +int LocateVex(Graph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(Graph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" <> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = 0; + cout << "输入边依附的顶点,如a b" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[j][i] = G.arcs[i][j] = 1; //置的对称边的权值为w + }//for +}//CreateUDN + +void DFS(Graph G, int v){ + //图G为邻接矩阵类型 + int w; + cout << G.vexs[v] << " "; visited[v] = true; //访问第v个顶点,并置访问标志数组相应分量值为true + for(w = 0; w < G.vexnum; w++) //依次检查邻接矩阵v所在的行 + if((G.arcs[v][w] != 0)&& (!visited[w])) DFS(G, w); //G.arcs[v][w]!=0表示w是v的邻接点,如果w未访问,则递归调用DFS +}//DFS + +int FirstAdjVex(Graph G , int v){ + //返回v的第一个邻接点 + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//FirstAdjVex + +int NextAdjVex(Graph G , int v , int w){ + //返回v相对于w的下一个邻接点 + int i; + for(i = w ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//NextAdjVex + +int main(){ + cout << "************算法6.5 采用邻接矩阵表示图的深度优先搜索遍历**************" << endl << endl; + Graph G; + CreateUDN(G); + cout << endl; + cout << "无向图G创建完成!" << endl << endl; + + cout << "请输入遍历无向图G的起始点:"; + VerTexType c; + cin >> c; + + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vexs[i]) + break; + } + cout << endl; + while(i >= G.vexnum){ + cout << "该点不存在,请重新输入!" << endl; + cout << "请输入遍历连通图的起始点:"; + cin >> c; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vexs[i]) + break; + } + } + cout << "深度优先搜索遍历无向图G结果:" << endl; + DFS(G , i); + + cout < +using namespace std; + +#define MVNum 100 //最大顶点数 +typedef char VerTexType; //假设顶点的数据类型为字符型 + +//-------------图的邻接表--------------------- +typedef struct ArcNode{ //边结点 + int adjvex; //该边所指向的顶点的位置 + struct ArcNode *nextarc; //指向下一条边的指针 +}ArcNode; + +typedef struct VNode{ + VerTexType data; //顶点信息 + ArcNode *firstarc; //指向第一条依附该顶点的边的指针 +}VNode, AdjList[MVNum]; //AdjList表示邻接表类型 + +typedef struct{ + AdjList vertices; //邻接表 + int vexnum, arcnum; //图的当前顶点数和边数 +}ALGraph; + +bool visited[MVNum]; //访问标志数组,其初值为"false" + +int LocateVex(ALGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vertices[i].data == v) + return i; + return -1; +}//LocateVex + +void CreateUDG(ALGraph &G){ + //采用邻接表表示法,创建无向图G + int i , k; + + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ //输入各点,构造表头结点表 + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vertices[i].data; //输入顶点值 + G.vertices[i].firstarc=NULL; //初始化表头结点的指针域为NULL + }//for + cout << endl; + + cout << "输入边依附的顶点,如a b" << endl; + + for(k = 0; k < G.arcnum;++k){ //输入各边,构造邻接表 + VerTexType v1 , v2; + int i , j; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的两个顶点 + i = LocateVex(G, v1); j = LocateVex(G, v2); + //确定v1和v2在G中位置,即顶点在G.vertices中的序号 + + ArcNode *p1=new ArcNode; //生成一个新的边结点*p1 + p1->adjvex=j; //邻接点序号为j + p1->nextarc= G.vertices[i].firstarc; G.vertices[i].firstarc=p1; + //将新结点*p1插入顶点vi的边表头部 + + ArcNode *p2=new ArcNode; //生成另一个对称的新的边结点*p2 + p2->adjvex=i; //邻接点序号为i + p2->nextarc= G.vertices[j].firstarc; G.vertices[j].firstarc=p2; + //将新结点*p2插入顶点vj的边表头部 + }//for +}//CreateUDG + +void DFS(ALGraph G, int v){ //图G为邻接表类型 + cout << G.vertices[v].data << " "; + visited[v] = true; //访问第v个顶点,并置访问标志数组相应分量值为true + ArcNode *p = G.vertices[v].firstarc; //p指向v的边链表的第一个边结点 + while(p != NULL){ //边结点非空 + int w = p->adjvex; //表示w是v的邻接点 + if(!visited[w]) DFS(G, w); //如果w未访问,则递归调用DFS + p = p->nextarc; //p指向下一个边结点 + } +}//DFS + +int main(){ + cout << "************算法6.6 采用邻接表表示图的深度优先搜索遍历**************" << endl << endl; + ALGraph G; + CreateUDG(G); + cout << endl; + cout << "无向连通图G创建完成!" << endl << endl; + + cout << "请输入遍历连通图的起始点:"; + VerTexType c; + cin >> c; + + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vertices[i].data) + break; + } + cout << endl; + while(i >= G.vexnum){ + cout << "该点不存在,请重新输入!" << endl; + cout << "请输入遍历连通图的起始点:"; + cin >> c; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vertices[i].data) + break; + } + } + + cout << "深度优先搜索遍历图结果:" << endl; + DFS(G , i); + + cout < +using namespace std; + +#define MVNum 100 //最大顶点数 +#define MAXQSIZE 100 //最大队列长度 + +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 +bool visited[MVNum]; //访问标志数组,其初值为"false" + +//-----图的邻接矩阵存储表示----- +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}Graph; + +//----队列的定义及操作-------- +typedef struct{ + ArcType *base; //初始化的动态分配存储空间 + int front; //头指针,若队列不空,指向队头元素 + int rear; //尾指针,若队列不空,指向队尾元素的下一个位置 +}sqQueue; + +void InitQueue(sqQueue &Q){ + //构造一个空队列Q + Q.base = new ArcType[MAXQSIZE]; + if(!Q.base) exit(1); //存储分配失败 + Q.front = Q.rear = 0; +}//InitQueue + +void EnQueue(sqQueue &Q, ArcType e){ + //插入元素e为Q的新的队尾元素 + if((Q.rear + 1) % MAXQSIZE == Q.front) + return; + Q.base[Q.rear] = e; + Q.rear = (Q.rear + 1) % MAXQSIZE; +}//EnQueue + +bool QueueEmpty(sqQueue Q){ + //判断是否为空队 + if(Q.rear == Q.front) + return true; + return false; +}//QueueEmpty + +void DeQueue(sqQueue &Q, ArcType &u){ + //队头元素出队并置为u + u = Q.base[Q.front]; + Q.front = (Q.front + 1) % MAXQSIZE; +}//DeQueue +//-------------------------------------------------- + +int LocateVex(Graph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(Graph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + cout << "输入点的名称,如a" << endl; + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = 0; + cout << "输入边依附的顶点,如a b" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + cout << "请输入第" << (k + 1) << "条边依附的顶点:"; + cin >> v1 >> v2; //输入一条边依附的顶点 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[i][j] = 1; //边的权值置为w + G.arcs[j][i] = G.arcs[i][j]; //置的对称边的权值为w + }//for +}//CreateUDN + +int FirstAdjVex(Graph G , int v){ + //返回v的第一个邻接点 + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(G.arcs[v][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//FirstAdjVex + +int NextAdjVex(Graph G , int u , int w){ + //返回v相对于w的下一个邻接点 + int i; + for(i = w ; i < G.vexnum ; ++i){ + if(G.arcs[u][i] == 1 && visited[i] == false) + return i; + } + return -1; +}//NextAdjVex + +void BFS (Graph G, int v){ + //按广度优先非递归遍历连通图G + sqQueue Q; + ArcType u; + ArcType w; + + cout << G.vexs[v] << " "; visited[v] = true; //访问第v个顶点,并置访问标志数组相应分量值为true + InitQueue(Q); //辅助队列Q初始化,置空 + EnQueue(Q, v); //v进队 + while(!QueueEmpty(Q)){ //队列非空 + DeQueue(Q, u); //队头元素出队并置为u + for(w = FirstAdjVex(G, u); w >= 0; w = NextAdjVex(G, u, w)){ + //依次检查u的所有邻接点w ,FirstAdjVex(G, u)表示u的第一个邻接点 + //NextAdjVex(G, u, w)表示u相对于w的下一个邻接点,w≥0表示存在邻接点 + if(!visited[w]){ //w为u的尚未访问的邻接顶点 + cout << G.vexs[w] << " "; visited[w] = true; //访问w,并置访问标志数组相应分量值为true + EnQueue(Q, w); //w进队 + }//if + }//for + }//while +}//BFS + +int main(){ + cout << "************算法6.7 广度优先搜索遍历连通图**************" << endl << endl; + Graph G; + CreateUDN(G); + cout << endl; + cout << "无向连通图G创建完成!" << endl << endl; + + cout << "请输入遍历连通图的起始点:"; + VerTexType c; + cin >> c; + + int i; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vexs[i]) + break; + } + cout << endl; + while(i >= G.vexnum){ + cout << "该点不存在,请重新输入!" << endl; + cout << "请输入遍历连通图的起始点:"; + cin >> c; + for(i = 0 ; i < G.vexnum ; ++i){ + if(c == G.vexs[i]) + break; + } + } + cout << "深度优先搜索遍历连通图结果:" << endl; + BFS(G , i); + + cout < +using namespace std; + +typedef char VerTexType; +typedef int ArcType; +#define MVNum 100 +#define MaxInt 32767 //表示极大值,即∞ + +//辅助数组的定义,用来记录从顶点集U到V-U的权值最小的边 +struct{ + VerTexType adjvex; //最小边在U中的那个顶点 + ArcType lowcost; //最小边上的权值 +}closedge[MVNum]; + +//- - - - -图的邻接表存储表示- - - - - +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; //假设边的权值类型为整型 +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}AMGraph; + +int LocateVex(AMGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(AMGraph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = MaxInt; + cout << "输入边依附的顶点及权值,如a b 5" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + ArcType w; + cout << "请输入第" << (k + 1) << "条边依附的顶点及权值:"; + cin >> v1 >> v2 >> w; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[i][j] = w; //边的权值置为w + G.arcs[j][i] = G.arcs[i][j]; //置的对称边的权值为w + }//for +}//CreateUDN + +int Min(AMGraph G){ + //返回权值最小的点 + int i; + int index = -1; + int min = MaxInt; + for(i = 0 ; i < G.vexnum ; ++i){ + if(min > closedge[i].lowcost && closedge[i].lowcost != 0){ + min = closedge[i].lowcost; + index = i; + } + }//for + return index; +}//Min + +void MiniSpanTree_Prim(AMGraph G, VerTexType u){ + //无向网G以邻接矩阵形式存储,从顶点u出发构造G的最小生成树T,输出T的各条边 + int k , j , i; + VerTexType u0 , v0; + k =LocateVex(G, u); //k为顶点u的下标 + for(j = 0; j < G.vexnum; ++j){ //对V-U的每一个顶点vi,初始化closedge[i] + if(j != k){ + closedge[j].adjvex = u; + closedge[j].lowcost = G.arcs[k][j]; //{adjvex, lowcost} + }//if + }//for + closedge[k].lowcost = 0; //初始,U = {u} + for(i = 1; i < G.vexnum; ++i){ //选择其余n-1个顶点,生成n-1条边(n= G.vexnum) + k = Min(G); + //求出T的下一个结点:第k个顶点,closedge[k]中存有当前最小边 + u0 = closedge[k].adjvex; //u0为最小边的一个顶点,u0∈U + v0 = G.vexs[k]; //v0为最小边的另一个顶点,v0∈V-U + cout << "边 " <" << v0 << endl; //输出当前的最小边(u0, v0) + closedge[k].lowcost = 0; //第k个顶点并入U集 + for(j = 0; j < G.vexnum; ++j) + if(G.arcs[k][j] < closedge[j].lowcost){ //新顶点并入U后重新选择最小边 + closedge[j].adjvex = G.vexs[k]; + closedge[j].lowcost = G.arcs[k][j]; + }//if + }//for +}//MiniSpanTree_Prim + +int main(){ + cout << "************算法6.8 普里姆算法**************" << endl << endl; + AMGraph G; + CreateUDN(G); + cout << endl; + cout << "无向图G创建完成!" << endl; + cout < +using namespace std; + +typedef char VerTexType; //假设顶点的数据类型为字符型 +typedef int ArcType; +#define MVNum 100 //最大顶点数 +#define MaxInt 32767 //表示极大值,即∞ + +//----------------图的邻接矩阵--------------------- +typedef struct{ + VerTexType vexs[MVNum]; //顶点表 + ArcType arcs[MVNum][MVNum]; //邻接矩阵 + int vexnum,arcnum; //图的当前点数和边数 +}AMGraph; + +//辅助数组Edges的定义 +struct{ + VerTexType Head; //边的始点 + VerTexType Tail; //边的终点 + ArcType lowcost; //边上的权值 +}Edge[(MVNum * (MVNum - 1)) / 2]; + +int Vexset[MVNum]; //辅助数组Vexset的定义 + +int LocateVex(AMGraph G , VerTexType v){ + //确定点v在G中的位置 + for(int i = 0; i < G.vexnum; ++i) + if(G.vexs[i] == v) + return i; + return -1; +}//LocateVex + +void CreateUDN(AMGraph &G){ + //采用邻接矩阵表示法,创建无向网G + int i , j , k; + cout <<"请输入总顶点数,总边数,以空格隔开:"; + cin >> G.vexnum >> G.arcnum; //输入总顶点数,总边数 + cout << endl; + + cout << "输入点的名称,如a" << endl; + + for(i = 0; i < G.vexnum; ++i){ + cout << "请输入第" << (i+1) << "个点的名称:"; + cin >> G.vexs[i]; //依次输入点的信息 + } + cout << endl; + for(i = 0; i < G.vexnum; ++i) //初始化邻接矩阵,边的权值均置为极大值MaxInt + for(j = 0; j < G.vexnum; ++j) + G.arcs[i][j] = MaxInt; + cout << "输入边依附的顶点及权值,如a b 6" << endl; + for(k = 0; k < G.arcnum;++k){ //构造邻接矩阵 + VerTexType v1 , v2; + ArcType w; + cout << "请输入第" << (k + 1) << "条边依附的顶点及权值:"; + cin >> v1 >> v2 >> w; //输入一条边依附的顶点及权值 + i = LocateVex(G, v1); j = LocateVex(G, v2); //确定v1和v2在G中的位置,即顶点数组的下标 + G.arcs[i][j] = w; //边的权值置为w + G.arcs[j][i] = G.arcs[i][j]; //置的对称边的权值为w + Edge[k].lowcost = w; + Edge[k].Head = v1; + Edge[k].Tail = v2; + }//for +}//CreateUDN + +//----------冒泡排序------------------- +void Sort(AMGraph G){ + int m = G.arcnum - 2; + int flag = 1; + while((m > 0) && flag == 1){ + flag = 0; + for(int j = 0 ; j <= m ; j++){ + if(Edge[j].lowcost > Edge[j+ 1].lowcost){ + flag = 1; + + VerTexType temp_Head = Edge[j].Head; + Edge[j].Head = Edge[j+ 1].Head; + Edge[j + 1].Head = temp_Head; + + + VerTexType temp_Tail = Edge[j].Tail; + Edge[j].Tail = Edge[j+ 1].Tail; + Edge[j + 1].Tail = temp_Tail; + + ArcType temp_lowcost = Edge[j].lowcost; + Edge[j].lowcost = Edge[j+ 1].lowcost; + Edge[j + 1].lowcost = temp_lowcost; + }//if + }//for + --m; + }//while +}//Sort + +void MiniSpanTree_Kruskal(AMGraph G){ + //无向网G以邻接矩阵形式存储,构造G的最小生成树T,输出T的各条边 + int i , j , v1 , v2 , vs1 , vs2; + Sort(G); //将数组Edge中的元素按权值从小到大排序 + for(i = 0; i < G.vexnum; ++i) //辅助数组,表示各顶点自成一个连通分量 + Vexset[i] = i; + for(i = 0; i < G.arcnum; ++i){ + //依次查看排好序的数组Edge中的边是否在同一连通分量上 + v1 =LocateVex(G, Edge[i].Head); //v1为边的始点Head的下标 + v2 =LocateVex(G, Edge[i].Tail); //v2为边的终点Tail的下标 + vs1 = Vexset[v1]; //获取边Edge[i]的始点所在的连通分量vs1 + vs2 = Vexset[v2]; //获取边Edge[i]的终点所在的连通分量vs2 + if(vs1 != vs2){ //边的两个顶点分属不同的连通分量 + cout << Edge[i].Head << "-->" << Edge[i].Tail << endl; //输出此边 + for(j = 0; j < G.vexnum; ++j) //合并vs1和vs2两个分量,即两个集合统一编号 + if(Vexset[j] == vs2) Vexset[j] = vs1; //集合编号为vs2的都改为vs1 + }//if + }//for +}//MiniSpanTree_Kruskal + +void main(){ + cout << "************算法6.9 克鲁斯卡尔算法**************" << endl << endl; + AMGraph G; + CreateUDN(G); + + cout < +using namespace std; +#define MAXSIZE 100 +#define OK 1; + +typedef struct{ + int key;//关键字域 +}ElemType; + +typedef struct{ + ElemType *R; + int length; +}SSTable; + +int InitList_SSTable(SSTable &L) +{ + L.R=new ElemType[MAXSIZE]; + if (!L.R) + { + cout<<"初始化错误"; + return 0; + } + L.length=0; + return OK; +} + +int Insert_SSTable(SSTable &L) +{ + int j=0; + for(int i=0;i=1; --i) + if (ST.R[i].key==key) return i; //从后往前找 + return 0; + }// Search_Seq + +void Show_End(int result,int testkey) +{ + if(result==0) + cout<<"未找到"< +using namespace std; + +//算法7.10 哈希表的查找 +//- - - - -开放地址法哈希表的存储表示- - - - - +#define m 16 //哈希表的表长 +#define NULLKEY 0 //单元为空的标记 + +struct HashTable{ + int key; //关键字项 +// InfoType otherinfo; //其他数据项 +}; + +// 算法7.10为哈希表查找的算法,采用线性探测法处理冲突。 +// 【算法实现】 + +int H(int key) +{ + int result; + result=key%13; + return result; +} + +int SearchHash(HashTable HT[],int key){ + //在哈希表HT中查找关键字为key的元素,若查找成功,返回哈希表的单元标号,否则返回-1 + int H0=H(key); //根据哈希函数H(key)计算哈希地址 + int Hi; + if (HT[H0].key==NULLKEY) return -1; //若单元H0为空,则所查元素不存在 + else if (HT[H0].key==key) return H0; //若单元H0中元素的关键字为key,则查找成功 + else{ + for(int i=1;i +using namespace std; +#define MAXSIZE 100 +#define OK 1; + +typedef struct{ + int key;//关键字域 +}ElemType; + +typedef struct{ + ElemType *R; + int length; +}SSTable; + +int InitList_SSTable(SSTable &L) +{ + L.R=new ElemType[MAXSIZE]; + if (!L.R) + { + cout<<"初始化错误"; + return 0; + } + L.length=0; + return OK; +} + +int Insert_SSTable(SSTable &L) +{ + int j=1;//空出ST.R[0]的位置 + for(int i=1;i +using namespace std; +#define MAXSIZE 100 +#define OK 1; + +typedef struct{ + int key;//关键字域 +}ElemType; + +typedef struct{ + ElemType *R; + int length; +}SSTable; + +int InitList_SSTable(SSTable &L) +{ + L.R=new ElemType[MAXSIZE]; + if (!L.R) + { + cout<<"初始化错误"; + return 0; + } + L.length=0; + return OK; +} + +int Insert_SSTable(SSTable &L) +{ + int j=1; + for(int i=1;i +using namespace std; +#define ENDFLAG '#' +//char a[10]={'5','6','7','2','1','9','8','10','3','4','#'};//全局变量 +typedef struct ElemType{ + char key; +}ElemType; + +typedef struct BSTNode{ + ElemType data; //结点数据域 + BSTNode *lchild,*rchild; //左右孩子指针 +}BSTNode,*BSTree; + + +//算法7.4 二叉排序树的递归查找 +BSTree SearchBST(BSTree T,char key) { + //在根指针T所指二叉排序树中递归地查找某关键字等于key的数据元素 + //若查找成功,则返回指向该数据元素结点的指针,否则返回空指针 + if((!T)|| key==T->data.key) return T; //查找结束 + else if (keydata.key) return SearchBST(T->lchild,key); //在左子树中继续查找 + else return SearchBST(T->rchild,key); //在右子树中继续查找 +} // SearchBST + + + +//算法7.5 二叉排序树的插入 +void InsertBST(BSTree &T,ElemType e ) { + //当二叉排序树T中不存在关键字等于e.key的数据元素时,则插入该元素 + if(!T) { //找到插入位置,递归结束 + BSTree S = new BSTNode; //生成新结点*S + S->data = e; //新结点*S的数据域置为e + S->lchild = S->rchild = NULL; //新结点*S作为叶子结点 + T =S; //把新结点*S链接到已找到的插入位置 + } + else if (e.key< T->data.key) + InsertBST(T->lchild, e ); //将*S插入左子树 + else if (e.key> T->data.key) + InsertBST(T->rchild, e); //将*S插入右子树 +}// InsertBST + + + +//算法7.6 二叉排序树的创建 +void CreateBST(BSTree &T ) { + //依次读入一个关键字为key的结点,将此结点插入二叉排序树T中 + T=NULL; + ElemType e; + cin>>e.key; //??? + while(e.key!=ENDFLAG){ //ENDFLAG为自定义常量,作为输入结束标志 + InsertBST(T, e); //将此结点插入二叉排序树T中 + cin>>e.key; //??? + }//while +}//CreatBST + +void DeleteBST(BSTree &T,char key) { + //从二叉排序树T中删除关键字等于key的结点 + BSTree p=T;BSTree f=NULL; //初始化 + BSTree q; + BSTree s; + /*------------下面的while循环从根开始查找关键字等于key的结点*p-------------*/ + while(p){ + if (p->data.key == key) break; //找到关键字等于key的结点*p,结束循环 + f=p; //*f为*p的双亲结点 + if (p->data.key> key) p=p->lchild; //在*p的左子树中继续查找 + else p=p->rchild; //在*p的右子树中继续查找 + }//while +if(!p) return; //找不到被删结点则返回 +/*―考虑三种情况实现p所指子树内部的处理:*p左右子树均不空、无右子树、无左子树―*/ +if ((p->lchild)&& (p->rchild)) { //被删结点*p左右子树均不空 + q = p; + s = p->lchild; + while (s->rchild) //在*p的左子树中继续查找其前驱结点,即最右下结点 + {q = s; s = s->rchild;} //向右到尽头 + p->data = s->data; //s指向被删结点的“前驱” + if(q!=p){ + q->rchild = s->lchild; //重接*q的右子树 + } + else q->lchild = s->lchild; //重接*q的左子树 + delete s; + }//if +else{ + if(!p->rchild) { //被删结点*p无右子树,只需重接其左子树 + q = p; p = p->lchild; + }//else if + else if(!p->lchild) { //被删结点*p无左子树,只需重接其右子树 + q = p; p = p->rchild; + }//else if + /*――――――――――将p所指的子树挂接到其双亲结点*f相应的位置――――――――*/ + if(!f) T=p; //被删结点为根结点 + else if (q==f->lchild) f->lchild = p; //挂接到*f的左子树位置 + else f->rchild = p; //挂接到*f的右子树位置 + delete q; + } +}//DeleteBST + +//算法 7.7 二叉排序树的删除 + +//中序遍历 +void InOrderTraverse(BSTree &T) +{ + if(T) + { + InOrderTraverse(T->lchild); + cout<data.key; + InOrderTraverse(T->rchild); + } +} + +void main() +{ + BSTree T; + cout<<"请输入若干字符,用回车区分,以#结束输入"<>key; + BSTree result=SearchBST(T,key); + if(result) + {cout<<"找到字符"<>key; + DeleteBST(T,key); + cout<<"当前有序二叉树中序遍历结果为"< +using namespace std; +#define FALSE 0 +#define TRUE 1 +#define OK 1 +#define m 3 //B-树的阶,暂设为3 +typedef struct BTNode{ + int keynum; //结点中关键字的个数,即结点的大小 + BTNode *parent; //指向双亲结点 + int key[m+1]; //关键字矢量,0号单元未用 + BTNode *ptr[m+1]; //子树指针矢量 +}BTNode,*BTree; + +//- - - - - B-树的查找结果类型定义- - - - - +struct Result{ + BTNode *pt; //指向找到的结点 + int i; //1..m,在结点中的关键字序号 + int tag; //1:查找成功,0:查找失败 +}; + + +int Search(BTree T,int key) +{ + BTree p=T; + int endnum; + if(p) //树不为空时 + { + endnum=p->keynum; //获得首节点包含的记录个数 + } + else + { + return 0; //返回没找到 + } + int i=0; + if(endnum==0) + { + return i; //树存在,但仅有一个为空根节点 + } + else if(key>=p->key[endnum])//节点不为空,但当前值比最大的key还大 + { + i=endnum; + return i; + } + else if(key<=p->key[1]) //节点不为空,但当前值比最小的key还小 + { + return i;} + else + { + for(i=1;ikey[i]<=key && keykey[i+1]) + return i; + } + } +} + +void Insert(BTree &q,int i,int x,BTree &ap) +{//将x插入q结点的i+1位置中 + int j; + for(j=m-1;j>i;j--) + { + //将插入位置之后的key全部后移一位 + q->key[j+1]=q->key[j]; + } + for(j=m;j>i;j--) + { + //相应地也移动其后ptr的位置 + q->ptr[j]=q->ptr[j-1]; + } + q->key[i+1]=x;//插入x到该位置 + q->ptr[i+1]=ap; + q->keynum++; +} + +void split(BTree &q,int s,BTree &ap) +{ //将q->key[s+1,..,m], q->ptr[s+1,..,m]移入新结点*ap作为右结点 + //原结点作为新的左侧结点 + //中间值被保存在ap[0]->key中,等待找到跳转回InsertBTree()寻找到到合适的插入位置插入 + int i; + ap=new BTNode; + for(i=s+1;i<=m;i++) + { //将q->key[s+1,..,m]保存到ap->key[0,..,m-s+1]中 + //将q->ptr[s+1,..,m]保存到ap->ptr[0,..,m-s+1]中 + ap->key[i-s-1]=q->key[i]; + ap->ptr[i-s-1]=q->ptr[i]; + } + if(ap->ptr[0]) + { + //当ap有子树的时候 + for(i=0;i<=1;i++) + { + //将ap的子树的父亲改为ap自己 + ap->ptr[i]->parent=ap; + } + } + ap->keynum=(m-s)-1; + ap->parent=q->parent;//将ap的父亲改为q的父亲 + + q->keynum=q->keynum-(m-s);//修改q的记录个数 +} + +void NewRoot(BTree &T,BTree q,int x,BTree &ap)//生成含信息(T, x, ap)的新的根结点*T,原T和ap为子树指针 +{ + BTree newT=new BTNode;//新建一个结点作为新的根 + + newT->key[1]=x;//写入新根的key[1] + newT->ptr[0]=T;//将原来的树根作为新根的左子树 + newT->ptr[1]=ap;//ap作为新根的右子树 + newT->keynum=1; + newT->parent=NULL;//新根的父亲为空 + + ap->parent=newT;//ap的父亲为新根 + T->parent=newT;//T的父亲为新根 + + T=newT;//树改成新根引导的 +} + +//算法7.9 B-树的插入 +int InsertBTree(BTree &T,int K,BTree q,int i){ + int x=K; + BTree ap=NULL; + int finished=FALSE;//x表示新插入的关键字,ap为一个空指针 + while(q&&!finished){ + Insert(q,i,x,ap); //将x和ap分别插入到q->key[i+1]和q->ptr[i+1] + if (q->keynumkey[0];// x=q->key[s]; + //将q->key[s+1..m], q->ptr[s..m]和q->recptr[s+1..m] 移入新结点*ap + q=q->parent; + if(q) + { + i=Search(q,x); + } //在双亲结点*q中查找x的插入位置 + } //else + } //while + if(!finished) //T是空树(参数q初值为NULL)或者根结点已分裂为结点*q和*ap + NewRoot(T,q,x,ap); //生成含信息(T, x, ap)的新的根结点*T,原T和ap为子树指针 + return OK; +} //InsertBTree //InsertBTree + +//算法7.8 B-树的查找 +Result SearchBTree(BTree &T, int key){ + /*在m阶B-树T上查找关键字key,返回结果(pt,i,tag)。若查找成功,则特征值tag=1,指针pt所指结点中第i个关键字等于key;否则特征值tag=0,等于key的关键字应插入在指针pt所指结点中第i和第i+1个关键字之间*/ + BTree p=T; + BTree q=NULL; + int found=FALSE; + int i=0; //初始化,p指向待查结点,q指向p的双亲 +while(p&&!found){ + i=Search(p,key); + //在p->key[1..keynum]中查找i,使得:p->key[i]<=key<p->key[i+1] + if(i>0&&p->key[i]==key) + found=TRUE; //找到待查关键字 + else + { + q=p; + p=p->ptr[i]; + } + } + Result result; +if(found) +{ + result.pt=p; + result.i=i; + result.tag=1; + return result; +} //查找成功 +else +{ + result.pt=q; + result.i=i; + result.tag=0; + return result; +} //查找不成功,返回K的插入位置信息 +}//SearchBTree + +void InitialBTree(BTree &T) +{ + //初始化一个空的根 + T->keynum=0; + T->parent=NULL; + for(int i=0;iptr[i]=NULL; + } +} + + + +void main() +{ + BTree T=new BTNode; + InitialBTree(T); + //先用SearchBTree()找到要插入的位置,得到一个Result结构体 + //再用InsertBTree()插入数据 + Result result; + int a[11]={45,24,53,90,3,12,50,61,70,100}; + for(int i=0;i<10;i++) + { + result=SearchBTree(T,a[i]); + if(result.tag==0) + { + InsertBTree(T,a[i],result.pt,result.i); + } + } + cout<<"OK"; +} + diff --git a/DSBookCode/数据结构第2版-书中算法(C语言版)/第8章/8.1.cpp b/DSBookCode/数据结构第2版-书中算法(C语言版)/第8章/8.1.cpp new file mode 100644 index 0000000..3785a19 --- /dev/null +++ b/DSBookCode/数据结构第2版-书中算法(C语言版)/第8章/8.1.cpp @@ -0,0 +1,65 @@ +//算法8.1 直接插入排序 +#include +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +void InsertSort(SqList &L) +{ + //对顺序表L做直接插入排序 + int i,j; + for(i=2;i<=L.length;++i) + if(L.r[i].key>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}RedType; + +void Create_Sq(RedType *R) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入待合并的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=0;i>R[i].key; +} + +void Merge(RedType R[],RedType T[],int low,int mid,int high) +{ + //将有序表R[low..mid]和R[mid+1..high]归并为有序表T[low..high] + int i,j,k; + i=low; j=mid+1;k=low; + while(i<=mid&&j<=high) + { + //将R中记录由小到大地并入T中 + if(R[i].key<=R[j].key) T[k++]=R[i++]; + else T[k++]=R[j++]; + } + while(i<=mid) //将剩余的R[low..mid]复制到T中 + T[k++]=R[i++]; + while(j<=high) //将剩余的R[j.high]复制到T中 + T[k++]=R[j++]; +}//Merge +void show(RedType *T,int low,int high) +{ + int i; + for(i=low;i<=high;i++) + cout<>low>>mid>>high; + Merge(R,T,low,mid,high); + cout<<"合并后的结果为:"< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}RedType; + +typedef struct +{ + RedType *r; + int length; +}SqList; + +void Create_Sq(SqList &L) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +//用算法8.10 相邻两个有序子序列的归并 +void Merge(RedType R[],RedType T[],int low,int mid,int high) +{ + //将有序表R[low..mid]和R[mid+1..high]归并为有序表T[low..high] + int i,j,k; + i=low; j=mid+1;k=low; + while(i<=mid&&j<=high) + { + //将R中记录由小到大地并入T中 + if(R[i].key<=R[j].key) T[k++]=R[i++]; + else T[k++]=R[j++]; + } + while(i<=mid) //将剩余的R[low..mid]复制到T中 + T[k++]=R[i++]; + while(j<=high) //将剩余的R[j.high]复制到T中 + T[k++]=R[j++]; +}//Merge + +void MSort(RedType R[],RedType T[],int low,int high) +{ + //R[low..high]归并排序后放入T[low..high]中 + int mid; + RedType *S=new RedType[MAXSIZE]; + if(low==high) T[low]=R[low]; + else + { + mid=(low+high)/2; //将当前序列一分为二,求出分裂点mid + MSort(R,S,low,mid); //对子序列R[low..mid] 递归归并排序,结果放入S[low..mid] + MSort(R,S,mid+1,high); //对子序列R[mid+1..high] 递归归并排序,结果放入S[mid+1..high] + Merge(S,T,low,mid,high); //将S[low..mid]和S [mid+1..high]归并到T[low..high] + }//else +}// MSort + +void MergeSort(SqList &L) +{ + //对顺序表L做归并排序 + MSort(L.r,L.r,1,L.length); +}//MergeSort +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +#include +#include +#include +#define MAXNUM_KEY 8 //关键字项数的最大值 +#define RADIX 10 //关键字基数,此时是十进制整数的基数 +#define MAX_SPACE 10000 +typedef char KeysType; //定义关键字类型为字符型 +typedef int InfoType; //定义其它数据项的类型 +typedef struct +{ + KeysType keys[MAXNUM_KEY]; //关键字 + InfoType otheritems; //其他数据项 + int next; +}SLCell; //静态链表的结点类型 +typedef struct +{ + SLCell r[MAX_SPACE]; //静态链表的可利用空间,r[0]为头结点 + int keynum; //记录的当前关键字个数 + int recnum; //静态链表的当前长度 +}SLList; //静态链表类型 +typedef int ArrType[RADIX]; //指针数组类型 + +void InitList(SLList *L) +{ + //初始化静态链表L(把数组D中的数据存于L中) + char c[MAXNUM_KEY],c1[MAXNUM_KEY]; + int i,j,n,max; //max为关键字的最大值 + max=-10000; + cout<<"请输入数据个数,不超过"<>n; + while(n>MAX_SPACE) + { + cout<<"您输入的个数超过上限,请重新输入,不超过"<>n; + } + int *D=new int[n]; + cout<<"请输入"<>D[i]; + if(max=0;j--) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表 + +void BInsertSort(SqList &L){ + //对顺序表L做折半插入排序 + int i,j,low,high,m; + for(i=2;i<=L.length;++i) + { + L.r[0]=L.r[i]; //将待插入的记录暂存到监视哨中 + low=1; high=i-1; //置查找区间初值 + while(low<=high) + { //在r[low..high]中折半查找插入的位置 + m=(low+high)/2; //折半 + if(L.r[0].key=high+1;--j) L.r[j+1]=L.r[j]; //记录后移 + L.r[high+1]=L.r[0]; //将r[0]即原r[i],插入到正确位置 + } //for +} //BInsertSort + +void Create_Sq(SqList &L) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +void ShellInsert(SqList &L,int dk) +{ + //对顺序表L做一趟增量是dk的希尔插入排序 + int i,j; + for(i=dk+1;i<=L.length;++i) + if(L.r[i].key0&& L.r[0].key>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout<>t; + for(i=0;i>dt[i]; + } + ShellSort(L,dt,t); + cout<<"排序后的结果为:"< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +void BubbleSort(SqList &L) +{ + //对顺序表L做冒泡排序 + int m,j,flag; + ElemType t; + m=L.length-1; flag=1; //flag用来标记某一趟排序是否发生交换 + while((m>0)&&(flag==1)) + { + flag=0; //flag置为0,如果本趟排序没有发生交换,则不会执行下一趟排序 + for(j=1;j<=m;j++) + if(L.r[j].key>L.r[j+1].key) + { + flag=1; //flag置为1,表示本趟排序发生了交换 + t=L.r[j];L.r[j]=L.r[j+1];L.r[j+1]=t; //交换前后两个记录 + } //if + --m; + } //while +} //BubbleSort + +void Create_Sq(SqList &L) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + + +int Partition(SqList &L,int low,int high) +{ + //对顺序表L中的子表r[low..high]进行一趟排序,返回枢轴位置 + int pivotkey; + L.r[0]=L.r[low]; //用子表的第一个记录做枢轴记录 + pivotkey=L.r[low].key; //枢轴记录关键字保存在pivotkey中 + while(low=pivotkey) --high; + L.r[low]=L.r[high]; //将比枢轴记录小的记录移到低端 + while(low>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + + +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +void SelectSort(SqList &L) +{ + //对顺序表L做简单选择排序 + int i,j,k; + ElemType t; + for(i=1;i>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +void HeapAdjust(SqList &L,int s,int m) +{ + //假设r[s+1..m]已经是堆,将r[s..m]调整为以r[s]为根的大根堆 + ElemType rc; + int j; + rc=L.r[s]; + for(j=2*s;j<=m;j*=2) + { //沿key较大的孩子结点向下筛选 + if(j=L.r[j].key) break; //rc应插入在位置s上 + L.r[s]=L.r[j]; s=j; + } + L.r[s]=rc; //插入 +} //HeapAdjust + +void Create_Sq(SqList &L) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入待调整的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +//用算法8.7 筛选法调整堆 +void HeapAdjust(SqList &L,int s,int m) +{ + //假设r[s+1..m]已经是堆,将r[s..m]调整为以r[s]为根的大根堆 + ElemType rc; + int j; + rc=L.r[s]; + for(j=2*s;j<=m;j*=2) + { //沿key较大的孩子结点向下筛选 + if(j=L.r[j].key) break; //rc应插入在位置s上 + L.r[s]=L.r[j]; s=j; + } + L.r[s]=rc; //插入 +} //HeapAdjust + +void Create_Sq(SqList &L) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +void CreatHeap(SqList &L) +{ + //把无序序列L.r[1..n]建成大根堆 + int i,n; + n=L.length; + for(i=n/2;i>0;--i) //反复调用HeapAdjust + HeapAdjust(L,i,n); +} //CreatHeap +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +using namespace std; +#define MAXSIZE 20 //顺序表的最大长度 +typedef struct +{ + int key; + char *otherinfo; +}ElemType; +//顺序表的存储结构 +typedef struct +{ + ElemType *r; //存储空间的基地址 + int length; //顺序表长度 +}SqList; //顺序表类型 + +//用算法8.7 筛选法调整堆 +void HeapAdjust(SqList &L,int s,int m) +{ + //假设r[s+1..m]已经是堆,将r[s..m]调整为以r[s]为根的大根堆 + ElemType rc; + int j; + rc=L.r[s]; + for(j=2*s;j<=m;j*=2) + { //沿key较大的孩子结点向下筛选 + if(j=L.r[j].key) break; //rc应插入在位置s上 + L.r[s]=L.r[j]; s=j; + } + L.r[s]=rc; //插入 +} + //HeapAdjust +void Create_Sq(SqList &L) +{ + int i,n; + cout<<"请输入数据个数,不超过"<>n; //输入个数 + cout<<"请输入待排序的数据:\n"; + while(n>MAXSIZE) + { + cout<<"个数超过上限,不能超过"<>n; + } + for(i=1;i<=n;i++) + { + cin>>L.r[i].key; + L.length++; + } +} + +//用算法8.8 建初堆 +void CreatHeap(SqList &L) +{ + //把无序序列L.r[1..n]建成大根堆 + int i,n; + n=L.length; + for(i=n/2;i>0;--i) //反复调用HeapAdjust + HeapAdjust(L,i,n); +} //CreatHeap + +void HeapSort(SqList &L) +{ + //对顺序表L进行堆排序 + int i; + ElemType x; + CreatHeap(L); //把无序序列L.r[1..L.length]建成大根堆 + for(i=L.length;i>1;--i) + { + x=L.r[1]; //将堆顶记录和当前未经排序子序列L.r[1..i]中最后一个记录互换 + L.r[1]=L.r[i]; + L.r[i]=x; + HeapAdjust(L,1,i-1); //将L.r[1..i-1]重新调整为大根堆 + }//for +}//HeapSort +void show(SqList L) +{ + int i; + for(i=1;i<=L.length;i++) + cout< +#include +#include +#include +using namespace std; +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。 +typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 + +#define MAXSIZE 100 //顺序表可能达到的最大长度 +struct Book { + string id;//ISBN + string name;//书名 + double price;//定价 +}; +typedef struct { + Book *elem; //存储空间的基地址 + int length; //当前长度 +} SqList; + +Status InitList_Sq(SqList &L) { //算法2.1 顺序表的初始化 + //构造一个空的顺序表L + L.elem = new Book[MAXSIZE]; //为顺序表分配一个大小为MAXSIZE的数组空间 + if (!L.elem) + exit(OVERFLOW); //存储分配失败退出 + L.length = 0; //空表长度为0 + return OK; +} + +Status GetElem(SqList L, int i, Book &e) {//算法2.2 顺序表的取值 + if (i < 1 || i > L.length) + return ERROR; //判断i值是否合理,若不合理,返回ERROR + e = L.elem[i - 1]; //elem[i-1]单元存储第i个数据元素 + return OK; +} + +int LocateElem_Sq(SqList L, double e) { //算法2.3 顺序表的查找 + //顺序表的查找 + for (int i = 0; i < L.length; i++) + if (L.elem[i].price == e) + return i + 1;//查找成功,返回序号i+1 + return 0;//查找失败,返回0 +} + +Status ListInsert_Sq(SqList &L, int i, Book e) { //算法2.4 顺序表的插入 + //在顺序表L中第i个位置之前插入新的元素e + //i值的合法范围是1<=i<=L.length+1 + if ((i < 1) || (i > L.length + 1)) + return ERROR; //i值不合法 + if (L.length == MAXSIZE) + return ERROR; //当前存储空间已满 + for (int j = L.length - 1; j >= i - 1; j--) + L.elem[j + 1] = L.elem[j]; //插入位置及之后的元素后移 + L.elem[i - 1] = e; //将新元素e放入第i个位置 + ++L.length; //表长增1 + return OK; +} + +Status ListDelete_Sq(SqList &L, int i) { //算法2.5 顺序表的删除 + //在顺序表L中删除第i个元素,并用e返回其值 + //i值的合法范围是1<=i<=L.length + if ((i < 1) || (i > L.length)) + return ERROR; //i值不合法 + for (int j = i; j <= L.length; j++) + L.elem[j - 1] = L.elem[j]; //被删除元素之后的元素前移 + --L.length; //表长减1 + return OK; +} + +int main() { + SqList L; + int i = 0, temp, a, c, choose; + double price; + Book e; + string head_1, head_2, head_3; + cout << "1. 建立\n"; + cout << "2. 输入\n"; + cout << "3. 取值\n"; + cout << "4. 查找\n"; + cout << "5. 插入\n"; + cout << "6. 删除\n"; + cout << "7. 输出\n"; + cout << "0. 退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://创建顺序表 + if (InitList_Sq(L)) + cout << "成功建立顺序表\n\n"; + else + cout << "顺序表建立失败\n\n"; + break; + case 2: {//顺序表信息输入 + i = 0; + L.elem = new Book[MAXSIZE]; + if (!L.elem) + exit(OVERFLOW); + L.length = 0; + fstream file; + file.open("book.txt"); + if (!file) { + cout << "错误!未找到文件!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2 >> head_3; + while (!file.eof()) { + file >> L.elem[i].id >> L.elem[i].name >> L.elem[i].price; + i++; + } + cout << "输入 book.txt 信息完毕\n\n"; + L.length = i; + file.close(); + } + break; + case 3://顺序表的取值 + cout << "请输入一个位置用来取值:\n"; + cin >> i; + temp = GetElem(L, i, e); + if (temp != 0) { + cout << "查找成功\n"; + cout << "第" << i << "本图书的信息是:\n"; + cout << left << setw(15) << e.id << "\t" << left << setw(50) + << e.name << "\t" << left << setw(5) << e.price << endl + << endl; + } else + cout << "查找失败!位置超出范围\n\n"; + break; + case 4: //顺序表的查找 + cout << "请输入所要查找价格:"; + cin >> price; + temp = LocateElem_Sq(L, price); + if (temp != 0) { + cout << "查找成功\n"; + cout << "该价格对应的书名为:" << L.elem[temp - 1].name << endl << endl; + } else + cout << "查找失败!没有这个价格对应的书籍\n\n"; + break; + case 5: //顺序表的插入 + cout << "请输入插入的位置和书本信息,包括:编号 书名 价格(用空格隔开):"; + cin >> a; + cin >> e.id >> e.name >> e.price; //输入a和b,a代表插入的位置,b代表插入的数值(书本信息) + if (ListInsert_Sq(L, a, e)) + cout << "插入成功.\n\n"; + else + cout << "插入失败.\n\n"; + break; + case 6: //顺序表的删除 + cout << "请输入所要删除的书籍的位置:"; + cin >> c; + if (ListDelete_Sq(L, c)) + cout << "删除成功.\n\n"; + else + cout << "删除失败.\n\n"; + break; + case 7: //顺序表的输出 + cout << "当前图书系统信息(顺序表)读出:\n"; + for (i = 0; i < L.length; i++) + cout << left << setw(15) << L.elem[i].id << "\t" << left + << setw(50) << L.elem[i].name << "\t" << left + << setw(5) << L.elem[i].price << endl; + cout << endl; + break; + } + } + return 0; +} diff --git a/DSBySelf/main.cpp b/DSBySelf/main.cpp new file mode 100644 index 0000000..48f2997 --- /dev/null +++ b/DSBySelf/main.cpp @@ -0,0 +1,177 @@ +// +// Created by 35861 on 2023/7/18. +// +// +// Created by 35861 on 2023/7/18. +// +#include +#include +#include +#include +using namespace std; +#define OK 1 +#define ERROR 0 +#define OVERFLOW -2 +typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。 +typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 + +#define MAXSIZE 100 //顺序表可能达到的最大长度 +struct Book { + string id;//ISBN + string name;//书名 + double price;//定价 +}; +typedef struct { + Book *elem; //存储空间的基地址 + int length; //当前长度 +} SqList; + +Status InitList_Sq(SqList &L) { //算法2.1 顺序表的初始化 + //构造一个空的顺序表L + L.elem = new Book[MAXSIZE]; //为顺序表分配一个大小为MAXSIZE的数组空间 + if (!L.elem) + exit(OVERFLOW); //存储分配失败退出 + L.length = 0; //空表长度为0 + return OK; +} + +Status GetElem(SqList L, int i, Book &e) {//算法2.2 顺序表的取值 + if (i < 1 || i > L.length) + return ERROR; //判断i值是否合理,若不合理,返回ERROR + e = L.elem[i - 1]; //elem[i-1]单元存储第i个数据元素 + return OK; +} + +int LocateElem_Sq(SqList L, double e) { //算法2.3 顺序表的查找 + //顺序表的查找 + for (int i = 0; i < L.length; i++) + if (L.elem[i].price == e) + return i + 1;//查找成功,返回序号i+1 + return 0;//查找失败,返回0 +} + +Status ListInsert_Sq(SqList &L, int i, Book e) { //算法2.4 顺序表的插入 + //在顺序表L中第i个位置之前插入新的元素e + //i值的合法范围是1<=i<=L.length+1 + if ((i < 1) || (i > L.length + 1)) + return ERROR; //i值不合法 + if (L.length == MAXSIZE) + return ERROR; //当前存储空间已满 + for (int j = L.length - 1; j >= i - 1; j--) + L.elem[j + 1] = L.elem[j]; //插入位置及之后的元素后移 + L.elem[i - 1] = e; //将新元素e放入第i个位置 + ++L.length; //表长增1 + return OK; +} + +Status ListDelete_Sq(SqList &L, int i) { //算法2.5 顺序表的删除 + //在顺序表L中删除第i个元素,并用e返回其值 + //i值的合法范围是1<=i<=L.length + if ((i < 1) || (i > L.length)) + return ERROR; //i值不合法 + for (int j = i; j <= L.length; j++) + L.elem[j - 1] = L.elem[j]; //被删除元素之后的元素前移 + --L.length; //表长减1 + return OK; +} + +int main() { + SqList L; + int i = 0, temp, a, c, choose; + double price; + Book e; + string head_1, head_2, head_3; + cout << "1. 建立\n"; + cout << "2. 输入\n"; + cout << "3. 取值\n"; + cout << "4. 查找\n"; + cout << "5. 插入\n"; + cout << "6. 删除\n"; + cout << "7. 输出\n"; + cout << "0. 退出\n\n"; + + choose = -1; + while (choose != 0) { + cout << "请选择:"; + cin >> choose; + switch (choose) { + case 1://创建顺序表 + if (InitList_Sq(L)) + cout << "成功建立顺序表\n\n"; + else + cout << "顺序表建立失败\n\n"; + break; + case 2: {//顺序表信息输入 + i = 0; + L.elem = new Book[MAXSIZE]; + if (!L.elem) + exit(OVERFLOW); + L.length = 0; + fstream file; + file.open("book.txt"); + if (!file) { + cout << "错误!未找到文件!" << endl; + exit(ERROR); + } + file >> head_1 >> head_2 >> head_3; + while (!file.eof()) { + file >> L.elem[i].id >> L.elem[i].name >> L.elem[i].price; + i++; + } + cout << "输入 book.txt 信息完毕\n\n"; + L.length = i; + file.close(); + } + break; + case 3://顺序表的取值 + cout << "请输入一个位置用来取值:\n"; + cin >> i; + temp = GetElem(L, i, e); + if (temp != 0) { + cout << "查找成功\n"; + cout << "第" << i << "本图书的信息是:\n"; + cout << left << setw(15) << e.id << "\t" << left << setw(50) + << e.name << "\t" << left << setw(5) << e.price << endl + << endl; + } else + cout << "查找失败!位置超出范围\n\n"; + break; + case 4: //顺序表的查找 + cout << "请输入所要查找价格:"; + cin >> price; + temp = LocateElem_Sq(L, price); + if (temp != 0) { + cout << "查找成功\n"; + cout << "该价格对应的书名为:" << L.elem[temp - 1].name << endl << endl; + } else + cout << "查找失败!没有这个价格对应的书籍\n\n"; + break; + case 5: //顺序表的插入 + cout << "请输入插入的位置和书本信息,包括:编号 书名 价格(用空格隔开):"; + cin >> a; + cin >> e.id >> e.name >> e.price; //输入a和b,a代表插入的位置,b代表插入的数值(书本信息) + if (ListInsert_Sq(L, a, e)) + cout << "插入成功.\n\n"; + else + cout << "插入失败.\n\n"; + break; + case 6: //顺序表的删除 + cout << "请输入所要删除的书籍的位置:"; + cin >> c; + if (ListDelete_Sq(L, c)) + cout << "删除成功.\n\n"; + else + cout << "删除失败.\n\n"; + break; + case 7: //顺序表的输出 + cout << "当前图书系统信息(顺序表)读出:\n"; + for (i = 0; i < L.length; i++) + cout << left << setw(15) << L.elem[i].id << "\t" << left + << setw(50) << L.elem[i].name << "\t" << left + << setw(5) << L.elem[i].price << endl; + cout << endl; + break; + } + } + return 0; +} diff --git a/build/.cmake/api/v1/query/client-vscode/query.json b/build/.cmake/api/v1/query/client-vscode/query.json new file mode 100644 index 0000000..82bb964 --- /dev/null +++ b/build/.cmake/api/v1/query/client-vscode/query.json @@ -0,0 +1 @@ +{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]} \ No newline at end of file diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..82fde3b --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,331 @@ +# This is the CMakeCache file. +# For build in directory: d:/CProject/QIUofDSAndOS/build +# It was generated by CMake: D:/Python3.9/Lib/site-packages/cmake/data/bin/cmake.exe +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_AR:FILEPATH=D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/lib.exe + +//Semicolon separated list of supported configuration types, only +// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything +// else will be ignored. +CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /EHsc + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=/Ob0 /Od /RTC1 + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/O2 /Ob1 /DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=/Ob0 /Od /RTC1 + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/O2 /Ob1 /DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING=/machine:X86 + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=D:/CProject/QIUofDSAndOS/build/CMakeFiles/pkgRedirects + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/DSAndOS + +//Path to a program. +CMAKE_LINKER:FILEPATH=D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/link.exe + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:X86 + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL + +//Path to a program. +CMAKE_MT:FILEPATH=D:/Windows Kits/10/bin/10.0.19041.0/x86/mt.exe + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=DSAndOS + +//RC compiler +CMAKE_RC_COMPILER:FILEPATH=D:/Windows Kits/10/bin/10.0.19041.0/x86/rc.exe + +//Flags for Windows Resource Compiler during all build types. +CMAKE_RC_FLAGS:STRING=-DWIN32 + +//Flags for Windows Resource Compiler during DEBUG builds. +CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG + +//Flags for Windows Resource Compiler during MINSIZEREL builds. +CMAKE_RC_FLAGS_MINSIZEREL:STRING= + +//Flags for Windows Resource Compiler during RELEASE builds. +CMAKE_RC_FLAGS_RELEASE:STRING= + +//Flags for Windows Resource Compiler during RELWITHDEBINFO builds. +CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:X86 + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:X86 + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +DSAndOS_BINARY_DIR:STATIC=D:/CProject/QIUofDSAndOS/build + +//Value Computed by CMake +DSAndOS_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +DSAndOS_SOURCE_DIR:STATIC=D:/CProject/QIUofDSAndOS + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=d:/CProject/QIUofDSAndOS/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=26 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=D:/Python3.9/Lib/site-packages/cmake/data/bin/cmake.exe +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=D:/Python3.9/Lib/site-packages/cmake/data/bin/cpack.exe +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=D:/Python3.9/Lib/site-packages/cmake/data/bin/ctest.exe +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022 +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL=D:/VS/IDE +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL=win32 +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL=host=x86 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=D:/CProject/QIUofDSAndOS +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MT +CMAKE_MT-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//noop for ranlib +CMAKE_RANLIB:INTERNAL=: +//ADVANCED property for variable: CMAKE_RC_COMPILER +CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_RC_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS +CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG +CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL +CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE +CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO +CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/build/CMakeFiles/3.26.1/CMakeCCompiler.cmake b/build/CMakeFiles/3.26.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..1e3f552 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/cl.exe") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "MSVC") +set(CMAKE_C_COMPILER_VERSION "19.36.32535.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "OFF") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "") + +set(CMAKE_C_PLATFORM_ID "Windows") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "MSVC") +set(CMAKE_C_SIMULATE_VERSION "") +set(CMAKE_C_COMPILER_ARCHITECTURE_ID X86) + +set(MSVC_C_ARCHITECTURE_ID X86) + +set(CMAKE_AR "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/lib.exe") +set(CMAKE_C_COMPILER_AR "") +set(CMAKE_RANLIB ":") +set(CMAKE_C_COMPILER_RANLIB "") +set(CMAKE_LINKER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/link.exe") +set(CMAKE_MT "D:/Windows Kits/10/bin/10.0.19041.0/x86/mt.exe") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "4") +set(CMAKE_C_COMPILER_ABI "") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.26.1/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.26.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..0dce241 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/cl.exe") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "MSVC") +set(CMAKE_CXX_COMPILER_VERSION "19.36.32535.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "OFF") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Windows") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "MSVC") +set(CMAKE_CXX_SIMULATE_VERSION "") +set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID X86) + +set(MSVC_CXX_ARCHITECTURE_ID X86) + +set(CMAKE_AR "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/lib.exe") +set(CMAKE_CXX_COMPILER_AR "") +set(CMAKE_RANLIB ":") +set(CMAKE_CXX_COMPILER_RANLIB "") +set(CMAKE_LINKER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx86/x86/link.exe") +set(CMAKE_MT "D:/Windows Kits/10/bin/10.0.19041.0/x86/mt.exe") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "4") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.26.1/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.26.1/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000..924db34 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CMakeDetermineCompilerABI_C.bin differ diff --git a/build/CMakeFiles/3.26.1/CMakeDetermineCompilerABI_CXX.bin b/build/CMakeFiles/3.26.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100644 index 0000000..bfb881e Binary files /dev/null and b/build/CMakeFiles/3.26.1/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/build/CMakeFiles/3.26.1/CMakeRCCompiler.cmake b/build/CMakeFiles/3.26.1/CMakeRCCompiler.cmake new file mode 100644 index 0000000..0449253 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CMakeRCCompiler.cmake @@ -0,0 +1,6 @@ +set(CMAKE_RC_COMPILER "D:/Windows Kits/10/bin/10.0.19041.0/x86/rc.exe") +set(CMAKE_RC_COMPILER_ARG1 "") +set(CMAKE_RC_COMPILER_LOADED 1) +set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) +set(CMAKE_RC_OUTPUT_EXTENSION .res) +set(CMAKE_RC_COMPILER_ENV_VAR "RC") diff --git a/build/CMakeFiles/3.26.1/CMakeSystem.cmake b/build/CMakeFiles/3.26.1/CMakeSystem.cmake new file mode 100644 index 0000000..f4f494a --- /dev/null +++ b/build/CMakeFiles/3.26.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Windows-10.0.25905") +set(CMAKE_HOST_SYSTEM_NAME "Windows") +set(CMAKE_HOST_SYSTEM_VERSION "10.0.25905") +set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") + + + +set(CMAKE_SYSTEM "Windows-10.0.25905") +set(CMAKE_SYSTEM_NAME "Windows") +set(CMAKE_SYSTEM_VERSION "10.0.25905") +set(CMAKE_SYSTEM_PROCESSOR "AMD64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/3.26.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..88155ff --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,866 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/CompilerIdC.vcxproj b/build/CMakeFiles/3.26.1/CompilerIdC/CompilerIdC.vcxproj new file mode 100644 index 0000000..c9e200f --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdC/CompilerIdC.vcxproj @@ -0,0 +1,71 @@ + + + + + Debug + win32 + + + + {CAE07175-D007-4FC3-BFE8-47B392814159} + CompilerIdC + Win32Proj + + + 10.0.19041.0 + + + + + + + + + x86 + + + Application + v143 + MultiByte + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\ + $(Configuration)\ + false + + + + Disabled + %(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + + + TurnOffAllWarnings + + + + + + false + Console + + + + for %%i in (cl.exe) do %40echo CMAKE_C_COMPILER=%%~$PATH:i + + + + + + + + + + diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.exe.recipe b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.exe.recipe new file mode 100644 index 0000000..d199642 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.exe.recipe @@ -0,0 +1,11 @@ + + + + + D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdC\CompilerIdC.exe + + + + + + \ No newline at end of file diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.command.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.command.1.tlog new file mode 100644 index 0000000..973e614 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.command.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.read.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.read.1.tlog new file mode 100644 index 0000000..b7f8f3f Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.read.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.write.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.write.1.tlog new file mode 100644 index 0000000..9453641 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CL.write.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/Cl.items.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/Cl.items.tlog new file mode 100644 index 0000000..113168b --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/Cl.items.tlog @@ -0,0 +1 @@ +D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdC\CMakeCCompilerId.c;D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdC\Debug\CMakeCCompilerId.obj diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CompilerIdC.lastbuildstate b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CompilerIdC.lastbuildstate new file mode 100644 index 0000000..b6c76ff --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/CompilerIdC.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.36.32532:TargetPlatformVersion=10.0.19041.0: +Debug|win32|D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdC\| diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.command.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.command.1.tlog new file mode 100644 index 0000000..827b510 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.command.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.read.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.read.1.tlog new file mode 100644 index 0000000..9f7501f Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.read.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.write.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.write.1.tlog new file mode 100644 index 0000000..4c6dd55 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdC/Debug/CompilerIdC.tlog/link.write.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.26.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..746b167 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,855 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/CompilerIdCXX.vcxproj b/build/CMakeFiles/3.26.1/CompilerIdCXX/CompilerIdCXX.vcxproj new file mode 100644 index 0000000..c956b4c --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdCXX/CompilerIdCXX.vcxproj @@ -0,0 +1,71 @@ + + + + + Debug + win32 + + + + {CAE07175-D007-4FC3-BFE8-47B392814159} + CompilerIdCXX + Win32Proj + + + 10.0.19041.0 + + + + + + + + + x86 + + + Application + v143 + MultiByte + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\ + $(Configuration)\ + false + + + + Disabled + %(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + + + TurnOffAllWarnings + + + + + + false + Console + + + + for %%i in (cl.exe) do %40echo CMAKE_CXX_COMPILER=%%~$PATH:i + + + + + + + + + + diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.exe.recipe b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.exe.recipe new file mode 100644 index 0000000..e67b8c1 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.exe.recipe @@ -0,0 +1,11 @@ + + + + + D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdCXX\CompilerIdCXX.exe + + + + + + \ No newline at end of file diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.command.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.command.1.tlog new file mode 100644 index 0000000..cb76b63 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.command.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.read.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.read.1.tlog new file mode 100644 index 0000000..a55ef0c Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.read.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.write.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.write.1.tlog new file mode 100644 index 0000000..2fb7b14 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.write.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/Cl.items.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/Cl.items.tlog new file mode 100644 index 0000000..0b39e44 --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/Cl.items.tlog @@ -0,0 +1 @@ +D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdCXX\CMakeCXXCompilerId.cpp;D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdCXX\Debug\CMakeCXXCompilerId.obj diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CompilerIdCXX.lastbuildstate b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CompilerIdCXX.lastbuildstate new file mode 100644 index 0000000..840ffab --- /dev/null +++ b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CompilerIdCXX.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.36.32532:TargetPlatformVersion=10.0.19041.0: +Debug|win32|D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\CompilerIdCXX\| diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.command.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.command.1.tlog new file mode 100644 index 0000000..c8649c4 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.command.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.read.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.read.1.tlog new file mode 100644 index 0000000..1eaca42 Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.read.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.write.1.tlog b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.write.1.tlog new file mode 100644 index 0000000..0ff0d0f Binary files /dev/null and b/build/CMakeFiles/3.26.1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.write.1.tlog differ diff --git a/build/CMakeFiles/3.26.1/Debug/VCTargetsPath.recipe b/build/CMakeFiles/3.26.1/Debug/VCTargetsPath.recipe new file mode 100644 index 0000000..d391824 --- /dev/null +++ b/build/CMakeFiles/3.26.1/Debug/VCTargetsPath.recipe @@ -0,0 +1,11 @@ + + + + + D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\Debug\VCTargetsPath + + + + + + \ No newline at end of file diff --git a/build/CMakeFiles/3.26.1/Debug/VCTargetsPath.tlog/VCTargetsPath.lastbuildstate b/build/CMakeFiles/3.26.1/Debug/VCTargetsPath.tlog/VCTargetsPath.lastbuildstate new file mode 100644 index 0000000..a760958 --- /dev/null +++ b/build/CMakeFiles/3.26.1/Debug/VCTargetsPath.tlog/VCTargetsPath.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.36.32532:TargetPlatformVersion=10.0.19041.0: +Debug|win32|D:\CProject\QIUofDSAndOS\build\CMakeFiles\3.26.1\| diff --git a/build/CMakeFiles/3.26.1/VCTargetsPath.txt b/build/CMakeFiles/3.26.1/VCTargetsPath.txt new file mode 100644 index 0000000..1c75162 --- /dev/null +++ b/build/CMakeFiles/3.26.1/VCTargetsPath.txt @@ -0,0 +1 @@ +D:/VS/IDE/MSBuild/Microsoft/VC/v170 diff --git a/build/CMakeFiles/3.26.1/VCTargetsPath.vcxproj b/build/CMakeFiles/3.26.1/VCTargetsPath.vcxproj new file mode 100644 index 0000000..0e7ac22 --- /dev/null +++ b/build/CMakeFiles/3.26.1/VCTargetsPath.vcxproj @@ -0,0 +1,31 @@ + + + + + Debug + win32 + + + + {F3FC6D86-508D-3FB1-96D2-995F08B142EC} + Win32Proj + win32 + 10.0.19041.0 + + + + x86 + + + Utility + MultiByte + v143 + + + + + echo VCTargetsPath=$(VCTargetsPath) + + + + diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..c4f60cc --- /dev/null +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,221 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineSystem.cmake:204 (message)" + - "CMakeLists.txt:2 (project)" + message: | + The system is: Windows - 10.0.25905 - AMD64 + - + kind: "message-v1" + backtrace: + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: + Build flags: + Id flags: + + The output was: + 0 + MSBuild version 17.6.3+07e294721 for .NET Framework + Build started 2023/7/18 22:04:40. + + Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\3.26.1\\CompilerIdC\\CompilerIdC.vcxproj" on node 1 (default targets). + PrepareForBuild: + Creating directory "Debug\\". + Creating directory "Debug\\CompilerIdC.tlog\\". + InitializeBuildStatus: + Creating "Debug\\CompilerIdC.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified. + ClCompile: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\CL.exe /c /nologo /W0 /WX- /diagnostics:column /Od /Oy- /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\\\" /Fd"Debug\\vc143.pdb" /external:W0 /Gd /TC /analyze- /FC /errorReport:queue CMakeCCompilerId.c + CMakeCCompilerId.c + Link: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\link.exe /ERRORREPORT:QUEUE /OUT:".\\CompilerIdC.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\\CompilerIdC.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\\CompilerIdC.lib" /MACHINE:X86 /SAFESEH Debug\\CMakeCCompilerId.obj + CompilerIdC.vcxproj -> D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\3.26.1\\CompilerIdC\\CompilerIdC.exe + PostBuildEvent: + for %%i in (cl.exe) do @echo CMAKE_C_COMPILER=%%~$PATH:i + :VCEnd + CMAKE_C_COMPILER=D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx86\\x86\\cl.exe + FinalizeBuildStatus: + Deleting file "Debug\\CompilerIdC.tlog\\unsuccessfulbuild". + Touching "Debug\\CompilerIdC.tlog\\CompilerIdC.lastbuildstate". + Done Building Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\3.26.1\\CompilerIdC\\CompilerIdC.vcxproj" (default targets). + + Build succeeded. + 0 Warning(s) + 0 Error(s) + + Time Elapsed 00:00:01.78 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CompilerIdC.exe" + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CompilerIdC.vcxproj" + + The C compiler identification is MSVC, found in: + D:/CProject/QIUofDSAndOS/build/CMakeFiles/3.26.1/CompilerIdC/CompilerIdC.exe + + - + kind: "message-v1" + backtrace: + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: + Build flags: + Id flags: + + The output was: + 0 + MSBuild version 17.6.3+07e294721 for .NET Framework + Build started 2023/7/18 22:04:42. + + Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\3.26.1\\CompilerIdCXX\\CompilerIdCXX.vcxproj" on node 1 (default targets). + PrepareForBuild: + Creating directory "Debug\\". + Creating directory "Debug\\CompilerIdCXX.tlog\\". + InitializeBuildStatus: + Creating "Debug\\CompilerIdCXX.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified. + ClCompile: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\CL.exe /c /nologo /W0 /WX- /diagnostics:column /Od /Oy- /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\\\" /Fd"Debug\\vc143.pdb" /external:W0 /Gd /TP /analyze- /FC /errorReport:queue CMakeCXXCompilerId.cpp + CMakeCXXCompilerId.cpp + Link: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\link.exe /ERRORREPORT:QUEUE /OUT:".\\CompilerIdCXX.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\\CompilerIdCXX.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\\CompilerIdCXX.lib" /MACHINE:X86 /SAFESEH Debug\\CMakeCXXCompilerId.obj + CompilerIdCXX.vcxproj -> D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\3.26.1\\CompilerIdCXX\\CompilerIdCXX.exe + PostBuildEvent: + for %%i in (cl.exe) do @echo CMAKE_CXX_COMPILER=%%~$PATH:i + :VCEnd + CMAKE_CXX_COMPILER=D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx86\\x86\\cl.exe + FinalizeBuildStatus: + Deleting file "Debug\\CompilerIdCXX.tlog\\unsuccessfulbuild". + Touching "Debug\\CompilerIdCXX.tlog\\CompilerIdCXX.lastbuildstate". + Done Building Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\3.26.1\\CompilerIdCXX\\CompilerIdCXX.vcxproj" (default targets). + + Build succeeded. + 0 Warning(s) + 0 Error(s) + + Time Elapsed 00:00:01.46 + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.exe" + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.vcxproj" + + The CXX compiler identification is MSVC, found in: + D:/CProject/QIUofDSAndOS/build/CMakeFiles/3.26.1/CompilerIdCXX/CompilerIdCXX.exe + + - + kind: "try_compile-v1" + backtrace: + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-zdkszo" + binary: "D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-zdkszo" + cmakeVariables: + CMAKE_C_FLAGS: "/DWIN32 /D_WINDOWS" + CMAKE_C_FLAGS_DEBUG: "/Ob0 /Od /RTC1" + CMAKE_EXE_LINKER_FLAGS: "/machine:X86" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-zdkszo + + Run Build Command(s):D:/VS/IDE/MSBuild/Current/Bin/amd64/MSBuild.exe cmTC_16e71.vcxproj /p:Configuration=Debug /p:Platform=win32 /p:VisualStudioVersion=17.0 /v:n && MSBuild version 17.6.3+07e294721 for .NET Framework + Build started 2023/7/18 22:04:44. + + Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-zdkszo\\cmTC_16e71.vcxproj" on node 1 (default targets). + PrepareForBuild: + Creating directory "cmTC_16e71.dir\\Debug\\". + Creating directory "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-zdkszo\\Debug\\". + Creating directory "cmTC_16e71.dir\\Debug\\cmTC_16e71.tlog\\". + InitializeBuildStatus: + Creating "cmTC_16e71.dir\\Debug\\cmTC_16e71.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified. + ClCompile: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /Oy- /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_16e71.dir\\Debug\\\\" /Fd"cmTC_16e71.dir\\Debug\\vc143.pdb" /external:W1 /Gd /TC /analyze- /errorReport:queue "D:\\Python3.9\\Lib\\site-packages\\cmake\\data\\share\\cmake-3.26\\Modules\\CMakeCCompilerABI.c" + 用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.36.32535 版 + 版权所有(C) Microsoft Corporation。保留所有权利。 + CMakeCCompilerABI.c + cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /Oy- /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_16e71.dir\\Debug\\\\" /Fd"cmTC_16e71.dir\\Debug\\vc143.pdb" /external:W1 /Gd /TC /analyze- /errorReport:queue "D:\\Python3.9\\Lib\\site-packages\\cmake\\data\\share\\cmake-3.26\\Modules\\CMakeCCompilerABI.c" + Link: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\link.exe /ERRORREPORT:QUEUE /OUT:"D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-zdkszo\\Debug\\cmTC_16e71.exe" /INCREMENTAL /ILK:"cmTC_16e71.dir\\Debug\\cmTC_16e71.ilk" /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-zdkszo/Debug/cmTC_16e71.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-zdkszo/Debug/cmTC_16e71.lib" /MACHINE:X86 /SAFESEH /machine:X86 cmTC_16e71.dir\\Debug\\CMakeCCompilerABI.obj + cmTC_16e71.vcxproj -> D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-zdkszo\\Debug\\cmTC_16e71.exe + FinalizeBuildStatus: + Deleting file "cmTC_16e71.dir\\Debug\\cmTC_16e71.tlog\\unsuccessfulbuild". + Touching "cmTC_16e71.dir\\Debug\\cmTC_16e71.tlog\\cmTC_16e71.lastbuildstate". + Done Building Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-zdkszo\\cmTC_16e71.vcxproj" (default targets). + + Build succeeded. + 0 Warning(s) + 0 Error(s) + + Time Elapsed 00:00:01.63 + + exitCode: 0 + - + kind: "try_compile-v1" + backtrace: + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "D:/Python3.9/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-f6hsij" + binary: "D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-f6hsij" + cmakeVariables: + CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /EHsc" + CMAKE_CXX_FLAGS_DEBUG: "/Ob0 /Od /RTC1" + CMAKE_EXE_LINKER_FLAGS: "/machine:X86" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-f6hsij + + Run Build Command(s):D:/VS/IDE/MSBuild/Current/Bin/amd64/MSBuild.exe cmTC_96bc8.vcxproj /p:Configuration=Debug /p:Platform=win32 /p:VisualStudioVersion=17.0 /v:n && MSBuild version 17.6.3+07e294721 for .NET Framework + Build started 2023/7/18 22:04:46. + + Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-f6hsij\\cmTC_96bc8.vcxproj" on node 1 (default targets). + PrepareForBuild: + Creating directory "cmTC_96bc8.dir\\Debug\\". + Creating directory "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-f6hsij\\Debug\\". + Creating directory "cmTC_96bc8.dir\\Debug\\cmTC_96bc8.tlog\\". + InitializeBuildStatus: + Creating "cmTC_96bc8.dir\\Debug\\cmTC_96bc8.tlog\\unsuccessfulbuild" because "AlwaysCreate" was specified. + ClCompile: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\CL.exe /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /Oy- /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_96bc8.dir\\Debug\\\\" /Fd"cmTC_96bc8.dir\\Debug\\vc143.pdb" /external:W1 /Gd /TP /analyze- /errorReport:queue "D:\\Python3.9\\Lib\\site-packages\\cmake\\data\\share\\cmake-3.26\\Modules\\CMakeCXXCompilerABI.cpp" + 用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.36.32535 版 + 版权所有(C) Microsoft Corporation。保留所有权利。 + CMakeCXXCompilerABI.cpp + cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /Oy- /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\\"Debug\\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_96bc8.dir\\Debug\\\\" /Fd"cmTC_96bc8.dir\\Debug\\vc143.pdb" /external:W1 /Gd /TP /analyze- /errorReport:queue "D:\\Python3.9\\Lib\\site-packages\\cmake\\data\\share\\cmake-3.26\\Modules\\CMakeCXXCompilerABI.cpp" + Link: + D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\link.exe /ERRORREPORT:QUEUE /OUT:"D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-f6hsij\\Debug\\cmTC_96bc8.exe" /INCREMENTAL /ILK:"cmTC_96bc8.dir\\Debug\\cmTC_96bc8.ilk" /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-f6hsij/Debug/cmTC_96bc8.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:/CProject/QIUofDSAndOS/build/CMakeFiles/CMakeScratch/TryCompile-f6hsij/Debug/cmTC_96bc8.lib" /MACHINE:X86 /SAFESEH /machine:X86 cmTC_96bc8.dir\\Debug\\CMakeCXXCompilerABI.obj + cmTC_96bc8.vcxproj -> D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-f6hsij\\Debug\\cmTC_96bc8.exe + FinalizeBuildStatus: + Deleting file "cmTC_96bc8.dir\\Debug\\cmTC_96bc8.tlog\\unsuccessfulbuild". + Touching "cmTC_96bc8.dir\\Debug\\cmTC_96bc8.tlog\\cmTC_96bc8.lastbuildstate". + Done Building Project "D:\\CProject\\QIUofDSAndOS\\build\\CMakeFiles\\CMakeScratch\\TryCompile-f6hsij\\cmTC_96bc8.vcxproj" (default targets). + + Build succeeded. + 0 Warning(s) + 0 Error(s) + + Time Elapsed 00:00:01.39 + + exitCode: 0 +... diff --git a/build/CMakeFiles/cmake.check_cache b/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/build/CMakeFiles/generate.stamp.list b/build/CMakeFiles/generate.stamp.list new file mode 100644 index 0000000..3907e46 --- /dev/null +++ b/build/CMakeFiles/generate.stamp.list @@ -0,0 +1 @@ +D:/CProject/QIUofDSAndOS/build/CMakeFiles/generate.stamp diff --git a/cmake-build-debug/.cmake/api/v1/query/cache-v2 b/cmake-build-debug/.cmake/api/v1/query/cache-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/query/cmakeFiles-v1 b/cmake-build-debug/.cmake/api/v1/query/cmakeFiles-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/query/codemodel-v2 b/cmake-build-debug/.cmake/api/v1/query/codemodel-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/query/toolchains-v1 b/cmake-build-debug/.cmake/api/v1/query/toolchains-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/reply/cache-v2-bd2d021087b40663f045.json b/cmake-build-debug/.cmake/api/v1/reply/cache-v2-bd2d021087b40663f045.json new file mode 100644 index 0000000..de28b96 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/cache-v2-bd2d021087b40663f045.json @@ -0,0 +1,1311 @@ +{ + "entries" : + [ + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/addr2line.exe" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/ar.exe" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "d:/CProject/DSAndOS/cmake-build-debug" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "25" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "2" + }, + { + "name" : "CMAKE_COLOR_DIAGNOSTICS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable colored diagnostics throughout." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cmake.exe" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cpack.exe" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/ctest.exe" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/c++.exe" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/gcc-ar.exe" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/gcc-ranlib.exe" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/cc.exe" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/gcc-ar.exe" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/gcc-ranlib.exe" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/dlltool.exe" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "Unknown" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable output of compile commands during generation." + } + ], + "type" : "BOOL", + "value" : "" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GNUtoMS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Convert GNU import libraries to MS format (requires Visual Studio)" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "D:/CProject/DSAndOS" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "C:/Program Files (x86)/DSAndOS" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/ld.exe" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/nm.exe" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/objcopy.exe" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/objdump.exe" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "DSAndOS" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/ranlib.exe" + }, + { + "name" : "CMAKE_RC_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "RC compiler" + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/windres.exe" + }, + { + "name" : "CMAKE_RC_COMPILER_WORKS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_RC_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_RC_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags for Windows Resource Compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/readelf.exe" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "D:/MSYS2/mingw64/bin/strip.exe" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "DSAndOS_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "D:/CProject/DSAndOS/cmake-build-debug" + }, + { + "name" : "DSAndOS_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "DSAndOS_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "D:/CProject/DSAndOS" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-611d6de51b61c340e014.json b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-611d6de51b61c340e014.json new file mode 100644 index 0000000..44ad848 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-611d6de51b61c340e014.json @@ -0,0 +1,160 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.2/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.2/CMakeCCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.2/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/WindowsPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.2/CMakeRCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeRCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-windres.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-C-ABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-CXX-ABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "D:/CProject/DSAndOS/cmake-build-debug", + "source" : "D:/CProject/DSAndOS" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-520dee2cef7b3b8ee3ef.json b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-520dee2cef7b3b8ee3ef.json new file mode 100644 index 0000000..d5ab649 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-520dee2cef7b3b8ee3ef.json @@ -0,0 +1,69 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Debug-d0094a50bb2071803777.json", + "minimumCMakeVersion" : + { + "string" : "3.25" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1 + ] + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "DSAndOS", + "targetIndexes" : + [ + 0, + 1 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "DSAndOS::@6890427a1f51a3e7e1df", + "jsonFile" : "target-DSAndOS-Debug-54fa89b38eeedd21710b.json", + "name" : "DSAndOS", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "DSAndOS2::@6890427a1f51a3e7e1df", + "jsonFile" : "target-DSAndOS2-Debug-2e73eb83e2631ad02f20.json", + "name" : "DSAndOS2", + "projectIndex" : 0 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "D:/CProject/DSAndOS/cmake-build-debug", + "source" : "D:/CProject/DSAndOS" + }, + "version" : + { + "major" : 2, + "minor" : 4 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json b/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/index-2023-07-18T15-06-29-0434.json b/cmake-build-debug/.cmake/api/v1/reply/index-2023-07-18T15-06-29-0434.json new file mode 100644 index 0000000..c7f0c04 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/index-2023-07-18T15-06-29-0434.json @@ -0,0 +1,108 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cmake.exe", + "cpack" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cpack.exe", + "ctest" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/ctest.exe", + "root" : "D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 25, + "patch" : 2, + "string" : "3.25.2", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-520dee2cef7b3b8ee3ef.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "cache-v2-bd2d021087b40663f045.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-611d6de51b61c340e014.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-65efef9c994fa36ae0ed.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-bd2d021087b40663f045.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-611d6de51b61c340e014.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-520dee2cef7b3b8ee3ef.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + "toolchains-v1" : + { + "jsonFile" : "toolchains-v1-65efef9c994fa36ae0ed.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-DSAndOS-Debug-54fa89b38eeedd21710b.json b/cmake-build-debug/.cmake/api/v1/reply/target-DSAndOS-Debug-54fa89b38eeedd21710b.json new file mode 100644 index 0000000..fc4e8f6 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/target-DSAndOS-Debug-54fa89b38eeedd21710b.json @@ -0,0 +1,114 @@ +{ + "artifacts" : + [ + { + "path" : "DSAndOS.exe" + }, + { + "path" : "DSAndOS.pdb" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 6, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g -fdiagnostics-color=always" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1 + ] + } + ], + "id" : "DSAndOS::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "fragment" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "DSAndOS", + "nameOnDisk" : "DSAndOS.exe", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "DSBySelf/2.1.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "DSBySelf/main.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-DSAndOS2-Debug-2e73eb83e2631ad02f20.json b/cmake-build-debug/.cmake/api/v1/reply/target-DSAndOS2-Debug-2e73eb83e2631ad02f20.json new file mode 100644 index 0000000..bb60567 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/target-DSAndOS2-Debug-2e73eb83e2631ad02f20.json @@ -0,0 +1,106 @@ +{ + "artifacts" : + [ + { + "path" : "DSAndOS2.exe" + }, + { + "path" : "DSAndOS2.pdb" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 7, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g -fdiagnostics-color=always" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "DSAndOS2::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "fragment" : "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "DSAndOS2", + "nameOnDisk" : "DSAndOS2.exe", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "DSBySelf/2.1.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-65efef9c994fa36ae0ed.json b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-65efef9c994fa36ae0ed.json new file mode 100644 index 0000000..2d152bb --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-65efef9c994fa36ae0ed.json @@ -0,0 +1,137 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include", + "D:/MSYS2/mingw64/include", + "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed" + ], + "linkDirectories" : + [ + "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0", + "D:/MSYS2/mingw64/lib/gcc", + "D:/MSYS2/mingw64/x86_64-w64-mingw32/lib", + "D:/MSYS2/mingw64/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "mingw32", + "gcc", + "moldname", + "mingwex", + "kernel32", + "pthread", + "advapi32", + "shell32", + "user32", + "kernel32", + "mingw32", + "gcc", + "moldname", + "mingwex", + "kernel32" + ] + }, + "path" : "D:/MSYS2/mingw64/bin/cc.exe", + "version" : "13.1.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "D:/MSYS2/mingw64/include/c++/13.1.0", + "D:/MSYS2/mingw64/include/c++/13.1.0/x86_64-w64-mingw32", + "D:/MSYS2/mingw64/include/c++/13.1.0/backward", + "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include", + "D:/MSYS2/mingw64/include", + "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed" + ], + "linkDirectories" : + [ + "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0", + "D:/MSYS2/mingw64/lib/gcc", + "D:/MSYS2/mingw64/x86_64-w64-mingw32/lib", + "D:/MSYS2/mingw64/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "mingw32", + "gcc_s", + "gcc", + "moldname", + "mingwex", + "kernel32", + "pthread", + "advapi32", + "shell32", + "user32", + "kernel32", + "mingw32", + "gcc_s", + "gcc", + "moldname", + "mingwex", + "kernel32" + ] + }, + "path" : "D:/MSYS2/mingw64/bin/c++.exe", + "version" : "13.1.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm" + ] + }, + { + "compiler" : + { + "implicit" : {}, + "path" : "D:/MSYS2/mingw64/bin/windres.exe" + }, + "language" : "RC", + "sourceFileExtensions" : + [ + "rc", + "RC" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-debug/.ninja_deps b/cmake-build-debug/.ninja_deps new file mode 100644 index 0000000..cebe1fe Binary files /dev/null and b/cmake-build-debug/.ninja_deps differ diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log new file mode 100644 index 0000000..037707a --- /dev/null +++ b/cmake-build-debug/.ninja_log @@ -0,0 +1,6 @@ +# ninja log v5 +289 405 7113919714052289 DSAndOS.exe d180dcdcc675a8a4 +1 454 7113959967058369 CMakeFiles/DSAndOS2.dir/DSBySelf/2.1.cpp.obj 8cde09dd41f03261 +455 639 7113959968874860 DSAndOS2.exe d55d34e0c2c2d86c +3 442 7113960063401296 CMakeFiles/DSAndOS2.dir/DSBySelf/2.1.cpp.obj 8cde09dd41f03261 +443 623 7113960065168085 DSAndOS2.exe d55d34e0c2c2d86c diff --git a/cmake-build-debug/CMakeCache.txt b/cmake-build-debug/CMakeCache.txt new file mode 100644 index 0000000..7fc1b18 --- /dev/null +++ b/cmake-build-debug/CMakeCache.txt @@ -0,0 +1,410 @@ +# This is the CMakeCache file. +# For build in directory: d:/CProject/DSAndOS/cmake-build-debug +# It was generated by CMake: D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cmake.exe +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=D:/MSYS2/mingw64/bin/addr2line.exe + +//Path to a program. +CMAKE_AR:FILEPATH=D:/MSYS2/mingw64/bin/ar.exe + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=D:/MSYS2/mingw64/bin/c++.exe + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=D:/MSYS2/mingw64/bin/gcc-ar.exe + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=D:/MSYS2/mingw64/bin/gcc-ranlib.exe + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + +//C compiler +CMAKE_C_COMPILER:FILEPATH=D:/MSYS2/mingw64/bin/cc.exe + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=D:/MSYS2/mingw64/bin/gcc-ar.exe + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=D:/MSYS2/mingw64/bin/gcc-ranlib.exe + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=D:/MSYS2/mingw64/bin/dlltool.exe + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/pkgRedirects + +//Convert GNU import libraries to MS format (requires Visual Studio) +CMAKE_GNUtoMS:BOOL=OFF + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/DSAndOS + +//Path to a program. +CMAKE_LINKER:FILEPATH=D:/MSYS2/mingw64/bin/ld.exe + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=D:/MSYS2/mingw64/bin/nm.exe + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=D:/MSYS2/mingw64/bin/objcopy.exe + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=D:/MSYS2/mingw64/bin/objdump.exe + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=DSAndOS + +//Path to a program. +CMAKE_RANLIB:FILEPATH=D:/MSYS2/mingw64/bin/ranlib.exe + +//RC compiler +CMAKE_RC_COMPILER:FILEPATH=D:/MSYS2/mingw64/bin/windres.exe + +//Flags for Windows Resource Compiler during all build types. +CMAKE_RC_FLAGS:STRING= + +//Flags for Windows Resource Compiler during DEBUG builds. +CMAKE_RC_FLAGS_DEBUG:STRING= + +//Flags for Windows Resource Compiler during MINSIZEREL builds. +CMAKE_RC_FLAGS_MINSIZEREL:STRING= + +//Flags for Windows Resource Compiler during RELEASE builds. +CMAKE_RC_FLAGS_RELEASE:STRING= + +//Flags for Windows Resource Compiler during RELWITHDEBINFO builds. +CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_READELF:FILEPATH=D:/MSYS2/mingw64/bin/readelf.exe + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=D:/MSYS2/mingw64/bin/strip.exe + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +DSAndOS_BINARY_DIR:STATIC=D:/CProject/DSAndOS/cmake-build-debug + +//Value Computed by CMake +DSAndOS_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +DSAndOS_SOURCE_DIR:STATIC=D:/CProject/DSAndOS + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=d:/CProject/DSAndOS/cmake-build-debug +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cmake.exe +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/cpack.exe +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/bin/ctest.exe +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=D:/CProject/DSAndOS +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_COMPILER +CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_RC_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS +CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG +CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL +CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE +CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO +CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE + diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CMakeCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.25.2/CMakeCCompiler.cmake new file mode 100644 index 0000000..0d22d90 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.2/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "D:/MSYS2/mingw64/bin/cc.exe") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "13.1.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "MinGW") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "D:/MSYS2/mingw64/bin/ar.exe") +set(CMAKE_C_COMPILER_AR "D:/MSYS2/mingw64/bin/gcc-ar.exe") +set(CMAKE_RANLIB "D:/MSYS2/mingw64/bin/ranlib.exe") +set(CMAKE_C_COMPILER_RANLIB "D:/MSYS2/mingw64/bin/gcc-ranlib.exe") +set(CMAKE_LINKER "D:/MSYS2/mingw64/bin/ld.exe") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include;D:/MSYS2/mingw64/include;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "mingw32;gcc;moldname;mingwex;kernel32;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc;moldname;mingwex;kernel32") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0;D:/MSYS2/mingw64/lib/gcc;D:/MSYS2/mingw64/x86_64-w64-mingw32/lib;D:/MSYS2/mingw64/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CMakeCXXCompiler.cmake b/cmake-build-debug/CMakeFiles/3.25.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..acb4272 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.2/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "D:/MSYS2/mingw64/bin/c++.exe") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "13.1.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "MinGW") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "D:/MSYS2/mingw64/bin/ar.exe") +set(CMAKE_CXX_COMPILER_AR "D:/MSYS2/mingw64/bin/gcc-ar.exe") +set(CMAKE_RANLIB "D:/MSYS2/mingw64/bin/ranlib.exe") +set(CMAKE_CXX_COMPILER_RANLIB "D:/MSYS2/mingw64/bin/gcc-ranlib.exe") +set(CMAKE_LINKER "D:/MSYS2/mingw64/bin/ld.exe") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "D:/MSYS2/mingw64/include/c++/13.1.0;D:/MSYS2/mingw64/include/c++/13.1.0/x86_64-w64-mingw32;D:/MSYS2/mingw64/include/c++/13.1.0/backward;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include;D:/MSYS2/mingw64/include;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;mingw32;gcc_s;gcc;moldname;mingwex;kernel32;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc_s;gcc;moldname;mingwex;kernel32") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0;D:/MSYS2/mingw64/lib/gcc;D:/MSYS2/mingw64/x86_64-w64-mingw32/lib;D:/MSYS2/mingw64/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CMakeDetermineCompilerABI_C.bin b/cmake-build-debug/CMakeFiles/3.25.2/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000..0795a9e Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.25.2/CMakeDetermineCompilerABI_C.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-debug/CMakeFiles/3.25.2/CMakeDetermineCompilerABI_CXX.bin new file mode 100644 index 0000000..c073f9f Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.25.2/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CMakeRCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.25.2/CMakeRCCompiler.cmake new file mode 100644 index 0000000..e95373e --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.2/CMakeRCCompiler.cmake @@ -0,0 +1,6 @@ +set(CMAKE_RC_COMPILER "D:/MSYS2/mingw64/bin/windres.exe") +set(CMAKE_RC_COMPILER_ARG1 "") +set(CMAKE_RC_COMPILER_LOADED 1) +set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) +set(CMAKE_RC_OUTPUT_EXTENSION .obj) +set(CMAKE_RC_COMPILER_ENV_VAR "RC") diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CMakeSystem.cmake b/cmake-build-debug/CMakeFiles/3.25.2/CMakeSystem.cmake new file mode 100644 index 0000000..f4f494a --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.2/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Windows-10.0.25905") +set(CMAKE_HOST_SYSTEM_NAME "Windows") +set(CMAKE_HOST_SYSTEM_VERSION "10.0.25905") +set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") + + + +set(CMAKE_SYSTEM "Windows-10.0.25905") +set(CMAKE_SYSTEM_NAME "Windows") +set(CMAKE_SYSTEM_VERSION "10.0.25905") +set(CMAKE_SYSTEM_PROCESSOR "AMD64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdC/CMakeCCompilerId.c b/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..a83e378 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,868 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..c9ba632 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,857 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/cmake-build-debug/CMakeFiles/CMakeOutput.log b/cmake-build-debug/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..9b1b8cf --- /dev/null +++ b/cmake-build-debug/CMakeFiles/CMakeOutput.log @@ -0,0 +1,478 @@ +The system is: Windows - 10.0.25905 - AMD64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: D:/MSYS2/mingw64/bin/cc.exe +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.exe" + +The C compiler identification is GNU, found in "D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdC/a.exe" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: D:/MSYS2/mingw64/bin/c++.exe +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.exe" + +The CXX compiler identification is GNU, found in "D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/3.25.2/CompilerIdCXX/a.exe" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-dquhq5 + +Run Build Command(s):D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe cmTC_1a36d && [1/2] Building C object CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj +Using built-in specs. +COLLECT_GCC=D:\MSYS2\mingw64\bin\cc.exe +Target: x86_64-w64-mingw32 +Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++ +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 13.1.0 (Rev7, Built by MSYS2 project) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_1a36d.dir/' + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_1a36d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\Users\35861\AppData\Local\Temp\ccZkrv4g.s +GNU C17 (Rev7, Built by MSYS2 project) version 13.1.0 (x86_64-w64-mingw32) + compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version 4.2.0-p9, MPC version 1.3.1, isl version isl-0.26-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include" +ignoring nonexistent directory "D:/a/msys64/mingw64/include" +ignoring nonexistent directory "/mingw64/include" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed" +ignoring nonexistent directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include" +ignoring nonexistent directory "D:/a/msys64/mingw64/include" +#include "..." search starts here: +#include <...> search starts here: + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed +End of search list. +Compiler executable checksum: 79cd6bb259be143c9b3acca47f926a3f +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_1a36d.dir/' + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj C:\Users\35861\AppData\Local\Temp\ccZkrv4g.s +GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40 +COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ +LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.' +[2/2] Linking C executable cmTC_1a36d.exe +Using built-in specs. +COLLECT_GCC=D:\MSYS2\mingw64\bin\cc.exe +COLLECT_LTO_WRAPPER=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe +Target: x86_64-w64-mingw32 +Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++ +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 13.1.0 (Rev7, Built by MSYS2 project) +COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ +LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1a36d.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_1a36d.' + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -plugin D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/liblto_plugin.dll -plugin-opt=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\35861\AppData\Local\Temp\cc2ZRmcf.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic -o cmTC_1a36d.exe D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LD:/MSYS2/mingw64/bin/../lib/gcc -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj --out-implib libcmTC_1a36d.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1a36d.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_1a36d.' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + end of search list found + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] ==> [D:/MSYS2/mingw64/include] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + implicit include dirs: [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include;D:/MSYS2/mingw64/include;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-dquhq5] + ignore line: [] + ignore line: [Run Build Command(s):D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe cmTC_1a36d && [1/2] Building C object CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=D:\MSYS2\mingw64\bin\cc.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.1.0 (Rev7 Built by MSYS2 project) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_1a36d.dir/'] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_1a36d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\Users\35861\AppData\Local\Temp\ccZkrv4g.s] + ignore line: [GNU C17 (Rev7 Built by MSYS2 project) version 13.1.0 (x86_64-w64-mingw32)] + ignore line: [ compiled by GNU C version 13.1.0 GMP version 6.2.1 MPFR version 4.2.0-p9 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include"] + ignore line: [ignoring nonexistent directory "D:/a/msys64/mingw64/include"] + ignore line: [ignoring nonexistent directory "/mingw64/include"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed"] + ignore line: [ignoring nonexistent directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include"] + ignore line: [ignoring nonexistent directory "D:/a/msys64/mingw64/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 79cd6bb259be143c9b3acca47f926a3f] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_1a36d.dir/'] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj C:\Users\35861\AppData\Local\Temp\ccZkrv4g.s] + ignore line: [GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40] + ignore line: [COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/] + ignore line: [LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] Linking C executable cmTC_1a36d.exe] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=D:\MSYS2\mingw64\bin\cc.exe] + ignore line: [COLLECT_LTO_WRAPPER=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.1.0 (Rev7 Built by MSYS2 project) ] + ignore line: [COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/] + ignore line: [LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1a36d.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_1a36d.'] + link line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -plugin D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/liblto_plugin.dll -plugin-opt=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\35861\AppData\Local\Temp\cc2ZRmcf.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic -o cmTC_1a36d.exe D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LD:/MSYS2/mingw64/bin/../lib/gcc -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj --out-implib libcmTC_1a36d.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe] ==> ignore + arg [-plugin] ==> ignore + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/liblto_plugin.dll] ==> ignore + arg [-plugin-opt=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe] ==> ignore + arg [-plugin-opt=-fresolution=C:\Users\35861\AppData\Local\Temp\cc2ZRmcf.res] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_eh] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-plugin-opt=-pass-through=-lpthread] ==> ignore + arg [-plugin-opt=-pass-through=-ladvapi32] ==> ignore + arg [-plugin-opt=-pass-through=-lshell32] ==> ignore + arg [-plugin-opt=-pass-through=-luser32] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_eh] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-m] ==> ignore + arg [i386pep] ==> ignore + arg [-Bdynamic] ==> search dynamic + arg [-o] ==> ignore + arg [cmTC_1a36d.exe] ==> ignore + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../..] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../..] + arg [CMakeFiles/cmTC_1a36d.dir/CMakeCCompilerABI.c.obj] ==> ignore + arg [--out-implib] ==> ignore + arg [libcmTC_1a36d.dll.a] ==> ignore + arg [--major-image-version] ==> ignore + arg [0] ==> ignore + arg [--minor-image-version] ==> ignore + arg [0] ==> ignore + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc] ==> lib [gcc] + arg [-lgcc_eh] ==> lib [gcc_eh] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [-lkernel32] ==> lib [kernel32] + arg [-lpthread] ==> lib [pthread] + arg [-ladvapi32] ==> lib [advapi32] + arg [-lshell32] ==> lib [shell32] + arg [-luser32] ==> lib [user32] + arg [-lkernel32] ==> lib [kernel32] + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc] ==> lib [gcc] + arg [-lgcc_eh] ==> lib [gcc_eh] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [-lkernel32] ==> lib [kernel32] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + remove lib [gcc_eh] + remove lib [msvcrt] + remove lib [gcc_eh] + remove lib [msvcrt] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o] ==> [D:/MSYS2/mingw64/lib/crt2.o] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o] ==> [D:/MSYS2/mingw64/lib/default-manifest.o] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc] ==> [D:/MSYS2/mingw64/lib/gcc] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> [D:/MSYS2/mingw64/x86_64-w64-mingw32/lib] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib] ==> [D:/MSYS2/mingw64/lib] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib] ==> [D:/MSYS2/mingw64/x86_64-w64-mingw32/lib] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../..] ==> [D:/MSYS2/mingw64/lib] + implicit libs: [mingw32;gcc;moldname;mingwex;kernel32;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc;moldname;mingwex;kernel32] + implicit objs: [D:/MSYS2/mingw64/lib/crt2.o;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o;D:/MSYS2/mingw64/lib/default-manifest.o;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + implicit dirs: [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0;D:/MSYS2/mingw64/lib/gcc;D:/MSYS2/mingw64/x86_64-w64-mingw32/lib;D:/MSYS2/mingw64/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-s1f4hk + +Run Build Command(s):D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe cmTC_e2022 && [1/2] Building CXX object CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj +Using built-in specs. +COLLECT_GCC=D:\MSYS2\mingw64\bin\c++.exe +Target: x86_64-w64-mingw32 +Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++ +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 13.1.0 (Rev7, Built by MSYS2 project) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_e2022.dir/' + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_e2022.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\Users\35861\AppData\Local\Temp\ccCwqewN.s +GNU C++17 (Rev7, Built by MSYS2 project) version 13.1.0 (x86_64-w64-mingw32) + compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version 4.2.0-p9, MPC version 1.3.1, isl version isl-0.26-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/x86_64-w64-mingw32" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/backward" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include" +ignoring nonexistent directory "D:/a/msys64/mingw64/include" +ignoring nonexistent directory "/mingw64/include" +ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed" +ignoring nonexistent directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include" +ignoring nonexistent directory "D:/a/msys64/mingw64/include" +#include "..." search starts here: +#include <...> search starts here: + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0 + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/x86_64-w64-mingw32 + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/backward + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed +End of search list. +Compiler executable checksum: c73e5656f0f97359fe1dd2b3799d23f3 +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_e2022.dir/' + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj C:\Users\35861\AppData\Local\Temp\ccCwqewN.s +GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40 +COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ +LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.' +[2/2] Linking CXX executable cmTC_e2022.exe +Using built-in specs. +COLLECT_GCC=D:\MSYS2\mingw64\bin\c++.exe +COLLECT_LTO_WRAPPER=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe +Target: x86_64-w64-mingw32 +Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++ +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 13.1.0 (Rev7, Built by MSYS2 project) +COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ +LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;D:/MSYS2/mingw64/bin/../lib/gcc/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e2022.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_e2022.' + D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -plugin D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/liblto_plugin.dll -plugin-opt=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\35861\AppData\Local\Temp\ccIpjcbT.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic -o cmTC_e2022.exe D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LD:/MSYS2/mingw64/bin/../lib/gcc -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj --out-implib libcmTC_e2022.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e2022.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_e2022.' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/x86_64-w64-mingw32] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/backward] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + add: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + end of search list found + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0] ==> [D:/MSYS2/mingw64/include/c++/13.1.0] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/x86_64-w64-mingw32] ==> [D:/MSYS2/mingw64/include/c++/13.1.0/x86_64-w64-mingw32] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/backward] ==> [D:/MSYS2/mingw64/include/c++/13.1.0/backward] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] ==> [D:/MSYS2/mingw64/include] + collapse include dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + implicit include dirs: [D:/MSYS2/mingw64/include/c++/13.1.0;D:/MSYS2/mingw64/include/c++/13.1.0/x86_64-w64-mingw32;D:/MSYS2/mingw64/include/c++/13.1.0/backward;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include;D:/MSYS2/mingw64/include;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-s1f4hk] + ignore line: [] + ignore line: [Run Build Command(s):D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe cmTC_e2022 && [1/2] Building CXX object CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=D:\MSYS2\mingw64\bin\c++.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.1.0 (Rev7 Built by MSYS2 project) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_e2022.dir/'] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_e2022.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\Users\35861\AppData\Local\Temp\ccCwqewN.s] + ignore line: [GNU C++17 (Rev7 Built by MSYS2 project) version 13.1.0 (x86_64-w64-mingw32)] + ignore line: [ compiled by GNU C version 13.1.0 GMP version 6.2.1 MPFR version 4.2.0-p9 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/x86_64-w64-mingw32"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/backward"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include"] + ignore line: [ignoring nonexistent directory "D:/a/msys64/mingw64/include"] + ignore line: [ignoring nonexistent directory "/mingw64/include"] + ignore line: [ignoring duplicate directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed"] + ignore line: [ignoring nonexistent directory "D:/MSYS2/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include"] + ignore line: [ignoring nonexistent directory "D:/a/msys64/mingw64/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/x86_64-w64-mingw32] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include/c++/13.1.0/backward] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../include] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: c73e5656f0f97359fe1dd2b3799d23f3] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_e2022.dir/'] + ignore line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/as.exe -v -o CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj C:\Users\35861\AppData\Local\Temp\ccCwqewN.s] + ignore line: [GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40] + ignore line: [COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/] + ignore line: [LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] Linking CXX executable cmTC_e2022.exe] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=D:\MSYS2\mingw64\bin\c++.exe] + ignore line: [COLLECT_LTO_WRAPPER=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-13.1.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=nocona --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-libssp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev7, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.1.0 (Rev7 Built by MSYS2 project) ] + ignore line: [COMPILER_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/] + ignore line: [LIBRARY_PATH=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e2022.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_e2022.'] + link line: [ D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -plugin D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/liblto_plugin.dll -plugin-opt=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\35861\AppData\Local\Temp\ccIpjcbT.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic -o cmTC_e2022.exe D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LD:/MSYS2/mingw64/bin/../lib/gcc -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj --out-implib libcmTC_e2022.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe] ==> ignore + arg [-plugin] ==> ignore + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/liblto_plugin.dll] ==> ignore + arg [-plugin-opt=D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe] ==> ignore + arg [-plugin-opt=-fresolution=C:\Users\35861\AppData\Local\Temp\ccIpjcbT.res] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-plugin-opt=-pass-through=-lpthread] ==> ignore + arg [-plugin-opt=-pass-through=-ladvapi32] ==> ignore + arg [-plugin-opt=-pass-through=-lshell32] ==> ignore + arg [-plugin-opt=-pass-through=-luser32] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-m] ==> ignore + arg [i386pep] ==> ignore + arg [-Bdynamic] ==> search dynamic + arg [-o] ==> ignore + arg [cmTC_e2022.exe] ==> ignore + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib] + arg [-LD:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../..] ==> dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../..] + arg [CMakeFiles/cmTC_e2022.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore + arg [--out-implib] ==> ignore + arg [libcmTC_e2022.dll.a] ==> ignore + arg [--major-image-version] ==> ignore + arg [0] ==> ignore + arg [--minor-image-version] ==> ignore + arg [0] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [-lkernel32] ==> lib [kernel32] + arg [-lpthread] ==> lib [pthread] + arg [-ladvapi32] ==> lib [advapi32] + arg [-lshell32] ==> lib [shell32] + arg [-luser32] ==> lib [user32] + arg [-lkernel32] ==> lib [kernel32] + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [-lkernel32] ==> lib [kernel32] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o] + arg [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] ==> obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + remove lib [msvcrt] + remove lib [msvcrt] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/crt2.o] ==> [D:/MSYS2/mingw64/lib/crt2.o] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/default-manifest.o] ==> [D:/MSYS2/mingw64/lib/default-manifest.o] + collapse obj [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0] ==> [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc] ==> [D:/MSYS2/mingw64/lib/gcc] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> [D:/MSYS2/mingw64/x86_64-w64-mingw32/lib] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib] ==> [D:/MSYS2/mingw64/lib] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib] ==> [D:/MSYS2/mingw64/x86_64-w64-mingw32/lib] + collapse library dir [D:/MSYS2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../..] ==> [D:/MSYS2/mingw64/lib] + implicit libs: [stdc++;mingw32;gcc_s;gcc;moldname;mingwex;kernel32;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc_s;gcc;moldname;mingwex;kernel32] + implicit objs: [D:/MSYS2/mingw64/lib/crt2.o;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o;D:/MSYS2/mingw64/lib/default-manifest.o;D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o] + implicit dirs: [D:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0;D:/MSYS2/mingw64/lib/gcc;D:/MSYS2/mingw64/x86_64-w64-mingw32/lib;D:/MSYS2/mingw64/lib] + implicit fwks: [] + + diff --git a/cmake-build-debug/CMakeFiles/TargetDirectories.txt b/cmake-build-debug/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..6713d07 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,4 @@ +D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/DSAndOS.dir +D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/DSAndOS2.dir +D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/edit_cache.dir +D:/CProject/DSAndOS/cmake-build-debug/CMakeFiles/rebuild_cache.dir diff --git a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt new file mode 100644 index 0000000..da718a4 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt @@ -0,0 +1,4 @@ +D:\JetBrains\Toolbox\apps\CLion\ch-0\231.9225.21\bin\cmake\win\x64\bin\cmake.exe -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe -G Ninja -S D:\CProject\DSAndOS -B D:\CProject\DSAndOS\cmake-build-debug +-- Configuring done +-- Generating done +-- Build files have been written to: D:/CProject/DSAndOS/cmake-build-debug diff --git a/cmake-build-debug/CMakeFiles/clion-environment.txt b/cmake-build-debug/CMakeFiles/clion-environment.txt new file mode 100644 index 0000000..10a1860 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/clion-environment.txt @@ -0,0 +1,4 @@ +ToolSet: w64 12.0 (local)@D:\MSYS2\mingw64 +Options: + +Options:-DCMAKE_MAKE_PROGRAM=D:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/ninja/win/x64/ninja.exe diff --git a/cmake-build-debug/CMakeFiles/cmake.check_cache b/cmake-build-debug/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/cmake-build-debug/CMakeFiles/rules.ninja b/cmake-build-debug/CMakeFiles/rules.ninja new file mode 100644 index 0000000..3a7da4f --- /dev/null +++ b/cmake-build-debug/CMakeFiles/rules.ninja @@ -0,0 +1,83 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: DSAndOS +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__DSAndOS_Debug + depfile = $DEP_FILE + deps = gcc + command = D:\MSYS2\mingw64\bin\c++.exe $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__DSAndOS_Debug + command = cmd.exe /C "$PRE_LINK && D:\MSYS2\mingw64\bin\c++.exe $FLAGS $LINK_FLAGS $in -o $TARGET_FILE -Wl,--out-implib,$TARGET_IMPLIB -Wl,--major-image-version,0,--minor-image-version,0 $LINK_PATH $LINK_LIBRARIES && $POST_BUILD" + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__DSAndOS2_Debug + depfile = $DEP_FILE + deps = gcc + command = D:\MSYS2\mingw64\bin\c++.exe $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__DSAndOS2_Debug + command = cmd.exe /C "$PRE_LINK && D:\MSYS2\mingw64\bin\c++.exe $FLAGS $LINK_FLAGS $in -o $TARGET_FILE -Wl,--out-implib,$TARGET_IMPLIB -Wl,--major-image-version,0,--minor-image-version,0 $LINK_PATH $LINK_LIBRARIES && $POST_BUILD" + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = D:\JetBrains\Toolbox\apps\CLion\ch-0\231.9225.21\bin\cmake\win\x64\bin\cmake.exe --regenerate-during-build -SD:\CProject\DSAndOS -BD:\CProject\DSAndOS\cmake-build-debug + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = D:\JetBrains\Toolbox\apps\CLion\ch-0\231.9225.21\bin\ninja\win\x64\ninja.exe $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = D:\JetBrains\Toolbox\apps\CLion\ch-0\231.9225.21\bin\ninja\win\x64\ninja.exe -t targets + description = All primary targets available: + diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log new file mode 100644 index 0000000..a5232f6 --- /dev/null +++ b/cmake-build-debug/Testing/Temporary/LastTest.log @@ -0,0 +1,3 @@ +Start testing: Jul 18 23:06 China Standard Time +---------------------------------------------------------- +End testing: Jul 18 23:06 China Standard Time diff --git a/cmake-build-debug/build.ninja b/cmake-build-debug/build.ninja new file mode 100644 index 0000000..33b137c --- /dev/null +++ b/cmake-build-debug/build.ninja @@ -0,0 +1,187 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: DSAndOS +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = D$:/CProject/DSAndOS/cmake-build-debug/ +# ============================================================================= +# Object build statements for EXECUTABLE target DSAndOS + + +############################################# +# Order-only phony target for DSAndOS + +build cmake_object_order_depends_target_DSAndOS: phony || CMakeFiles/DSAndOS.dir + +build CMakeFiles/DSAndOS.dir/DSBySelf/2.1.cpp.obj: CXX_COMPILER__DSAndOS_Debug D$:/CProject/DSAndOS/DSBySelf/2.1.cpp || cmake_object_order_depends_target_DSAndOS + DEP_FILE = CMakeFiles\DSAndOS.dir\DSBySelf\2.1.cpp.obj.d + FLAGS = -g -fdiagnostics-color=always + OBJECT_DIR = CMakeFiles\DSAndOS.dir + OBJECT_FILE_DIR = CMakeFiles\DSAndOS.dir\DSBySelf + +build CMakeFiles/DSAndOS.dir/DSBySelf/main.cpp.obj: CXX_COMPILER__DSAndOS_Debug D$:/CProject/DSAndOS/DSBySelf/main.cpp || cmake_object_order_depends_target_DSAndOS + DEP_FILE = CMakeFiles\DSAndOS.dir\DSBySelf\main.cpp.obj.d + FLAGS = -g -fdiagnostics-color=always + OBJECT_DIR = CMakeFiles\DSAndOS.dir + OBJECT_FILE_DIR = CMakeFiles\DSAndOS.dir\DSBySelf + + +# ============================================================================= +# Link build statements for EXECUTABLE target DSAndOS + + +############################################# +# Link the executable DSAndOS.exe + +build DSAndOS.exe: CXX_EXECUTABLE_LINKER__DSAndOS_Debug CMakeFiles/DSAndOS.dir/DSBySelf/2.1.cpp.obj CMakeFiles/DSAndOS.dir/DSBySelf/main.cpp.obj + FLAGS = -g + LINK_LIBRARIES = -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + OBJECT_DIR = CMakeFiles\DSAndOS.dir + POST_BUILD = cd . + PRE_LINK = cd . + TARGET_FILE = DSAndOS.exe + TARGET_IMPLIB = libDSAndOS.dll.a + TARGET_PDB = DSAndOS.exe.dbg + +# ============================================================================= +# Object build statements for EXECUTABLE target DSAndOS2 + + +############################################# +# Order-only phony target for DSAndOS2 + +build cmake_object_order_depends_target_DSAndOS2: phony || CMakeFiles/DSAndOS2.dir + +build CMakeFiles/DSAndOS2.dir/DSBySelf/2.1.cpp.obj: CXX_COMPILER__DSAndOS2_Debug D$:/CProject/DSAndOS/DSBySelf/2.1.cpp || cmake_object_order_depends_target_DSAndOS2 + DEP_FILE = CMakeFiles\DSAndOS2.dir\DSBySelf\2.1.cpp.obj.d + FLAGS = -g -fdiagnostics-color=always + OBJECT_DIR = CMakeFiles\DSAndOS2.dir + OBJECT_FILE_DIR = CMakeFiles\DSAndOS2.dir\DSBySelf + + +# ============================================================================= +# Link build statements for EXECUTABLE target DSAndOS2 + + +############################################# +# Link the executable DSAndOS2.exe + +build DSAndOS2.exe: CXX_EXECUTABLE_LINKER__DSAndOS2_Debug CMakeFiles/DSAndOS2.dir/DSBySelf/2.1.cpp.obj + FLAGS = -g + LINK_LIBRARIES = -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + OBJECT_DIR = CMakeFiles\DSAndOS2.dir + POST_BUILD = cd . + PRE_LINK = cd . + TARGET_FILE = DSAndOS2.exe + TARGET_IMPLIB = libDSAndOS2.dll.a + TARGET_PDB = DSAndOS2.exe.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cmd.exe /C "cd /D D:\CProject\DSAndOS\cmake-build-debug && D:\JetBrains\Toolbox\apps\CLion\ch-0\231.9225.21\bin\cmake\win\x64\bin\cmake.exe -E echo "No interactive CMake dialog available."" + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cmd.exe /C "cd /D D:\CProject\DSAndOS\cmake-build-debug && D:\JetBrains\Toolbox\apps\CLion\ch-0\231.9225.21\bin\cmake\win\x64\bin\cmake.exe --regenerate-during-build -SD:\CProject\DSAndOS -BD:\CProject\DSAndOS\cmake-build-debug" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +build DSAndOS: phony DSAndOS.exe + +build DSAndOS2: phony DSAndOS2.exe + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: D:/CProject/DSAndOS/cmake-build-debug + +build all: phony DSAndOS.exe DSAndOS2.exe + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | CMakeCache.txt CMakeFiles/3.25.2/CMakeCCompiler.cmake CMakeFiles/3.25.2/CMakeCXXCompiler.cmake CMakeFiles/3.25.2/CMakeRCCompiler.cmake CMakeFiles/3.25.2/CMakeSystem.cmake D$:/CProject/DSAndOS/CMakeLists.txt D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCXXInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeGenericSystem.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeRCInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU-C.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-C-ABI.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-C.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-CXX-ABI.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-CXX.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-windres.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/WindowsPaths.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build CMakeCache.txt CMakeFiles/3.25.2/CMakeCCompiler.cmake CMakeFiles/3.25.2/CMakeCXXCompiler.cmake CMakeFiles/3.25.2/CMakeRCCompiler.cmake CMakeFiles/3.25.2/CMakeSystem.cmake D$:/CProject/DSAndOS/CMakeLists.txt D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCXXInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeGenericSystem.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeRCInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU-C.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Compiler/GNU.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-C-ABI.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-C.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-CXX-ABI.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU-CXX.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-GNU.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows-windres.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/Windows.cmake D$:/JetBrains/Toolbox/apps/CLion/ch-0/231.9225.21/bin/cmake/win/x64/share/cmake-3.25/Modules/Platform/WindowsPaths.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-debug/cmake_install.cmake b/cmake-build-debug/cmake_install.cmake new file mode 100644 index 0000000..63938e9 --- /dev/null +++ b/cmake-build-debug/cmake_install.cmake @@ -0,0 +1,49 @@ +# Install script for directory: D:/CProject/DSAndOS + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/DSAndOS") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "D:/MSYS2/mingw64/bin/objdump.exe") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "D:/CProject/DSAndOS/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/convert.jar b/convert.jar new file mode 100644 index 0000000..b2895cf Binary files /dev/null and b/convert.jar differ diff --git a/out/build/x64-Debug/.cmake/api/v1/query/client-MicrosoftVS/query.json b/out/build/x64-Debug/.cmake/api/v1/query/client-MicrosoftVS/query.json new file mode 100644 index 0000000..7d776af --- /dev/null +++ b/out/build/x64-Debug/.cmake/api/v1/query/client-MicrosoftVS/query.json @@ -0,0 +1 @@ +{"requests":[{"kind":"cache","version":2},{"kind":"cmakeFiles","version":1},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1}]} \ No newline at end of file diff --git a/out/build/x64-Debug/CMakeCache.txt b/out/build/x64-Debug/CMakeCache.txt new file mode 100644 index 0000000..896c7f7 --- /dev/null +++ b/out/build/x64-Debug/CMakeCache.txt @@ -0,0 +1,379 @@ +# This is the CMakeCache file. +# For build in directory: d:/CProject/QIUofDSAndOS/out/build/x64-Debug +# It was generated by CMake: D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=CMAKE_ADDR2LINE-NOTFOUND + +//Path to a program. +CMAKE_AR:FILEPATH=D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/lib.exe + +//No help, variable specified on the command line. +CMAKE_BUILD_TYPE:STRING=Debug + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING= + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING= + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib + +//C compiler +CMAKE_C_COMPILER:FILEPATH=D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING= + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING= + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/pkgRedirects + +//No help, variable specified on the command line. +CMAKE_INSTALL_PREFIX:PATH=D:/CProject/QIUofDSAndOS/out/install/x64-Debug + +//Path to a program. +CMAKE_LINKER:FILEPATH=D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/link.exe + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=D:\VS\IDE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_MT:FILEPATH=D:/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe + +//Path to a program. +CMAKE_NM:FILEPATH=CMAKE_NM-NOTFOUND + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=CMAKE_OBJDUMP-NOTFOUND + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=DSAndOS + +//RC compiler +CMAKE_RC_COMPILER:FILEPATH=D:/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe + +//Flags for Windows Resource Compiler during all build types. +CMAKE_RC_FLAGS:STRING=-DWIN32 + +//Flags for Windows Resource Compiler during DEBUG builds. +CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG + +//Flags for Windows Resource Compiler during MINSIZEREL builds. +CMAKE_RC_FLAGS_MINSIZEREL:STRING= + +//Flags for Windows Resource Compiler during RELEASE builds. +CMAKE_RC_FLAGS_RELEASE:STRING= + +//Flags for Windows Resource Compiler during RELWITHDEBINFO builds. +CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_READELF:FILEPATH=CMAKE_READELF-NOTFOUND + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=CMAKE_STRIP-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +DSAndOS_BINARY_DIR:STATIC=D:/CProject/QIUofDSAndOS/out/build/x64-Debug + +//Value Computed by CMake +DSAndOS_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +DSAndOS_SOURCE_DIR:STATIC=D:/CProject/QIUofDSAndOS + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=d:/CProject/QIUofDSAndOS/out/build/x64-Debug +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=26 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=D:/CProject/QIUofDSAndOS +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MT +CMAKE_MT-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//noop for ranlib +CMAKE_RANLIB:INTERNAL=: +//ADVANCED property for variable: CMAKE_RC_COMPILER +CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_RC_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS +CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG +CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL +CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE +CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO +CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeCCompiler.cmake b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeCCompiler.cmake new file mode 100644 index 0000000..cdd8bed --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "MSVC") +set(CMAKE_C_COMPILER_VERSION "19.36.32535.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "OFF") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "") + +set(CMAKE_C_PLATFORM_ID "Windows") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "MSVC") +set(CMAKE_C_SIMULATE_VERSION "") +set(CMAKE_C_COMPILER_ARCHITECTURE_ID x64) + +set(MSVC_C_ARCHITECTURE_ID x64) + +set(CMAKE_AR "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/lib.exe") +set(CMAKE_C_COMPILER_AR "") +set(CMAKE_RANLIB ":") +set(CMAKE_C_COMPILER_RANLIB "") +set(CMAKE_LINKER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/link.exe") +set(CMAKE_MT "D:/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "注意: 包含文件: ") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeCXXCompiler.cmake b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..a40ea3f --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "MSVC") +set(CMAKE_CXX_COMPILER_VERSION "19.36.32535.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "OFF") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Windows") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "MSVC") +set(CMAKE_CXX_SIMULATE_VERSION "") +set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID x64) + +set(MSVC_CXX_ARCHITECTURE_ID x64) + +set(CMAKE_AR "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/lib.exe") +set(CMAKE_CXX_COMPILER_AR "") +set(CMAKE_RANLIB ":") +set(CMAKE_CXX_COMPILER_RANLIB "") +set(CMAKE_LINKER "D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/link.exe") +set(CMAKE_MT "D:/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "注意: 包含文件: ") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeDetermineCompilerABI_C.bin b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000..41746a7 Binary files /dev/null and b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeDetermineCompilerABI_C.bin differ diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeDetermineCompilerABI_CXX.bin b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeDetermineCompilerABI_CXX.bin new file mode 100644 index 0000000..6c587f3 Binary files /dev/null and b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeRCCompiler.cmake b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeRCCompiler.cmake new file mode 100644 index 0000000..fbc754d --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeRCCompiler.cmake @@ -0,0 +1,6 @@ +set(CMAKE_RC_COMPILER "D:/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe") +set(CMAKE_RC_COMPILER_ARG1 "") +set(CMAKE_RC_COMPILER_LOADED 1) +set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) +set(CMAKE_RC_OUTPUT_EXTENSION .res) +set(CMAKE_RC_COMPILER_ENV_VAR "RC") diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeSystem.cmake b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeSystem.cmake new file mode 100644 index 0000000..f4f494a --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Windows-10.0.25905") +set(CMAKE_HOST_SYSTEM_NAME "Windows") +set(CMAKE_HOST_SYSTEM_VERSION "10.0.25905") +set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") + + + +set(CMAKE_SYSTEM "Windows-10.0.25905") +set(CMAKE_SYSTEM_NAME "Windows") +set(CMAKE_SYSTEM_VERSION "10.0.25905") +set(CMAKE_SYSTEM_PROCESSOR "AMD64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdC/CMakeCCompilerId.c b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..88155ff --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,866 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..746b167 --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,855 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/out/build/x64-Debug/CMakeFiles/CMakeConfigureLog.yaml b/out/build/x64-Debug/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..68a74f0 --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,565 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineSystem.cmake:204 (message)" + - "CMakeLists.txt:2 (project)" + message: | + The system is: Windows - 10.0.25905 - AMD64 + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -c + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -Aa + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -D__CLASSIC_C__ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: --target=arm-arm-none-eabi;-mcpu=cortex-m3 + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -c;-I__does_not_exist__ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -c + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -Aa + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -D__CLASSIC_C__ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: --target=arm-arm-none-eabi;-mcpu=cortex-m3 + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. + Compiler: CMAKE_C_COMPILER-NOTFOUND + Build flags: + Id flags: -c;-I__does_not_exist__ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: -c + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: --c++ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: --ec++ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: --target=arm-arm-none-eabi;-mcpu=cortex-m3 + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: -c;-I__does_not_exist__ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: -c + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: --c++ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: --ec++ + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: --target=arm-arm-none-eabi;-mcpu=cortex-m3 + + The output was: + The system cannot find the file specified + + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. + Compiler: CMAKE_CXX_COMPILER-NOTFOUND + Build flags: + Id flags: -c;-I__does_not_exist__ + + The output was: + The system cannot find the file specified + + +... + +--- +events: + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe + Build flags: + Id flags: + + The output was: + 0 + 用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.36.32535 版 + 版权所有(C) Microsoft Corporation。保留所有权利。 + + CMakeCCompilerId.c + Microsoft (R) Incremental Linker Version 14.36.32535.0 + Copyright (C) Microsoft Corporation. All rights reserved. + + /out:CMakeCCompilerId.exe + CMakeCCompilerId.obj + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.exe" + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.obj" + + The C compiler identification is MSVC, found in: + D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdC/CMakeCCompilerId.exe + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:1153 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:221 (CMAKE_DETERMINE_MSVC_SHOWINCLUDES_PREFIX)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Detecting C compiler /showIncludes prefix: + main.c + 注意: 包含文件: D:\\CProject\\QIUofDSAndOS\\out\\build\\x64-Debug\\CMakeFiles\\ShowIncludes\\foo.h + + Found prefix "注意: 包含文件: " + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: D:/VS/IDE/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe + Build flags: + Id flags: + + The output was: + 0 + 用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.36.32535 版 + 版权所有(C) Microsoft Corporation。保留所有权利。 + + CMakeCXXCompilerId.cpp + Microsoft (R) Incremental Linker Version 14.36.32535.0 + Copyright (C) Microsoft Corporation. All rights reserved. + + /out:CMakeCXXCompilerId.exe + CMakeCXXCompilerId.obj + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.exe" + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.obj" + + The CXX compiler identification is MSVC, found in: + D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/3.26.0-msvc3/CompilerIdCXX/CMakeCXXCompilerId.exe + + - + kind: "message-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:1153 (message)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:221 (CMAKE_DETERMINE_MSVC_SHOWINCLUDES_PREFIX)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Detecting CXX compiler /showIncludes prefix: + main.c + 注意: 包含文件: D:\\CProject\\QIUofDSAndOS\\out\\build\\x64-Debug\\CMakeFiles\\ShowIncludes\\foo.h + + Found prefix "注意: 包含文件: " + - + kind: "try_compile-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/CMakeScratch/TryCompile-ajivec" + binary: "D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/CMakeScratch/TryCompile-ajivec" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/CMakeScratch/TryCompile-ajivec + + Run Build Command(s):D:\\VS\\IDE\\COMMON7\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\Ninja\\ninja.exe -v cmTC_cc3c9 && [1/2] D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64\\cl.exe /nologo -MDd -Zi /showIncludes /FoCMakeFiles\\cmTC_cc3c9.dir\\CMakeCCompilerABI.c.obj /FdCMakeFiles\\cmTC_cc3c9.dir\\ /FS -c D:\\VS\\IDE\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\share\\cmake-3.26\\Modules\\CMakeCCompilerABI.c + [2/2] cmd.exe /C "cd . && D:\\VS\\IDE\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin\\cmake.exe -E vs_link_exe --intdir=CMakeFiles\\cmTC_cc3c9.dir --rc=D:\\WINDOW~2\\10\\bin\\100190~1.0\\x64\\rc.exe --mt=D:\\WINDOW~2\\10\\bin\\100190~1.0\\x64\\mt.exe --manifests -- D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64\\link.exe /nologo CMakeFiles\\cmTC_cc3c9.dir\\CMakeCCompilerABI.c.obj /out:cmTC_cc3c9.exe /implib:cmTC_cc3c9.lib /pdb:cmTC_cc3c9.pdb /version:0.0 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." + + exitCode: 0 + - + kind: "try_compile-v1" + backtrace: + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "D:/VS/IDE/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/CMakeScratch/TryCompile-wdi8oo" + binary: "D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/CMakeScratch/TryCompile-wdi8oo" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: D:/CProject/QIUofDSAndOS/out/build/x64-Debug/CMakeFiles/CMakeScratch/TryCompile-wdi8oo + + Run Build Command(s):D:\\VS\\IDE\\COMMON7\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\Ninja\\ninja.exe -v cmTC_69803 && [1/2] D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64\\cl.exe /nologo /TP -MDd -Zi /showIncludes /FoCMakeFiles\\cmTC_69803.dir\\CMakeCXXCompilerABI.cpp.obj /FdCMakeFiles\\cmTC_69803.dir\\ /FS -c D:\\VS\\IDE\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\share\\cmake-3.26\\Modules\\CMakeCXXCompilerABI.cpp + [2/2] cmd.exe /C "cd . && D:\\VS\\IDE\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin\\cmake.exe -E vs_link_exe --intdir=CMakeFiles\\cmTC_69803.dir --rc=D:\\WINDOW~2\\10\\bin\\100190~1.0\\x64\\rc.exe --mt=D:\\WINDOW~2\\10\\bin\\100190~1.0\\x64\\mt.exe --manifests -- D:\\VS\\IDE\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64\\link.exe /nologo CMakeFiles\\cmTC_69803.dir\\CMakeCXXCompilerABI.cpp.obj /out:cmTC_69803.exe /implib:cmTC_69803.lib /pdb:cmTC_69803.pdb /version:0.0 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." + + exitCode: 0 +... diff --git a/out/build/x64-Debug/CMakeFiles/ShowIncludes/foo.h b/out/build/x64-Debug/CMakeFiles/ShowIncludes/foo.h new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/ShowIncludes/foo.h @@ -0,0 +1 @@ + diff --git a/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.c b/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.c new file mode 100644 index 0000000..cd3cbc1 --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/ShowIncludes/main.c @@ -0,0 +1,2 @@ +#include "foo.h" +int main(){} diff --git a/out/build/x64-Debug/CMakeFiles/cmake.check_cache b/out/build/x64-Debug/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/out/build/x64-Debug/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/out/build/x64-Debug/VSInheritEnvironments.txt b/out/build/x64-Debug/VSInheritEnvironments.txt new file mode 100644 index 0000000..99e61f5 --- /dev/null +++ b/out/build/x64-Debug/VSInheritEnvironments.txt @@ -0,0 +1 @@ +msvc_x64_x64