gpt4 book ai didi

c++ - 如何在 ubuntu 20.04 中预编译 头文件?

转载 作者:行者123 更新时间:2023-12-04 18:26:45 26 4
gpt4 key购买 nike

有没有办法预编译<bits/stdc++.h> ubuntu 20.04 中的头文件,就像我们可以在 Windows 操作系统中那样,以便我可以在我的 Sublime 文本编辑器中更快地执行程序?
我使用 FastOlympicCoding 扩展来快速执行,但我错过了使用输入输出文件的旧方法。我到处搜索,但没有找到任何“外行”的方法来做到这一点。

最佳答案

创建预编译头的示例:

mkdir -p pch/bits &&
g++ -O3 -std=c++20 -pedantic-errors -o pch/bits/stdc++.h.gch \
/usr/include/c++/11/x86_64-redhat-linux/bits/stdc++.h
检查你得到了什么:
$ file pch/bits/stdc++.h.gch
pch/bits/stdc++.h.gch: GCC precompiled header (version 014) for C++

$ ls -l pch/bits/stdc++.h.gch
-rw-r--r-- 1 ted users 118741428 8 mar 23.27 pch/bits/stdc++.h.gch
使用它的程序:
#include <bits/stdc++.h>

int main() {
std::vector<int> foo{1, 2, 3};
for(auto v : foo) std::cout << v << '\n';
}
编译示例(将 -Ipch 放在 -I 指令的第一个):
$ strace -f g++ -Ipch -O3 -std=c++20 -pedantic-errors -o program program.cpp 2>&1 | grep 'stdc++.h'
[pid 13964] read(3, "#include <bits/stdc++.h>\n\nint ma"..., 122) = 122
[pid 13964] newfstatat(AT_FDCWD, "pch/bits/stdc++.h.gch", {st_mode=S_IFREG|0644, st_size=118741428, ...}, 0) = 0
[pid 13964] openat(AT_FDCWD, "pch/bits/stdc++.h.gch", O_RDONLY|O_NOCTTY) = 4

关于c++ - 如何在 ubuntu 20.04 中预编译 <bits/stdc++.h> 头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71401614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com