Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

c-cpp-compilersc.cpp 编译器

Agent Skill

c-cpp-compilers 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

196

周安装

8

GitHub Stars

公开资料未说明

下载量

63
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:c-cpp-compilers(c.cpp 编译器)
来源仓库:https://github.com/kaynetik/skills
仓库路径:skills/c-cpp-compilers
安装命令:
npx skills add https://github.com/kaynetik/skills --skill c-cpp-compilers
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/kaynetik/skills --skill c-cpp-compilers

简介

用于编译、分析和优化 C/C++ 代码,提供 GCC 和 Clang 最佳实践指南。

  • 适用于 Codex、Claude、Cursor、Gemini CLI,涵盖诊断、PGO、LTO 和现代特性。
  • 支持静态分析、Sanitizers 和 C++20/23 迁移建议。
  • 安装方式:github,命令为 npx skills add https://github.com/kaynetik/skills --skill c-cpp-compilers。
  • 建议确认编译器版本和项目需求,避免兼容性问题。

SKILL.md

C/C++ Compilers

Guidance for compiling, analyzing, and optimizing C and C++ code with GCC and Clang in 2026.

Reference files

  • GCC specifics: gcc.md -- flags, diagnostics, PGO, LTO, error triage
  • Clang specifics: clang.md -- diagnostics, optimization remarks, clang-tidy, macOS
  • Sanitizers: sanitizers.md -- ASan, UBSan, TSan, MSan, LSan decision tree and reports
  • Static analysis: static-analysis.md -- clang-tidy, cppcheck, scan-build, CI integration
  • Modern C/C++: modern-cpp.md -- C++20 modules, C++23/26 features, C23, migration

Standards baseline (2026)

LanguagePreferred standardGCC supportClang support
C-std=c23 (or -std=c17 for broad compat)GCC 15+Clang 18+
C++-std=c++23 (or -std=c++20 minimum)GCC 14+Clang 18+

Always pass the standard flag explicitly. Never rely on compiler defaults.

Build modes

GoalFlags
Debug-g -O0 -Wall -Wextra -Wpedantic
Debug (GDB-friendly optimized)-g -Og -Wall -Wextra
Release-O2 -DNDEBUG -Wall
Release (max throughput, native)-O3 -march=native -DNDEBUG -flto
Release (min binary size)-Os -DNDEBUG (Clang: -Oz)
Sanitizer build-g -O1 -fsanitize=address,undefined -fno-omit-frame-pointer

Warning discipline

Start with -Wall -Wextra -Wpedantic. Add -Werror in CI.

Suppress narrow scopes only:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
void callback(int ctx, int unused) { (void)ctx; }
#pragma GCC diagnostic pop

Clang equivalent works the same. For project-wide suppression, prefer .clang-tidy config or -Wno-<flag> in build system, not in source.

Optimization decision tree

Need max throughput on known hardware?
  yes -> -O3 -march=native -flto
  no  -> Have profiling data?
           yes -> -O2 -fprofile-use (GCC) / -fprofile-instr-use (Clang)
           no  -> -O2

Size-constrained (embedded, shared lib)?
  yes -> -Os (GCC/Clang) or -Oz (Clang only)

Numerical code that tolerates IEEE relaxation?
  yes -> -Ofast (enables -ffast-math; breaks NaN/inf handling)
  no  -> stay with -O2/-O3

-O3 vs -O2: -O3 adds aggressive loop transforms and wider inlining. Benchmark before committing -- i-cache pressure can cause regressions.

LTO

# GCC
gcc -O2 -flto=auto -c foo.c bar.c
gcc -O2 -flto=auto foo.o bar.o -o prog

# Clang (ThinLTO preferred for large projects)
clang -O2 -flto=thin -fuse-ld=lld -c foo.c bar.c
clang -O2 -flto=thin -fuse-ld=lld foo.o bar.o -o prog

Use gcc-ar / gcc-ranlib for GCC LTO archives. Clang ThinLTO links 5-10x faster than full LTO with comparable code quality.

PGO (profile-guided optimization)

GCC:

gcc -O2 -fprofile-generate prog.c -o prog_inst
./prog_inst < workload.input
gcc -O2 -fprofile-use -fprofile-correction prog.c -o prog

Clang (LLVM instrumentation):

clang -O2 -fprofile-instr-generate prog.c -o prog_inst
./prog_inst < workload.input
llvm-profdata merge -output=prog.profdata default.profraw
clang -O2 -fprofile-instr-use=prog.profdata prog.c -o prog

Sanitizer quick reference

Bug classSanitizerFlag
Heap/stack/global OOB, use-after-free, double-freeASan-fsanitize=address
Signed overflow, null deref, bad shift, misaligned accessUBSan-fsanitize=undefined
Data racesTSan-fsanitize=thread
Uninitialised reads (Clang only, all-instrumented build)MSan-fsanitize=memory
Memory leaksLSanvia ASan (detect_leaks=1) or standalone

Common combo: -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer -g -O1

TSan and MSan are mutually exclusive with ASan. See sanitizers.md for report interpretation.

Static analysis (quick start)

# Generate compilation database
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

# Run clang-tidy (recommended checks)
clang-tidy -checks='bugprone-*,clang-analyzer-*,performance-*,modernize-*' \
  -p build src/foo.cpp

# Run cppcheck
cppcheck --enable=warning,performance,portability --error-exitcode=1 src/

See static-analysis.md for .clang-tidy config, CI integration, and suppression patterns.

Common error triage

SymptomLikely causeFix
undefined reference to 'foo'Missing -lfoo or wrong link orderLibraries after objects: gcc main.o -lfoo
multiple definition of 'x'Defined in header without static/inlineextern in header, define in one .c
implicit declaration of functionMissing #include or wrong standardAdd the header; check -std=
incompatible pointer typesWrong cast or missing prototypeFix type; enable -Wall
ABI errors in C++Mixed -std= or different libstdc++Unify standard across all TUs
relocation truncated32-bit relocation overflow-mcmodel=large or restructure

CMake integration

cmake_minimum_required(VERSION 3.28)
project(myproject LANGUAGES C CXX)

set(CMAKE_C_STANDARD 23)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

option(SANITIZE "Build with ASan+UBSan" OFF)
if(SANITIZE)
    set(san_flags -fsanitize=address,undefined -fno-sanitize-recover=all
                  -fno-omit-frame-pointer -g -O1)
    add_compile_options(${san_flags})
    add_link_options(${san_flags})
endif()

Useful one-liners

# Show all optimizations enabled at -O2 (GCC)
gcc -Q --help=optimizers -O2 | grep enabled

# Assembly output (Intel syntax)
gcc -S -masm=intel -O2 foo.c -o foo.s

# Preprocess and dump macros
gcc -dM -E - < /dev/null

# Clang optimization remarks (missed vectorization)
clang -O2 -Rpass-missed=loop-vectorize src.c

# Clang save all remarks to YAML
clang -O2 -fsave-optimization-record src.c

# Show include search path
gcc -v -E - < /dev/null 2>&1 | grep -A20 '#include <...>'

Compiler-specific details

For GCC-specific flags, PGO nuances, and error patterns, see gcc.md. For Clang diagnostics, optimization remarks, macOS toolchain, and clang-tidy, see clang.md. For C++20 modules, C++23/26, and C23 features, see modern-cpp.md.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.91%
按下载量换算21

Claude

34.05%
按下载量换算21

Cursor

18.68%
按下载量换算12

Gemini CLI

9.81%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills