From c20bdc46f34fe80649f841a77833ae2ad45a16d7 Mon Sep 17 00:00:00 2001 From: Kevin Bogusch Date: Tue, 24 Dec 2024 10:19:33 -0500 Subject: [PATCH] Added clang compilation syntax --- week4/day4.ipynb | 190 +++++++++++++++++++++++------------------------ 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/week4/day4.ipynb b/week4/day4.ipynb index 32f4ffb..e8c0419 100644 --- a/week4/day4.ipynb +++ b/week4/day4.ipynb @@ -453,101 +453,6 @@ "ui.launch(inbrowser=True)" ] }, - { - "cell_type": "code", - "execution_count": 113, - "id": "e42286bc-085c-45dc-b101-234308e58269", - "metadata": {}, - "outputs": [], - "source": [ - "import platform\n", - "\n", - "VISUAL_STUDIO_2022_TOOLS = \"C:\\\\Program Files\\\\Microsoft Visual Studio\\\\2022\\\\Community\\\\Common7\\Tools\\\\VsDevCmd.bat\"\n", - "VISUAL_STUDIO_2019_TOOLS = \"C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\BuildTools\\\\Common7\\\\Tools\\\\VsDevCmd.bat\"\n", - "\n", - "simple_cpp = \"\"\"\n", - "#include \n", - "\n", - "int main() {\n", - " std::cout << \"Hello\";\n", - " return 0;\n", - "}\n", - "\"\"\"\n", - "\n", - "def run_cmd(command_to_run):\n", - " try:\n", - " run_result = subprocess.run(command_to_run, check=True, text=True, capture_output=True)\n", - " return run_result.stdout if run_result.stdout else \"SUCCESS\"\n", - " except:\n", - " return \"\"\n", - "\n", - "def c_compiler_cmd(filename_base):\n", - " my_platform = platform.system()\n", - " my_compiler = []\n", - "\n", - " try:\n", - " with open(\"simple.cpp\", \"w\") as f:\n", - " f.write(simple_cpp)\n", - " \n", - " if my_platform == \"Windows\":\n", - " if os.path.isfile(VISUAL_STUDIO_2022_TOOLS):\n", - " if os.path.isfile(\"./simple.exe\"):\n", - " os.remove(\"./simple.exe\")\n", - " compile_cmd = [\"cmd\", \"/c\", VISUAL_STUDIO_2022_TOOLS, \"&\", \"cl\", \"simple.cpp\"]\n", - " if run_cmd(compile_cmd):\n", - " if run_cmd([\"./simple\"]) == \"Hello\":\n", - " my_compiler = [\"Windows\", \"Visual Studio 2022\", [\"cmd\", \"/c\", VISUAL_STUDIO_2022_TOOLS, \"&\", \"cl\", f\"{filename_base}.cpp\"]]\n", - " \n", - " if not my_compiler:\n", - " if os.path.isfile(VISUAL_STUDIO_2019_TOOLS):\n", - " if os.path.isfile(\"./simple.exe\"):\n", - " os.remove(\"./simple.exe\")\n", - " compile_cmd = [\"cmd\", \"/c\", VISUAL_STUDIO_2019_TOOLS, \"&\", \"cl\", \"simple.cpp\"]\n", - " if run_cmd(compile_cmd):\n", - " if run_cmd([\"./simple\"]) == \"Hello\":\n", - " my_compiler = [\"Windows\", \"Visual Studio 2019\", [\"cmd\", \"/c\", VISUAL_STUDIO_2019_TOOLS, \"&\", \"cl\", f\"{filename_base}.cpp\"]]\n", - " \n", - " if not my_compiler:\n", - " my_compiler=[my_platform, \"Unavailable\", []]\n", - " \n", - " elif my_platform == \"Linux\":\n", - " if os.path.isfile(\"./simple\"):\n", - " os.remove(\"./simple\")\n", - " compile_cmd = [\"g++\", \"simple.cpp\", \"-o\", \"simple\"]\n", - " if run_cmd(compile_cmd):\n", - " if run_cmd([\"./simple\"]) == \"Hello\":\n", - " my_compiler = [\"Linux\", \"GCC\", [\"g++\", f\"{filename_base}.cpp\", \"-o\", f\"{filename_base}\" ]]\n", - " \n", - " if not my_compiler:\n", - " if os.path.isfile(\"./simple\"):\n", - " os.remove(\"./simple\")\n", - " compile_cmd = [\"clang\", \"simple.cpp\", \"-o\", \"simple\"]\n", - " if run_cmd(compile_cmd):\n", - " if run_cmd([\"./simple\"]) == \"Hello\":\n", - " my_compiler = [\"Linux\", \"CLang\", [\"clang\", f\"{filename_base}.cpp\", \"-o\", f\"{filename_base}\"]]\n", - " \n", - " if not my_compiler:\n", - " my_compiler=[my_platform, \"Unavailable\", []]\n", - " \n", - " elif my_platform == \"Darwin\":\n", - " if os.path.isfile(\"./simple\"):\n", - " os.remove(\"./simple\")\n", - " compile_cmd = [\"gcc\", \"simple.cpp\"]\n", - " if run_cmd(compile_cmd):\n", - " if run_cmd([\"./simple\"]) == \"Hello\":\n", - " my_compiler = [\"Linux\", \"CLang\", [\"clang++\", \"-Ofast\", \"-std=c++17\", \"-march=armv8.5-a\", \"-mtune=apple-m1\", \"-mcpu=apple-m1\", \"-o\", f\"{filename_base}\", f\"{filename_base}.cpp\"]]\n", - " \n", - " if not my_compiler:\n", - " my_compiler=[my_platform, \"Unavailable\", []]\n", - " except:\n", - " my_compiler=[my_platform, \"Unavailable\", []]\n", - " \n", - " if my_compiler:\n", - " return my_compiler\n", - " else:\n", - " return [\"Unknown\", \"Unavailable\", []]\n" - ] - }, { "cell_type": "code", "execution_count": null, @@ -751,6 +656,101 @@ " return \"Type your Python program here\"" ] }, + { + "cell_type": "code", + "execution_count": 113, + "id": "e42286bc-085c-45dc-b101-234308e58269", + "metadata": {}, + "outputs": [], + "source": [ + "import platform\n", + "\n", + "VISUAL_STUDIO_2022_TOOLS = \"C:\\\\Program Files\\\\Microsoft Visual Studio\\\\2022\\\\Community\\\\Common7\\Tools\\\\VsDevCmd.bat\"\n", + "VISUAL_STUDIO_2019_TOOLS = \"C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\BuildTools\\\\Common7\\\\Tools\\\\VsDevCmd.bat\"\n", + "\n", + "simple_cpp = \"\"\"\n", + "#include \n", + "\n", + "int main() {\n", + " std::cout << \"Hello\";\n", + " return 0;\n", + "}\n", + "\"\"\"\n", + "\n", + "def run_cmd(command_to_run):\n", + " try:\n", + " run_result = subprocess.run(command_to_run, check=True, text=True, capture_output=True)\n", + " return run_result.stdout if run_result.stdout else \"SUCCESS\"\n", + " except:\n", + " return \"\"\n", + "\n", + "def c_compiler_cmd(filename_base):\n", + " my_platform = platform.system()\n", + " my_compiler = []\n", + "\n", + " try:\n", + " with open(\"simple.cpp\", \"w\") as f:\n", + " f.write(simple_cpp)\n", + " \n", + " if my_platform == \"Windows\":\n", + " if os.path.isfile(VISUAL_STUDIO_2022_TOOLS):\n", + " if os.path.isfile(\"./simple.exe\"):\n", + " os.remove(\"./simple.exe\")\n", + " compile_cmd = [\"cmd\", \"/c\", VISUAL_STUDIO_2022_TOOLS, \"&\", \"cl\", \"simple.cpp\"]\n", + " if run_cmd(compile_cmd):\n", + " if run_cmd([\"./simple\"]) == \"Hello\":\n", + " my_compiler = [\"Windows\", \"Visual Studio 2022\", [\"cmd\", \"/c\", VISUAL_STUDIO_2022_TOOLS, \"&\", \"cl\", f\"{filename_base}.cpp\"]]\n", + " \n", + " if not my_compiler:\n", + " if os.path.isfile(VISUAL_STUDIO_2019_TOOLS):\n", + " if os.path.isfile(\"./simple.exe\"):\n", + " os.remove(\"./simple.exe\")\n", + " compile_cmd = [\"cmd\", \"/c\", VISUAL_STUDIO_2019_TOOLS, \"&\", \"cl\", \"simple.cpp\"]\n", + " if run_cmd(compile_cmd):\n", + " if run_cmd([\"./simple\"]) == \"Hello\":\n", + " my_compiler = [\"Windows\", \"Visual Studio 2019\", [\"cmd\", \"/c\", VISUAL_STUDIO_2019_TOOLS, \"&\", \"cl\", f\"{filename_base}.cpp\"]]\n", + " \n", + " if not my_compiler:\n", + " my_compiler=[my_platform, \"Unavailable\", []]\n", + " \n", + " elif my_platform == \"Linux\":\n", + " if os.path.isfile(\"./simple\"):\n", + " os.remove(\"./simple\")\n", + " compile_cmd = [\"g++\", \"simple.cpp\", \"-o\", \"simple\"]\n", + " if run_cmd(compile_cmd):\n", + " if run_cmd([\"./simple\"]) == \"Hello\":\n", + " my_compiler = [\"Linux\", \"GCC (g++)\", [\"g++\", f\"{filename_base}.cpp\", \"-o\", f\"{filename_base}\" ]]\n", + " \n", + " if not my_compiler:\n", + " if os.path.isfile(\"./simple\"):\n", + " os.remove(\"./simple\")\n", + " compile_cmd = [\"clang++\", \"simple.cpp\", \"-o\", \"simple\"]\n", + " if run_cmd(compile_cmd):\n", + " if run_cmd([\"./simple\"]) == \"Hello\":\n", + " my_compiler = [\"Linux\", \"CLang (Clang++)\", [\"clang++\", f\"{filename_base}.cpp\", \"-o\", f\"{filename_base}\"]]\n", + " \n", + " if not my_compiler:\n", + " my_compiler=[my_platform, \"Unavailable\", []]\n", + " \n", + " elif my_platform == \"Darwin\":\n", + " if os.path.isfile(\"./simple\"):\n", + " os.remove(\"./simple\")\n", + " compile_cmd = [\"gcc\", \"simple.cpp\"]\n", + " if run_cmd(compile_cmd):\n", + " if run_cmd([\"./simple\"]) == \"Hello\":\n", + " my_compiler = [\"Linux\", \"CLang\", [\"clang++\", \"-Ofast\", \"-std=c++17\", \"-march=armv8.5-a\", \"-mtune=apple-m1\", \"-mcpu=apple-m1\", \"-o\", f\"{filename_base}\", f\"{filename_base}.cpp\"]]\n", + " \n", + " if not my_compiler:\n", + " my_compiler=[my_platform, \"Unavailable\", []]\n", + " except:\n", + " my_compiler=[my_platform, \"Unavailable\", []]\n", + " \n", + " if my_compiler:\n", + " return my_compiler\n", + " else:\n", + " return [\"Unknown\", \"Unavailable\", []]\n" + ] + }, { "cell_type": "code", "execution_count": null,