Czy istnieje sposób na wywołanie czegoś podobnego clang-format --style=Webkitdo całego folderu projektu CPP, zamiast uruchamiania go osobno dla każdego pliku? Używam clang-format.pyi vimrobię to, ale zakładam, że istnieje sposób na zastosowanie tego raz.
Rozważam użycie niektórych funkcji C ++ 11 (jak autona przykład) w niektórych projektach wieloplatformowych (Windows + Mac). W systemie Windows Visual Studio obsługuje części nadchodzącego standardu C ++ 11, który pozwoliłby mi uprościć części kodu, więc naturalnie byłbym zainteresowany rozpoczęciem korzystania z tych funkcji. Ale o ile mi wiadomo, obecna …
Po aktualizacji do Catalina z Mojave, Konfiguracja: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk w środowisku. Nie mogę skompilować programu używającego <cmath>nagłówka. Próbowałem zmienić CFLAGS, CCFLAGS, CXXFLAGS, aby wskazywały lokalizację MacOSSDK, która niczego nie zmienia Scanning dependencies of target OgreMain /Applications/Xcode.app/Contents/Developer/usr/bin/make -f OgreMain/CMakeFiles/OgreMain.dir/build.make OgreMain/CMakeFiles/OgreMain.dir/build [ 0%] Building CXX object OgreMain/CMakeFiles/OgreMain.dir/src/OgreASTCCodec.cpp.o cd /Users/roman/Downloads/ogre-1.12.2/build/OgreMain && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOgreMain_EXPORTS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 …
Mam taki kod: #include <vector> #include <utility> int main() { std::vector<bool> vb{true, false}; std::swap(vb[0], vb[1]); } vector<bool>Pomijając argumenty na temat rozsądku , działało to dobrze: Clang dla komputerów Mac Visual Studio dla Windows GCC dla systemu Linux Następnie próbowałem zbudować go za pomocą Clanga w systemie Windows i otrzymałem następujący …
Mój scenariusz jest następujący (działał w clang, ale nie w gcc) liba.hpp: inline int MY_GLOBAL = 0; libother.cpp: (dll) #include "myliba.hpp" void myFunc() { // MYGLOBAL = 28; } someexe.cpp: RunAppThatUsesBothLibAandLibOther(); Problem polega na tym, że zmienna wbudowana pokazywała 0 w miejscach, w których spodziewałem się 28, ponieważ była ona …
Mam mały projekt testowy , który używa OpenMP do równoległości. Moim celem jest skompilowanie go w taki sposób, aby tworzył .dlli .libdla bibliotek (ponieważ mój prawdziwy projekt łączy się z bibliotekami zewnętrznymi dystrybuowanymi przy użyciu tych typów), ze wsparciem dla OpenMP 4.5 lub nowszego i robię to z wiersza poleceń, …
Rozważ ten kod C: void foo(void); long bar(long x) { foo(); return x; } Kiedy kompiluję to na GCC 9.3 z jednym -O3lub -Os, otrzymuję to: bar: push r12 mov r12, rdi call foo mov rax, r12 pop r12 ret Dane wyjściowe z clang są identyczne, z wyjątkiem wyboru rbxzamiast …
Rozważ ten program: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Nie udało się skompilować z msvc v19.24: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to …
Rozważ 2 następujące przeciążenia template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Pierwszy działa dla klas regularnych, a drugi dla szablonów, które nie są tworzone. Na przykład: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 Teraz rozważ następującą funkcję …
Piszę funkcję, w której chciałbym zaakceptować 2 types parametrów. A string(char *) structureGdzie będzie n liczbę elementów. Aby to osiągnąć, myślę o użyciu prostego void *typu parametru. Ale nie wiem, jak w bezpieczny sposób sprawdzić, czy parametr jest jednego rodzaju, czy drugiego.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.