Outils pour utilisateurs

Outils du site


prog:cppinsights

Site web

Archive du 11/02/2020 le 16/02/2020

Compilation du code source

cd cppinsights
mkdir build && cd build
cmake ..
make -j9

Analyse de la source

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());
}
prog/cppinsights.txt · Dernière modification : 2020/02/16 23:13 de root