Archive du 11/02/2020 le 16/02/2020
cd cppinsights mkdir build && cd build cmake .. make -j9
Ajouter la génération du compile_commands.json
dans CMake :
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
Affichage du code source du point de vue du compilateur :
./insights source.cpp
Exemple :
int main() { int (*fp)(int, char) = [](int a, char b){ return a+b;}; }
Rendu :
int main() { class __lambda_3_26 { public: inline /*constexpr */ int operator()(int a, char b) const { return a + static_cast<int>(b); } using retType_3_26 = int (*)(int, char); inline /*constexpr */ operator retType_3_26 () const noexcept { return __invoke; } private: static inline int __invoke(int a, char b) { return a + static_cast<int>(b); } } __lambda_3_26{}; using FuncPtr_3 = int (*)(int, char); FuncPtr_3 fp = static_cast<int (*)(int, char)>(__lambda_3_26.operator __lambda_3_26::retType_3_26()); }