LLVM
Kompilacja wtyczek
Wtyczki clang kompilujemy poza dystrybucją LLVM CMake’em, z następującymi instrukcjami:
find_package(LLVM REQUIRED CONFIG)
include_directories(${LLVM_INCLUDE_DIRS})
separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
add_definitions(${LLVM_DEFINITIONS_LIST})
include(AddLLVM)
add_llvm_library(PrintFunctionNames MODULE PrintFunctionNames.cpp PLUGIN_TOOL clang)
Uruchamiamy wtyczkę następująco:
clang++ -fplugin=/home/psacawa/scratch/clang/CallSuperAttribute/build/CallSuperAttr.so -fplugin-arg-call_super_plugin-help main.cpp -o main
Clang
Przełożenie polecenia z gcc
Odpowiednik gcc -Wl,-rpath=.
(tylko jeden argument na raz):
clang main.c -Xlinker -rpath=. -o main
Nieudokumentowane opcje clang
Są to opcje dla samego kompilatora, nie zaś dla /bin/clang++
clang++ -Xclang -fdump-record-layouts main.cpp -o main
clang++ -Xclang -fdump-vtable-layouts main.cpp -o main
Proces kompilacji (zwane potokiem):
clang++ -ccc-print-phases main.cpp
Pokąż AST:
clang -Xclang -ast-dump -fsyntax-only test.cc
FEATURED TAGS
assembly
aws
boostrap
bpftrace
c
c++
clang
cloud
cmake
compilers
cryptography
css
dbus
debian
elf
gcc
gcov
gdb
ghidra
git
glibc
gnu
gpg
gui
http
javascript
jq
kernel
ld.so
linux
llvm
make
nasm
networking
node
npm
opengl
pam
pl
postgres
python
qt
reversing
shell
sql
sqlite
ssh
sudo
sysadmin
systemd
twilio
uftrace
usb
vim
virtualization
winapi
wireshark
www
x86
xml
xpath
zsh