CLion的C/C++作业模板
main.cpp
#include <iostream> #include <chrono> #include <cstdio> #include <string> using namespace std; #define test 1 #include "1.c" void startFun(void (*solve)(void), string t = "ms") { // 将stdin重定向到输入文件 freopen("..\\input.txt", "r", stdin); // 获取当前时间点 auto start = std::chrono::high_resolution_clock::now(); // 程序开始 std::cout << "运行结果:" << std::endl; solve(); // 获取程序执行结束的时间点 auto end = std::chrono::high_resolution_clock::now(); // 计算执行时间(以微秒为单位) if (t == "ms") { auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); // 输出执行时间 std::cout << std::endl << "程序执行时间:" << (double) duration.count() << t << std::endl; } else if (t == "ns") { auto duration = std::chrono::duration_cast<std::chrono::microseconds>(end - start); // 输出执行时间 std::cout << std::endl << "程序执行时间:" << (double) duration.count() << t << std::endl; } fclose(stdin); } int main() { // 使用函数指针进行封装测试 // startFun(s,"ns"); startFun(s); return 0; }
1.c
// // Created by _thinkPad on 2023/10/22. // #include <stdio.h> #include <stdlib.h> void s() { //代码 } #ifndef test int main() { s(); return 0; } #endif
这样子文件除了可以在总项目中运行,也可以单独运行调试了。